MH-Z19b

Пользовательский блок для датчика CO2 типа MH-Z19b c изменением периода опроса, отключением автоматической калибровки. Адаптирован для работы с контроллерами ESP8266.

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
rogekam
Рядовой
Сообщения: 77
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

MH-Z19b

#1

Сообщение rogekam » 02.08.2020{, 15:09}

Создавая проект на датчике MH-Z19b и ESP8266 viewtopic.php?f=137&t=6601&sid=8325bcf6 ... 467f4581df изначально хотел использовать блок Alias собирая данные по UART, но блок под ESP8266 не запустился. На выходе постоянное число 34300. О чем также отмечал 5Сообщение tolochko » 23.05.2020{, 22:09}. Поэтому реализовал проект по получению данных с выхода PWM используя скоростной счетчик. Позднее появились другие проблемы, по умолчанию, в датчике установлена автоматическая калибровка, которая отслеживает в течении суток минимальные показания ppm, и этот минимум, для отчета на следующие сутки. Т. е. ежедневно надо проветривать комнату до 400 ppm(содержание CO2 в открытой не загазованной атмосфере), конечно в этом что-то есть. Но со временем датчик начинает врать, о чем немало жалоб на форумах.
Все это подвигло к написанию пользовательского блока.
MH-Z19b_ESP8266_interval_OFFczp_(CODE).ubi
(42.45 КБ) 158 скачиваний
Блок имеет два входа и один выход.
Вход interval - задается период опроса датчика MH-Z19b в миллисекундах. Минимальное установленое значение 10000 миллисекунд.
Вход OFFczp - при установке на входе TRUE, будет отключена автоматическая калибровка.
Выход ppm значения концентрации CO2 в ppm.
Сравнивая данные с PWM и UART, отличия небольшие, 1-7 ppm. Что говорит о качественной работе скоростного счетчика.
СпойлерПоказать
Screenshot_2020-08-02-01-03-35.jpg

tolochko
Сержант
Сообщения: 247
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 7
Откуда: Днепропетровск

MH-Z19b

#2

Сообщение tolochko » 03.08.2020{, 13:11}

Спасибо за блок
А то я помощи так и не дождался
Я кстати тоже переделал блок подсмотрел в форумах
Но у меня нет входа просто внутри блока принудительно отключается калибровка
Со входом конечно круче
у меня этот блок заработал только на УНО на НАНО он тоже не хотел работать
Вопрос- вы что то в блоке сделали или дело еще в подключении
Я просто не вижу чтобы код сильно отличался
На днях проверю на ESP отпишусь
Еще раз спасибо за блок

rogekam
Рядовой
Сообщения: 77
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

MH-Z19b

#3

Сообщение rogekam » 03.08.2020{, 15:34}

Да, на ESP тоже не работало, в интернете нашел подсказку как решить проблему: https://esp8266.ru/forum/threads/zavisaet-mh-z19.3140/. В код внес изменения. Спасибо.

Ответить

Вернуться в «Датчики и энкодеры»