Hallo liebe Community,
Ich würde gerne per gpiozero.Button mit dem Befehl button.when_pressed mehrere Ausgänge gleichzeitig schalten. Leider funktioniert keine meiner getesteten Ansätze und ich finde auch kein Beispiel dazu, weder in der Dokumentation von gpiozero oder sonst wo im Internet.
Ich habe mittlerweile Versucht:
Eine simple "and" Verküpfung (wie aktuell im Code) -> dies führt dazu, dass nur der zweite Befehl ausgeführt wird.
Ich habe versucht beide Ausgänge in einer Funktion zu vereinen und die Funktion zu schalten -> bei dieser Version wird keiner der beiden Ausgänge geschalten.
Und dann habe ich noch versucht mit zusätzlichen if button.is_pressed: schleifen zu arbeiten -> dies führt je nach dem auch dazu, dass nur der letztgenannte oder keiner der Ausgänge geschalten wird.
Hätte wer hierzu eine Idee? (Hab mal meine Ansätze auskommentiert im Code gelassen)
#
import signal
import gpiozero
#
LED_1 = gpiozero.LED(14) # Status indicator LED
LED_2 = gpiozero.LED(15) # Status indicator LED
#
# DC1 Pinout
DC1 = gpiozero.Motor(forward=5, backward=6)
INPUT_UP_1 = gpiozero.Button(7, pull_up=False)
INPUT_DOWN_1 = gpiozero.Button(8, pull_up=False)
#
print('Initialization Completed')
#
# def up1():
# DC1.forward
# LED_1.on
# return
# -----------------------------------------------------------------------#
if __name__ == '__main__':
#
# Control DC1
INPUT_UP_1.when_pressed = DC1.forward and LED_1.on
#
# INPUT_UP_1.when_pressed = up1
# #
# if INPUT_UP_1.is_pressed:
# DC1.forward
# LED_1.on
# up1
#
INPUT_UP_1.when_released = DC1.stop and LED_1.off
#
INPUT_DOWN_1.when_pressed = DC1.backward and LED_2.on
#
INPUT_DOWN_1.when_released = DC1.stop and LED_2.off
#
signal.pause()
#
Alles anzeigen