Hallo zusammen,
seit einigen Tagen habe ich einen Raspberry Pi 3 und versuche mich in der Programmierung mit Python3. Die Home-Automatisation plane ich erst einmal in einer "Experimentier-Umgebung" (kleine Taster und LEDs), bevor es an die Umsetzung geht. Ich habe direkt 2 Probleme.
- Wird hier ein Taster gedrückt und festgehalten, blinkt die LED, weil die Schleife ja weiter läuft. Wie mache ich das, damit ein Tastendruck immer nur ein einziges mal erkannt wird, für den Fall, das der Taster lange gedrückt bleibt? (Weiteres Problem: Das Licht soll automatisch nach x Sekunden wieder aus gehen, wenn es keiner per Taster aus macht)
- Die Bewegung soll durch einen Bewegungsmelder erfasst werden. Das Licht soll dann nach x Sekunden wieder aus gehen. Das kann ich meiner Meinung nach in der Schleife nicht realisieren und bräuchte für diesen Fall ein weiteres Skript ohne Schleife, welches parallel zu dem Skript mit der Schleife für die Taster läuft.
Ist der Ansatz der Steuerung richtig bzw. sinnvoll? Gibt es Verbesserungsvorschläge? Ich bin um jeden Rat dankbar
Code
while True:
# Taster
if(GPIO.input(6) == GPIO.HIGH) or (GPIO.input(12) == GPIO.HIGH):
# Licht ein und aus
if(GPIO.input(24) == GPIO.LOW):
GPIO.output(24, GPIO.HIGH)
else:
GPIO.output(24, GPIO.LOW)
# Bewegung erfasst
if(GPIO.input(13) == GPIO.HIGH):
GPIO.output(10, GPIO.HIGH)
Alles anzeigen
Vielen Dank schon einmal im Voraus!
Mfg berryfox