• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом YF-S201 - счетчик потока жидкости

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)
Когда движухи нет, ничего не печатается. Когда есть расход - печатается. Можно считать и по минутам, часам, и т.д. Это просто рабочая заготовка.
 

georg

New member
Как успехи? Модуль работает? Пожелания - сделайте,пожалуйста модуль на два счетчика.
 
Сверху Снизу