• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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
Как успехи? Модуль работает? Пожелания - сделайте,пожалуйста модуль на два счетчика.
 
Сверху Снизу