Arduino,esp8266, MH-Z19B - нет связи по UART
- Войдите на сайт для отправки комментариев
Пнд, 23/11/2020 - 20:37
Добрый день!
Нет связи по UART с датчиком CO2 MH-Z19B.
В Арсенале есть NodeMCU ESP8266 превращенная в ардуино-плату.
Есть пара MH-Z19B, и пытаюсь самым простым скетчем считать данные по UART, но мне ничего не приходит.
У меня было подозрение, что первый датчик был перегрет при пайке, я взял второй датчик, у которого был шлейф через разъем. Но со второго датчика тоже не приходят данные.
Я проверил мультиметром аналоговый выход с датчика - датчик работает, если на него дыхнуть, показания изменяются, лампочкой внутри он мигает.
Подключаю датчик питание к 5V на Vin, земля общая.
Подскажите, пожалуйста, куда копать?
#include <SoftwareSerial.h>; SoftwareSerial mySerial(13, 15); // GPIO13 D7 and GPIO15 D8 // MySerial(RX,TX) - RX-TX платы byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79}; char response[9]; // здесь будет ответ void setup() { delay(10000); Serial.begin(9600); //это наш монитор mySerial.begin(9600); //а это датчик MH-Z19(14) delay(10000); } void loop() { mySerial.write(cmd,9);//запрос PPM CO2 mySerial.readBytes(response,9); int responseHigh = (byte) response[2]; int responseLow = (byte) response[3]; int ppm = (256*responseHigh)+responseLow; // ну и по мануалу из ответа считаем PPM Serial.println(ppm); delay(10000); }
Softwareserial не поддерживает esp8266.
Не ...единым, одна из )))
Я дёрнул для себя либу из плагина ESP32. Вроде как нормально чухает.
а параметры тоже поддерживает?
А, нет, соврал. Почудилось что-то про ESP32 Core.
Вот это брал: https://github.com/plerup/espsoftwareserial/
Спасибо!
Ходил вокруг да около и не обратил на это внимание)
Поставил правильную либу и всё заработало)
Нашел в репозитории ArduinoIDE библиотеку EspSoftwareSerial, поставил. Попросил IDE выводить подробности компиляции - компилятор честно сказал, что нашел несколько библиотек SoftwareSerial и взял, конечно, не ту что для ESP.
Я банально удалил "не нужные" либы. (наверное, есть более корректный способ указать конкретную либу)
и датчик сразу заработал и всё показал.
Спасибо!
Доброго времени суток. у меня такая же проблема. Плата ESP8266 но датчик у меня MH-Z19C
Я загрузил скетч из первог осообщения, загрузил библиотеку https://github.com/plerup/espsoftwareserial/ б удалил ту которая была некоректная. но у меня по прежнему ничего не выводит.
я не сильно опытный ещё правильно ли я всё сделал подключи Rx датчика - к D7 , Tx к D8 ( пробовал и местами поменять)
можно както проверить может сам датчик мёртвый? или руки кривые?
Заметил только что на контакте VIN у меня нет напряжения! понятно почему ничего не работало )
rams
на vin датчика нет напряжения? Он как вообще подключен? Земля и питание откуда взяты?
Заметил только что на контакте VIN у меня нет напряжения! понятно почему ничего не работало )
какая связь?
У меня практически ни на одной плате на VIN нет напряжения - я пином VIN вообще никогда не пользуюсь... а все работает.
Заметил...
...все работает.