ich beschäftige mich seit kurzem mit Python.
Aktuell versuche ich eine Fotobox zu erstellen, jedoch habe ich aktuell folgendes Problem.
Ich habe eine Funktion, die mithilfe eines Tasters (GPIO Input) angesteuert werden soll.
Wird der Taster gedrückt (Status 1) soll die Funktion ausgelöst werden, sobald ich den Taster nochmals drücke, soll die Funktion erneut ausgeführt werden.
Ich habe folgenden Code geschrieben, jedoch habe ich das Problem, dass der Taster nur reagiert beim Starten der Applikation (weil ich keine kontinuierliche Abfrage des Tasters durchführe).
Natürlich habe ich schon viele verschiedene Optionen versucht, leider habe ich aber nie das gewünschte Ergebnis erhalten.
Somit meine Frage, wie kann ich ereignisbasiert eine Funktion abrufen, ohne dass das Script beendet wird?
Hier eine abgespeckte Version meines Codes:
Code: Alles auswählen
import RPi.GPIO as GPIO
import time
switchPhoto = 36
GPIO.setmode(GPIO.BOARD)
GPIO.setup(switchPhoto, GPIO.IN)
switchPhotoStatus = GPIO.input(switchPhoto)
print(switchPhotoStatus)
def createSnapshot ():
""" Function doc """
if switchPhotoStatus == 1:
return print("Funktion wird angesteuert")
#Dieser Funktionsaufruf soll bei Wertänderung des switchPhotoStatus auf 1 ausgelöst werden
createSnapshot()