Ich möchte per pir.MotionSensor Relais schalten. Das funktioniert auch mit diesem Code:
#!/usr/bin/python3
from gpiozero import MotionSensor
from gpiozero import LEDBarGraph
from time import sleep
schalteins = LEDBarGraph (21, 20)
schaltzwei = LEDBarGraph (16, 12)
pir = MotionSensor(4)
def bewegung():
schalteins.value = 1
schaltzwei.value = 1
def stille():
schaltzwei.value = 0
sleep(0.3)
schalteins.value = 0
while True:
if pir.motion_detected:
bewegung()
else:
stille()
Alles anzeigen
Jetzt wäre es toll, wenn die Relais eine zeitlang anblieben, und wenn keine motion mehr detected wird, kann er die Relais ausschalten, aber wenn jemand im Raum ist, und sich hier und dahin bewegt, sollen sie angehen und die ganze Zeit anbleiben. Dafür müsste man einen Timer so einstellen können, dass der bei erneuter Motion Vor Ablauf der Zeit eben Retriggert, und die Zeit zurücksetzt?
Wie erstelle ich einen in meinen Augen doch sehr alltäglichen Bewegungsmelder?
Meine If/while usw-Schleifen funzen nicht, ich finde keine gute Übersicht für meine Problemlage, und nach einem durchlöteten und durchprogrammierten Wochenende find ich, darf ich hier noch einmal fragen. Auch wer mir die richtigen Suchbegriffe verrät, ist gern gesehen. Dankeeeee!
Bambo