Всем привет!
Подключил я значит датчик СО2 к ардуинке, но почему-то на выходе выдает
!Error: Timed out waiting for response
!ERROR: Failed to verify connection(1) to sensor.
!ERROR: Initial communication errorCode recieved
!Error: Timed out waiting for response
!Error: Timed out waiting for response
!Error: Timed out waiting for response
CO2 (ppm): 0
!Error: Timed out waiting for response
CO2 (ppm): 0
Подключил на мой взгляд правильно, фото ниже
Пробовал так же без макетки, другими проводами, все то же самое.
Пробовал на абум, поменять ТХ и РХ местами, спамило следующее
CO2 (ppm): 0
Temperature (C): -17
!Warning: Clearing Byte: 66
!Warning: Clearing Byte: 77
!Warning: Clearing Byte: 10
!Warning: Clearing Byte: 225
Исходный код тестовый, пины прописал свои
#include <Arduino.h>
#include "MHZ19.h"
#include <SoftwareSerial.h> // Remove if using HardwareSerial
#define RX_PIN 2 // Rx pin which the MHZ19 Tx pin is attached to
#define TX_PIN 3 // Tx pin which the MHZ19 Rx pin is attached to
#define BAUDRATE 9600 // Device to MH-Z19 Serial baudrate (should not be changed)
MHZ19 myMHZ19; // Constructor for library
SoftwareSerial mySerial(RX_PIN, TX_PIN); // (Uno example) create device to MH-Z19 serial
unsigned long getDataTimer = 0;
void setup() {
Serial.begin(9600); // Start Serial Monitor for debug
mySerial.begin(BAUDRATE); // Start the software serial communication with MH-Z19
myMHZ19.begin(mySerial); // Initialize the sensor
myMHZ19.autoCalibration(false); // Disable auto calibration for better accuracy
delay(1000); // Allow some time for the sensor to initialize properly
}
void loop() {
if (millis() - getDataTimer >= 2000) {
int CO2 = myMHZ19.getCO2(); // Request CO2 (ppm)
if (CO2 != -1) { // Check if the sensor responds with a valid value
Serial.print("CO2 (ppm): ");
Serial.println(CO2);
} else {
Serial.println("Error: Sensor response timed out.");
}
getDataTimer = millis(); // Reset the timer
}
}