Hallo,
folgender Code ist das original-Beispiel "presslights.py" vom piFace:
Code
import pifacedigitalio
def switch_pressed(event):
event.chip.output_pins[event.pin_num].turn_on()
def switch_unpressed(event):
event.chip.output_pins[event.pin_num].turn_off()
if __name__ == "__main__":
pifacedigital = pifacedigitalio.PiFaceDigital()
listener = pifacedigitalio.InputEventListener(chip=pifacedigital)
for i in range(4):
listener.register(i, pifacedigitalio.IODIR_ON, switch_pressed)
listener.register(i, pifacedigitalio.IODIR_OFF, switch_unpressed)
listener.activate()
Alles anzeigen
An diesem Beispiel habe ich mich grundlegend orientiert um Eingänge abzufragen... funktioniert im Prinzip.
Leider, und das ist selbst bei diesem Beispiel so, kann es vorkommen dass Eingänge auf HIGH/aktiv bleiben obwohl man z.B. die Taster losgelassen hat - hab's eben selbst nochmal probiert weil ich dachte mein Programm ist falsch.
Es ist auch irrelevant ob man schnell drückt oder langsam/die Tasten etwas gedrückt hält. Auch ein anderes piFace weist die gleiche Problematik auf sodass ich erstmal Hardwarefehler ausschließen würde.
Kennt jemand einen Workaround um sicherzustellen dass die Eingänge korrekt erfasst werden?