Hallo,
aufgrund des wiederholten anratens mehrerer User hier im Forum, beschäftige ich mich jetzt doch einmal mit dem gpiozero Modul (anstatt RPi.GPIO).
Der heutige Tag dient dazu, einfach mal die in der Dokumentation vorgestellten Funktionen für Button selbst auf dem Schreibtisch mittels Breadboard Taster und print Ausgabe zu probieren.
Jetzt bin ich dabei auf die Funktion gestoßen, in der man eine Zeit hinterlegen kann, wie lange ein Taster gedrückt sein muss, bis die gewünschte Funktion augerufen wird. (Funktioniert auch soweit alles)
import gpiozero
import signal
button = gpiozero.Button(26, hold_time=3)
def foo():
print("Taster gedrückt")
button.when_held = foo
signal.pause()
Jetzt kam mir die Idee, ob es eine Möglichkeit gibt, verschiedene Zeiten zu hinterlegen und je nachdem wie lange der Taster gedrückt wurde, die entsprechend gewünschte Funktion aufrufen.
Die Möglichkeit selbst die Zeit zu messen wann gedrückt und wann wieder losgelassen wurde ist mir bewusst. Mir gehts eher darum, ob sowas von gpiozero auch zur Verfügung gestellt wird. Wenn ja, ich konnte es bisher noch nicht finden
EDIT:
def foo():
print("Taster lange gedrückt")
def foo2():
print("Taster kurz gedrückt")
button.when_held = foo
button.when_pressed = foo2
signal.pause()
So würde ich zumindest schon 2 Funktionen schaffen, wobei ich damit auch noch nicht zufrieden bin, da auch bei einem langen Tastendruck zuerst foo2 augerufen wird