ivy
New member
YF-S201 построен на датчике холла с магнитиком. В принципе, этот код может быть использован и для потока газа, измерения скорости ветра, и другой движухи
Когда движухи нет, ничего не печатается. Когда есть расход - печатается. Можно считать и по минутам, часам, и т.д. Это просто рабочая заготовка.
Код:
-- Water flow meter YF-S201
-- 8.2 Hz per 1 l/min
-- 8.2 Up/Down triggers in 1 sec => 10 ticks in 1220 msec
pin=5 -- GPIO 14
TICKS = 10
TIMEOUT = 1220 * 1000 -- usec
in_int=false
counter = 0
liters = 0
function tick(level)
if in_int then return end -- don't interrupt the interrupt
in_int = true
counter = counter + 1
if counter == TICKS then
liters = liters + 1
counter = 0
end
in_int = false
end
gpio.mode(pin, gpio.INT, gpio.PULLUP)
gpio.trig(pin, 'down', tick)
t = tmr.now()
tmr.alarm(0, 1000, 1, function()
t1 = tmr.now()
if t1-t >= TIMEOUT then
t=t1
if liters > 0 then
print("Spent "..liters.." liters in past 1.2 seconds.")
liters = 0
end
end
end)