Sensor de CO2 (Integrado)
SenseCAP Indicator (Versión D1S/D1Pro) tiene un sensor SCD41 integrado, que puede detectar el valor de CO2 con un rango de 0-40000ppm. El contenido de CO2 es un criterio importante para evaluar la calidad del aire y asegurar que sea seguro y saludable para todos los que lo respiran.
Los niveles de CO2 en el aire:
- Nivel exterior normal: 350 - 450 ppm
- Niveles aceptables: < 600 ppm
- Quejas de aire viciado y olores: 600 - 1000 ppm
- Estándares ASHRAE y OSHA: 1000 ppm
- Somnolencia general: 1000 - 2500 ppm
- Pueden esperarse efectos adversos para la salud: 2500 - 5000 ppm
Código de Ejemplo:
Este ejemplo lee el valor del sensor Co2 SCD41 integrado a través de la interfaz IIC, y lo imprime en el monitor serie.
Basado en las siguientes librerías:
Librería Sensirion Arduino Core Librería del sensor CO2 SCD41
Nota: Cuando se usa el sensor integrado, la alimentación del sensor debe estar habilitada.
#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 en este sensor SCD41 integrado no representa completamente la temperatura y humedad del aire
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 pedidos grandes o requisitos de personalización, por favor contacta [email protected]