Страница 1 из 1

Датчик CO2 MHZ19 на NRF51822

Добавлено: 23 апр 2021, 18:09
kakto
Я новичок в этих чипах, с трудом слепил первый проект.

Код на github
https://github.com/il300/MHZ19

Я не использую arduino-nRF5, хотя пробовал и этим фреймворком.
Я вообще не понял, зачем он нужен и почему сообщество поголовно его использует.
Переназначать пины можно и по другому.
Возможно там есть другие прелести, но в описании говорят только о переназначении пинов.
Возможно это некий уровень абстракции для пинов чипа?...

Для компиляции нужно использовать плату из списка Nordic Semiconductor nRF5 Boards - Generic nRF51/Generic nRF52.

Для MHZ19 я нашёл несколько программных решений, но с использованием SoftwareSerial.
И на моей NRF51822 ничего не заработало из них. SoftwareSerial как я понял, вообще на NRF5 не работает.
У меня используется HardwareSerial, по существу, обычный Serial, поэтому диагностические сообщения недоступны.
Датчик подключен к пинам по умолчанию для UART этого чипа - RX 0 и TX 1.
По давней идиотской традиции, пины нужно менять местами - RX платы на TX датчика.
Почему идиотской? Потому что нужно не забывать менять :-)
Хотя, это дело привычки...

Кстати, в arduino-nRF5 MyBoardNRF5.h вообще непонятно что за пины по умолчанию.
Там лучше вообще всё закомнетить для нового проекта, иначе не взлетит.

Собственно для MHZ19 используется одноименная библиотека. Ссылка в файле проекта.

Нода эта у меня подключена к iobroker.
Можно даже из iobroker команды отправлять.
Это не готовое решение, просто начало процесса изучения этих радиомодулей.
Ранее я немного работал только с ESP8266 и подобными.
Сектч очень простой, но несмотря на это, найти что-либо готовое в и-нете трудно.
Ещё трудней запустить это на NRF5.
На MySensors есть в примерах MH-Z19 CO2 sensor.
Но не рабочий и совсем примитивный.

Сам сенсор покупался там же, где и все всегда сенсоры берут.
Покупался давно, пару лет назад.
Только сейчас руки до него дошли.
Дома давно, опять же, пару лет стоит штуковина с сенсором CJMCU-811.
Он тоже типа CO2 измеряет.
Но измеряет в непонятных енотах.
Это пол беды, главное не цифра, а её изменение.
Но он ещё периодически виснет намертво. Так что только дергать питание нужно, на reset не реагирует.
MH-Z19 я брал за &17, CJMCU-811 за &9.5
На картинке админка Iobroker.