2 LEDs + HC-SR04 Ultraschall Sensor

  • Hallo,

    Ich bin momentan mit einem Projekt beschäftigt, bei dem der HC-SR04 als Bewegungsmelder dienen soll. Ich hab in meinem Code einen bestimmten Bereich festgelegt, der frei sein muss, damit eine grüne LED leuchtet. Wenn sich ein Objekt im Messbereich befindet, leuchtet eine rote LED auf. Wenn ich nun aber das Script beenden möchte, bleibt immer eine der beiden LEDs an. Ich bräuchte nun also Hilfe dabei, einen Weg zu finden, wie ich den Script ausschalten kann, damit beide LED's aus sind.


    Hier kein großes Problem, in anderen Foren dennoch häufig. Kleine Gedächtnisstütze : seitseid.de

    Edited 2 times, last by Feinberg ().

  • Bitte den Codeblock in den dafür vorgesehen Code "Tag" packen:

    <pre> Hier steht den Code</pre>


    Erstell eine Funktion, die du beim Beenden des Skriptes aufrufst, welche die LED Ausgänge ausschalten.

    Außerdem fehlt GPIO.cleanup() bei der Beendigung des Skriptes

    Muss ich die Funktion außerhalb der while Schleife erstellen?

    Hier kein großes Problem, in anderen Foren dennoch häufig. Kleine Gedächtnisstütze : seitseid.de

  • Python
    1. def foo():
    2. #led ausschalten
    3. try:
    4. while True:
    5. #Dein Programm
    6. execpt KeyboardInterrupt:
    7. print("Von Benutzer beendet")
    8. finally:
    9. foo()
    10. GPIO.cleanup()

    Hab den Code so übernommen, mein Programm und den Code für LED ausschalten eingefügt. Nun funktioniert der Bewegungsmelder nicht mehr.

    Hier kein großes Problem, in anderen Foren dennoch häufig. Kleine Gedächtnisstütze : seitseid.de

  • Hab den Code so übernommen, mein Programm und den Code für LED ausschalten eingefügt. Nun funktioniert der Bewegungsmelder nicht mehr.

    Ok mein Fehler. Funktioniert einwandfrei. Vielen Dank für die Hilfe!!!

    Hier kein großes Problem, in anderen Foren dennoch häufig. Kleine Gedächtnisstütze : seitseid.de

  • Wo lag dann jetzt endgültig das Problem?

    Vielleicht kannst du deinen Code Posten. Das kann sicher anderen Usern auch helfen!

    Ich war anscheinend zu doof den Code richtig einzufügen. Ich poste ihn gleich.

    Hier kein großes Problem, in anderen Foren dennoch häufig. Kleine Gedächtnisstütze : seitseid.de

  • Hier kein großes Problem, in anderen Foren dennoch häufig. Kleine Gedächtnisstütze : seitseid.de

  • Fast ;)


    foo vielleicht noch umbenennen, ist eigentlich ein Dummyname

    Python
    1. TRIG = 23
    2. ECHO = 24
    3. GPIO.setmode(GPIO.BCM)
    4. GPIO.setwarnings(False)
    5. GPIO.setup(TRIG, GPIO.OUT)
    6. GPIO.setup(ECHO, GPIO.IN)

    Mach das auf jeden Fall aus der Schleife raus, am besten direkt nach den imports vor das erste print. Dass auf Modulebene nur Imports, Konstanten, Klassen und Funktionen stehen zu haben, ignorieren wir mal...


    LG

  • Habe nun die Funktion eingebaut, dass der Nutzer einen Messbereich in cm angeben kann. "foo" habe ich schlichtweg in "off" umbenannt. Linus Danke für den Tipp. Unglaublicherweise versteh ich sogar was du meintest ^^ Schönen Tag :)

    Hier kein großes Problem, in anderen Foren dennoch häufig. Kleine Gedächtnisstütze : seitseid.de

    Edited once, last by Feinberg ().