Raspberry Pi - GPIO-Ereignisse in Python

Ich bin mit den GPIO-pins meines Raspberry Pi mit einem PIR-sensor zur Bewegungserkennung. Wenn der sensor Bewegung erkennt, will ich dann die software auf andere Funktionen.

Im moment, die Bewegung zu erfassen, ich habe mein Programm ständig läuft in einer Schleife, während er wartet für die Bewegung erkannt werden. Das funktioniert zwar im moment, für den Einsatz in der Zukunft wird dies unglaublich ineffizient und bin der Hoffnung, zu verbessern, indem die Zuordnung zu einem Ereignis.

Gibt es eine Möglichkeit, zu binden meine GPIO-Eingang auf ein Ereignis, das vom Programm erkannt, ohne manuelles ausführen einer Schleife.

Hier ist meine derzeitige Schleife für die Erkennung Bewegung:

var = 1
counter = 0
while var == 1:
    if GPIO.input(7):
        counter += 1
        time.sleep(0.5)
    else:
        counter = 0
        time.sleep(1)

    if counter >= 3:
        print "Movement!"
        captureImage()
        time.sleep(20)

Den Zähler und die Erkennung von Bewegung mehrere Male verwendet wird, reduzieren Sie die Anzahl der false positives, die der sensor aufnimmt.

InformationsquelleAutor der Frage Stefoth | 2013-04-22

Schreibe einen Kommentar