Sensor de CO₂ (Integrado)
El SenseCAP Indicator (versión D1S/D1Pro) incorpora un sensor SCD41, capaz de detectar concentraciones de CO₂ en un rango de 0 a 40,000 ppm.
El contenido de CO₂ es un criterio importante para evaluar la calidad del aire y garantizar que sea seguro y saludable para todas las personas.
Niveles de CO₂ en el aire:
- Nivel normal al aire libre: 350 - 450 ppm
- Niveles aceptables: < 600 ppm
- Sensación de aire viciado y olores: 600 - 1000 ppm
- Estándares ASHRAE y OSHA: 1000 ppm
- Somnolencia general: 1000 - 2500 ppm
- Posibles efectos adversos a la salud: 2500 - 5000 ppm
Código de Ejemplo
Este ejemplo lee los valores del sensor SCD41 integrado a través de la interfaz I2C y los muestra en el monitor serial.
Basado en las siguientes bibliotecas:
Nota: Al usar el sensor integrado, es necesario habilitar su alimentación.
#include <Arduino.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SensirionI2CScd4x.h>
SensirionI2CScd4x scd4x;
String SDDataString = "";
//The built-in sensor needs to be powered on
void sensor_power_on(void) {
pinMode(18, OUTPUT);
digitalWrite(18, HIGH);
}
void sensor_scd4x_init(void) {
uint16_t error;
char errorMessage[256];
scd4x.begin(Wire);
// stop potentially previously started measurement
error = scd4x.stopPeriodicMeasurement();
if (error) {
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
}
// Start Measurement
error = scd4x.startPeriodicMeasurement();
if (error) {
Serial.print("Error trying to execute startPeriodicMeasurement(): ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
}
}
void sensor_scd4x_get(void) {
uint16_t error;
char errorMessage[256];
Serial.print("sensor scd4x: ");
// Read Measurement
uint16_t co2;
float temperature;
float humidity;
error = scd4x.readMeasurement(co2, temperature, humidity);
if (error) {
Serial.print("Error trying to execute readMeasurement(): ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else if (co2 == 0) {
Serial.println("Invalid sample detected, skipping.");
} else {
Serial.print("Co2:");
Serial.print(co2);
Serial.print("\t");
Serial.print("Temperature:");
Serial.print(temperature);
Serial.print("\t");
Serial.print("Humidity:");
Serial.println(humidity);
}
}
int cnt = 0;
void setup() {
Serial.begin(115200);
sensor_power_on();
Wire.setSDA(20);
Wire.setSCL(21);
Wire.begin();
sensor_scd4x_init();
}
void loop() {
delay(5000);
sensor_scd4x_get();
}

Nota: La temperatura y humedad reportadas por el sensor SCD41 integrado no representan completamente la temperatura y humedad ambiental.
Soporte Técnico
¡No te preocupes, te tenemos cubierto! Por favor visita nuestro Canal Oficial de Discord de Seeed para hacer tus preguntas.
Si tienes un pedido grande o necesitas una personalización, por favor contacta a [email protected]