Guten Abend liebe RPi-Freunde,
ich habe derzeit den Ultrasonic Ultraschallsensor im Einsatz, welcher im derzeitigen Projekt eine wichtige Entfernungsmessung macht, welche zuverlässig laufen soll.
Es kommt sporadisch vor, dass folgendes Beispielscript in der Ausführung hängen bleibt im Bereich der Messung.
Es wird dann noch der print "Starte Messung.." Befehl ausgeführt, ansonsten nichts wiedergegeben.
Kann man (generell gefragt) ein Python-Script verlassen wenn es nicht durchläuft/stoppt und hängen bleibt?
Ich konnte bisher im Netz nichts zu diesem Problem finden, ich schließe aus dass es am Sensor liegt, denn diesen tauschte ich bereits gegen einen anderen aus zu Testzwecken.
Vielen könnt ihr mir helfen
Schönen Abend an alle
opc
Hier der Testcode:
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
Trig = 18
Echo = 15
LED = 16
GPIO.setup(Trig, GPIO.OUT)
GPIO.setup(Echo, GPIO.IN)
GPIO.setup(LED, GPIO.OUT)
def messung():
GPIO.output(Trig, 0)
time.sleep (0.1)
print ""
print "Starte Messung..."
GPIO.output(Trig, 1)
time.sleep(0.00001)
GPIO.output(Trig, 0)
start = time.time()
while GPIO.input(Echo) == 0:
pass
start = time.time()
while GPIO.input(Echo) == 1:
pass
stop = time.time()
distanz = (stop - start)*34000/2
print round(distanz, 2), "cm"
return distanz
try:
while True:
if messung() < 20:
GPIO.output(LED, 1)
time.sleep(2)
else:
GPIO.output(LED, 0)
time.sleep(2)
except KeyboardInterrupt:
GPIO.cleanup()
print "Abbruch durch Benutzer - GPIO Reset-> DONE"
Alles anzeigen