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

co2-and-rh-t-sensor-scd30-sen-15112-b3f.jpg

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

A.png
B.png

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...

Establecer La Comunicación Bluetooth

2a67ade68bd5921a5912fb236641d4c2.jpg

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

C.png
ArduinoMega.png

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

Screenshot_20160705-204401_20160705_210807.jpg
4264831d-d2bf-4c45-9c4d-d118f5e10a7a.jpg

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.