2 LEDs + HC-SR04 Ultraschall Sensor

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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

    2 Mal editiert, zuletzt von Feinberg (4. Oktober 2017 um 10:00)

  • 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

  • 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
    def foo():
      #led ausschalten
    try:
      while True:
        #Dein Programm
    execpt KeyboardInterrupt:
      print("Von Benutzer beendet")
    finally:
      foo()
      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
    TRIG = 23
    ECHO = 24
    
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
    GPIO.setup(TRIG, GPIO.OUT)
    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

    Einmal editiert, zuletzt von Feinberg (5. Oktober 2017 um 08:28)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!