Hallo zusammen,
ich habe mir einen Waterflowsensor gekauft. damit möchte ich die Durchflußmenge meines Aquarienfilters berechnen.
Nach einigem hin und her habe ich den Sensor mit dem PI verbunden und ein Python Script gefunden, welches mir die Anzahl der Impulse anzeigt.
Nun habe ich das Problem, dass ich nicht die Literzahl pro minute / Stunde angezeigt bekomme, sondern nur die empfangenen Impulse. Laut der WikiPage wird die Lizerzahl mit folgender Formel berechnet:
Mein Script sieht nun so aus:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time, sys
FLOW_SENSOR = 23
GPIO.setmode(GPIO.BCM)
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
global count
count = 0
def countPulse(channel):
global count
count = count+1
print count
GPIO.add_event_detect(FLOW_SENSOR, GPIO.RISING, callback=countPulse)
while True:
try:
time.sleep(1)
except KeyboardInterrupt:
print '\ncaught keyboard interrupt!, bye'
GPIO.cleanup()
sys.exit()
Alles anzeigen
Was ich nun bräuchte und es nicht auf die Reihe bekomme, ist eine Whileschleife, in der der Wert aus Count
1 Sekunde lang gemessen und dann mit der Formel
berechnet wird.
Dann sollen 10 Sekunden Pause folgen und der ganze Vorgang soll 3 x wiederholt werden.
Danach soll ein Duchschnittswert aus den 3 berechneten Literangaben in eine Datenbank geschieben (Das bekomme ich selber hin...)
Danach soll das Script beendet werden.
Ich habe also das Problem, dass ich die While Schleife nicht auf die Reihe bekomme.
Danke für eure Vorschläge!!
LG Markus (CCED)