Com 2 sensores de toque (é o que tenho neste momento) e um motor ocorreu-me um elevador automático, capaz de desligar ou reverter o motor cada vez que a cabina atinja um dos extremos do percurso:
O elevador em si não é muito diferente do de elevador de Linda Hamilton e a ideia da sua utilização com um Raspberry Pi e um PiFace Digital também não é original (Reinoud de Lange recorreu a microswitches em vez de sensores LEGO).
O código (um loop infinito que desloca a cabina para cima e para baixo)
#!/usr/bin/python3 import sys from time import sleep import pifacedigitalio pifacedigital = pifacedigitalio.PiFaceDigital() led7=pifacedigital.leds[7] led6=pifacedigital.leds[6] led7.turn_off() led6.turn_off() in0=pifacedigital.input_pins[0] in1=pifacedigital.input_pins[1] subir=True sleep(2.0) while(True): if(in1.value != 0): print("EM BAIXO!") led6.turn_on() sleep(0.025) led6.turn_off() subir=True if(in0.value != 0): print("NO ALTO!") led7.turn_on() sleep(0.025) led7.turn_off() subir=False if((in0.value ==0) and (in1.value ==0)): if (subir): print("PARA CIMA!") led6.turn_on() sleep(0.025) led6.turn_off() else: print("PARA BAIXO!") led7.turn_on() sleep(0.025) led7.turn_off()
Alguns pormenores da montagem: