Esp32 не может прочитать датчик MH-Z19C
Я пытаюсь считать данные CO2 с датчика MH-Z19C с платой ESP32, но ничего не получаю. Код ошибки из библиотеки — 2, что указывает на тайм-аут (данные не получены).
Я неправильно подключил проводку? Интересно, датчик сгорел?
Библиотека: MH-Z19 Джонатана Демпси
Подключения:
- MH-Z19C От RX до TX2 (17)
- MH-Z19C Передача на RX2 (16)
- MH-Z19C VIN к источнику питания 5 В
- MH-Z19C Земля к источнику питания 3 В
Код:
#include <SoftwareSerial.h>
#include <MHZ19.h>
#include <Wire.h>
// вывод для чтения UART
#define RX_PIN 16 // Вывод Rx, к которому подключен вывод Tx MHZ19.
#define TX_PIN 17 // Вывод Tx, к которому подключен вывод Rx MHZ19.
MHZ19 myMHZ19;
SoftwareSerial mySerial(RX_PIN, TX_PIN);
void setup() {
Serial.begin(9600);
// Запуск датчика Co2
mySerial.begin(9600); // (пример Uno) устройство для последовательного запуска MH-Z19
myMHZ19.begin(mySerial); // *Ссылка на Serial(Stream) должна быть передана в библиотеку Begin().
myMHZ19.autoCalibration(); // Включаем автокалибровку (OFF autoCalibration(false))
}
void loop() {
// Подождите несколько секунд между измерениями.
delay(5000);
int CO2;
// Запрос CO2 (в ppm)
CO2 = myMHZ19.getCO2();
Serial.println(String(CO2) + " ppm");
if (myMHZ19.errorCode != RESULT_OK) {
Serial.print("Failed to receive CO2 value: ");
Serial.println(myMHZ19.errorCode);
}
}
@Adam Cherti, 👍2
Обсуждение1 ответ
Это не датчик Winsen Mh-z19 (или любой его клон, соответствующий его характеристикам), поэтому вы не сможете считывать данные с помощью библиотеки mhz19. Скорее всего, это датчик HC8, и кому-то придется переписать библиотеку, чтобы получать от него данные. Вот характеристики: https://pcus.ru/download/hc8.pdf и еще немного информации: https://spezifisch.codeberg.page/posts/2022-08-23 /co2-сенсор-обратное проектирование/
откуда ты знаешь, что это не mh-z19?, @Adam Cherti
- bh1750 lightsesor не будет работать
- Как определить наличие воды с помощью всего двух проводов
- Библиотека емкостных датчиков на D1 Mini
- Почему чтение на ESP32 читает max, когда чтение на UNO читается точно?
- ESP32-CAM не читает BME680
- ESP32 не может считывать данные с датчиков DHT11, MH-Z19C
- Значения кватернионов из BNO055 недоступны.
- Существует ли точная процедура подключения между esp32 и ультразвуковым датчиком(HC-SR04)?
Слишком сложно проследить за проводкой на этих фотографиях. Схематическая диаграмма была бы намного лучше. Вы упомянули питание 3,3 В и 5 В. Есть ли у них общая основа?, @6v6gt
Непонятно, как подключены GND между платами. Лучше иметь схему, чем эти картинки., @hcheung
ок, отредактировал. Обратите внимание, что плата питается от USB, а датчик питается от модуля питания., @Adam Cherti
Я бы подключил ESP GND к Z19C GND., @DrG
Вы имеете в виду, что мне следует подключить датчик к GND/VIN esp? Проблема в том, что датчику требуется 5 В, а плата выдает только 3,3 В, если я прав., @Adam Cherti
Это означает подключение PIN1 ESP32S(GND) к контакту 2 Z19C(GND), базовой электроники 101., @hcheung
Хорошо, я подключил GND ESP32 к GND источника питания, к которому также подключен PIN2 Z19C. Это верно? Я все еще не получаю никаких данных., @Adam Cherti