Hallo
Ich möchte die Anzahl von Impulse / pro Zeiteinheit auf Anfrage messen.
Mit dem beiliegenden Code funktioniert das zwar, jedoch durch das Warten auf die fallende[/code] Flanke hängt das Skript, bis jemand den Wasserhahn aufdreht.
Gibt es eine Möglichkeit die Impulse je Minute zu messen?
Wenn Hahn zu und die Abfrage gestartet wurde sollte eben keine Impulse gezählt werden, aber das Skript sollte dennoch beendet werden.
Weiß jemand eine Lösung?
Python
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import os
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
#setzen des GPIO 18 auf HIGH
GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_UP)
StopTime=time.time()
StartTime=time.time()
a=0
while a<100:
if StopTime - StartTime <1:
GPIO.wait_for_edge(12, GPIO.FALLING)
a=a+1
StopTime=time.time()
else:
print 'Durchflußmenge: ', a, 'l/min.'
a=0
StartTime=time.time()
print 'fertig!'
Alles anzeigen