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:




