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

Результаты поиска

  1. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Попробовал в лоб описать то, что написал выше, в принципе глобально ничего не поменяло в показаниях, ну и с точки зрения программеров наверное смешной код, но все же выложу. И так как Tl+Th все теже 998, в формуле подсчета CO2 попробовал учесть эти две еденички. Ну и Китайцы такие Китайцы, в...
  2. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    По мне так тоже не правильно, если я все правильно понимаю, то tt это аптайм esp, по даташиту на датчик, у него с начало на выходе 0(что в принципе логично), потом 1, и если считать как ниже, то h будет равно аптайму до перехода с 0 в 1, а это начало импульса., а h это время от перехода с 0 в 1(...
  3. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    local pin, h, l, co2, TRIGGER_ON = 1, 0, 0, 0, "both" local function mh19Begin(level) local tt = tmr.now()/1000; if level == 1 then print("tt", tt) print("h", h) print("l", l) print("h+l", h+l) print("l-h", l-h) print("tt-h", tt-h) co2 = 5000 * (l-h- 2)...
  4. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    local pin, h, l, co2, TRIGGER_ON = 1, 0, 0, 0, "both" local function mh19Begin(level) local tt = tmr.now()/1000; if level == 1 then co2 = 5000 * (l-h- 2) / (tt-h - 4); h=tt; print("co2", co2) else l = tt; print("tt", tt) print("h", h) print("l", l)...
  5. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    По моей логике, и смотря в дата шит, надо все таки мониторить когда level ==0 и тогда в этот момент время будт равно Th, а else время перехода в 1 минус Th и будет равно Tl.
  6. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    local pin, h, l, co2, TRIGGER_ON, calculateCo2Ppm, tt = 1, 0, 0, 0, "both", 0, 0 local function calculateCo2Ppm(h, l) return 5000 * (l - h - 2) / (tt - h - 4); end local function mh19Begin(level,tt) if level == 1 then co2 = calculateCo2Ppm(h, l) print("co2", co2) h = tt...
  7. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Вот результат для этого варианта:
  8. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    local function mh19Begin(level) local tt = tmr.now()/1000; if level == 1 then co2 = 5000 * (tt-l- 2) / (tt-h - 4); h=tt; print("co2", co2) else l = tt; end end да вроде ничего не изменилось, это если сравнивать предыдущий пост и последний)
  9. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Перешел на Float. Как перейти н расчет от начала импульса пока не придумал.
  10. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Датчик вот такой : Это тот же MH-Z19B только с диапазоном от 0 до 5000. Из названия лота видно что они бывают 2000, 5000, 10 000. На моем наклеено 0-5000. Документация думаю вряд ли отличается от этой, кроме того что надо поменять 2000 на 5000, . Открыл окно прошло минут 15: Вот для проверки...
  11. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Вот так получилось вроде получить стабильные значения и без минусов, только вот показания не радуют, если они соответствуют действительности. local pin, h, l, co2, TRIGGER_ON, th, tl, calculateCo2Ppm = 1, 0, 0, 0, "both", 0, 0, 0 local function calculateCo2Ppm(th, tl) return 5000 * (th - 2) /...
  12. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Попробую перепрошить с FLOAT. Но вот тут явно с INTEGER, и вроде все работает. popstas/nodemcu-co2-temp-hum-grafana Вот вы выше писали : co2 = 2000.*(TH-2000)/(THL-4000) Вот в моем варианте: co2 = 5000 * (highDuration-2000) / (lowDuration - 4000) я вижу разницу только в том что в моем нет...
  13. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    local pin, highDuration, lowDuration, co2, TRIGGER_ON, lastTimestamp, calculateCo2Ppm = 1, 0, 0, 0, "both", 0, 0 -- local function calculateCo2Ppm(highDuration, lowDuration) -- return 5000 * (highDuration - 2) / (highDuration + lowDuration - 4); -- end local function mh19Begin(level...
  14. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Поправил вот так : local pin, highDuration, lowDuration, co2, TRIGGER_ON, lastTimestamp, calculateCo2Ppm = 1, 0, 0, 0, "both", 0, 0 -- local function calculateCo2Ppm(highDuration, lowDuration) -- return 5000 * (highDuration - 2) / (highDuration + lowDuration - 4); -- end local...
  15. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    local pin, highDuration, lowDuration, co2, TRIGGER_ON, lastTimestamp, calculateCo2Ppm = 3, 0, 0, 0, "both", 0, 0 local function calculateCo2Ppm(highDuration, lowDuration) return 5000 * (1002 * highDuration - 2 * lowDuration) / 1000 / (highDuration + lowDuration); end local function...
  16. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Так без lowDuration CO2 не посчитается.
  17. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Вот такой ответ. Через некоторое время вот так, но это я так понимаю надо датчику некоторое время чтоб показания устаканились. Пока поправил скрипт вот так : local pin, highDuration, lowDuration, co2, TRIGGER_ON, lastTimestamp, calculateCo2Ppm = 3, 0, 0, 0, "both", 0, 0 local function...
  18. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    в конце самом скриптика gpio.mode(pin,gpio.INT) gpio.trig(pin, TRIGGER_ON, mh19Begin)
  19. S

    Нужна помощь ESP8266 CH340 NodeMcu V3 Lua+MH-Z19B подключение по PWM.

    Если я вас правильно понял, то в скрипте который выше выкладывал, функция mh19Begin, которая дергается когда изменяется уровень на пине, ну и принтом, уровень и время.
Сверху Снизу