Introduction: CO2 Meter, Using the Sensor SCD30 With Arduino Mega

About: Ing. Electrónica con especialidad en electrónica de Potencia, conversión eficiente de la energía y energías renovables.

Para medir la concentración de CO2, la humedad y la temperatura, el SCD30 requiere interactuar con el medio ambiente.

Si las características físicas del sensor cambian debido a estrés mecánico o térmico, es posible que la calibración ya no sea válida. Interfaz UART e I2C. El módulo incluye resistencias pull-up internas para comunicación I2C (45 kΩ), no se necesitan circuitos externos.

Para el pin de selección de interfaz. Puede seleccionar Modbus, dejarlo flotante o conéctelo a GND para seleccionar I2C.

Supplies

Para su uso se utiliza le Arduino Mega 2560, que se encargará de leer los datos y establecer una comunicación I2C; El sensor SCD30 de la marca Sensirion. El módulo bluetooth para la recepción de datos HC-05.

Step 1: Instalar Las Librerías Del Sensor SCD30

Instalar la librería del sensor SDC30, SparkFun_SCD30_Arduino_Library.h. Para ello vamos a la pestaña Programa/ Incluir Librería/ Administrar Bibliotecas (Ctrl+Mayús+l).

Después buscar la librería SCD30 ó SparkFun SCD30 Arduino Library e instalarla.

https://github.com/sparkfun/SparkFun_SCD30_Arduino...

Step 2: Establecer La Comunicación Bluetooth

Se procede con la implementación del bluethoot a la tarjeta de Arduino, para éste punto es necesario tener configurado el módulo HC-05, en éste caso se tiene como slave (esclavo).

Step 3: Conectar El Sensor SCD30

Se conectan a través de la comunicación I2C del sensor al puerto SDA 20 & SCL 21 del Arduino Mega. El voltaje de alimentación del sensor lo enviamos a 3,3V de la alimentación dada por el Arduino.

Step 4: Programación Del Arduino

Ahora se programa el arduino para recivir los datos de lectura del sensor y enviarlos via bluetooth a cualquier dispositivo descesado.

#include "SparkFun_SCD30_Arduino_Library.h" //Librerias
SCD30 airSensor;

void setup() {

Serial.begin(9600); //Velocidad de lectura del Sensor

Serial1.begin(9600); //Velocidad de lectura y ecritura del Bluetooth por el puerto 1

if (airSensor.begin() == false) {

Serial3.print("Sensor no detectado...");

while (1); }

Serial1.print("Lectura del sensor SCD30");

Wire.begin(); }

void loop() {

if (airSensor.dataAvailable()){

Serial1.print("co2(ppm):");

Serial1.print(airSensor.getCO2(););

Serial1.print(" temp(C):");

Serial1.print(airSensor.getTemperature();, 1);

Serial1.print(" RH(%):");

Serial1.print(airSensor.getHumidity(), 1);

Serial1.println(); }

else

Serial3.println("Leyendo...");

delay(500); }

Step 5: Obtener Datos

Descargar una app o a través del dispositivo deseado un controlador serial de Bluetooth ya sea para Android o para PC, donde se vean las lecturas de los datos recibidos una vez establecida la conexión vía Bluetooth y conectado o alimentado el Arduino, éste empezara a recibir datos inmediatamente.