Sensirion SCD30 CO2 sensor con ESP32

Alimentazione 3.3-5 V Bus I2C Indirizzo I2C 0x61 Misura CO2, temperatura, umidità
VDDGNDSCLSDARDYPWMSEL

Pin e collegamento all’ESP32

PinRuoloPin ESP32Note
VDDAlimentazione3V3Pin 1
GNDMassaGNDPin 2
SCLClock I2C (SCL)D22Pin 3 (TX/SCL). The sensor stretches the clock: use 50 kHz or less
SDADati I2C (SDA)D21Pin 4 (RX/SDA)
RDYInterruptD35Pin 5. HIGH when a new reading is ready, optional
PWMUscita (la pilota il componente)D25Pin 6. PWM CO2 output, optional
SELNon collegato all’ESP32—Pin 7. Leave open or LOW for I2C; HIGH selects Modbus

Collegamento consigliato per l’ESP32 DevKit a 30 pin, evitando i pin della flash, di sola lettura e di strapping. BoardPilot lo controlla mentre colleghi.

Codice di partenza (Arduino)

#include <Wire.h>

void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);  // SDA = GPIO 21, SCL = GPIO 22
  Wire.beginTransmission(0x61);
  bool found = Wire.endTransmission() == 0;
  Serial.println(found ? "Sensirion SCD30 CO2 sensor found at 0x61" : "Not found: check power, GND and SDA/SCL");
}

void loop() {}

Fonti

Provalo in 3D in BoardPilot

BoardPilot Dati del componente (JSON)

Componenti simili

Dati dei componenti: CC BY 4.0, riutilizzabili citando BoardPilot.