CO2 Meter, Using the Sensor SCD30 With Arduino Mega
by ricajim7 in Circuits > Arduino
2141 Views, 0 Favorites, 0 Comments
CO2 Meter, Using the Sensor SCD30 With Arduino Mega
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.
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.
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).
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.
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); }
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.