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);
  }
}

backwards проводка esp32 источник питания circuit

, 👍2

Обсуждение

Слишком сложно проследить за проводкой на этих фотографиях. Схематическая диаграмма была бы намного лучше. Вы упомянули питание 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


1 ответ


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