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.
Code
import RPi.GPIO as GPIO #GPIO importieren#
import time #Zeit „Plugin" importieren. Leuchtzeit der LED wird so gesteuert#
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
TRIG = 23 #Input PIN#
ECHO = 24 #Output PIN#
ob_im_weg = 0 #Objekt im Weg wird mit 0 definiert#
while ob_im_weg == 0: #Dauerschleife wird erstellt. ob_im_weg bleibt immer 0#
GPIO.setup(TRIG, GPIO.OUT) #TRIG wird als GPIO Output definiert#
GPIO.setup(ECHO, GPIO.IN) #ECHO wird als GPIO Input definiert#
GPIO.output(TRIG, True) #TRIG wird aktiviert#
time.sleep(0.00001) #10 Mikrosekunden Pause. Mindestzeit zum Aktivieren des Sensors#
GPIO.output(TRIG, False) #TRIG wird deaktiviert. Schall wurde abgesendet#
while GPIO.input(ECHO) == 0: #Zeitmessung wird gestartet#
pulse_start = time.time()
while GPIO.input(ECHO) == 1: #Zeitmessung wird gestoppt. Schall ist zurückgekommen#
pulse_end = time.time()
pulse_duration = pulse_end – pulse_start #Dauer des Impulses wird berechnet#
distance = pulse_duration * 17150 #Reisezeit * die Hälfte der Schallgeschwindigkeit #
distance = round(distance,2) #distance wird auf 2 Nachkommastellen gerundet#
if distance <= 50: #Kriterium für distance wird festgelegt. Kann beliebig geändert werden#
GPIO.setmode(GPIO.BCM) #PINS werden mit BCM festgelegt#
GPIO.setwarnings(False) #Warnungen werden ausgeschaltet#
GPIO.setup(17, GPIO.OUT) #GPIO PIN 17 wird als Output für die LED festgelegt#
GPIO.output(17, GPIO.LOW) #Output für PIN 17 wird zu „LOW" bzw. aus#
time.sleep(1) #Skript pausiert für eine Sekunde. LED leuchtet.#
GPIO.output(17, GPIO.HIGH) #Output für PIN wird auf „High" bzw. an gestellt#
else: #Wenn die Distanz über 50cm ist, bleibt die grüne LED an#
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(27, GPIO.OUT) #Output für Grüne LED wird auf PIN 27 gelegt#
GPIO.output(27, GPIO.LOW) #Grüne LED leuchtet, wenn kein Objekt im Bereich#
Display More