Sistema de detección de sustancias y partículas contaminantes para el ambiente a través de sensores Arduino
DETECTION SYSTEM FOR POLLUTANT SUBSTANCES AND PARTICLES FOR THE ENVIRONMENT THROUGH ARDUINO SENSORS
Antonio Pinzón1
Miguel Castillo1
Edwin González11
José Araúz1
Vladimir Villarreal2*
1Licenciatura en Ingeniería de Sistemas y Computación
Centro Regional de Chiriquí
Universidad Tecnológica de Panamá
2GITCE, Centro Regional de Chiriquí
Universidad Tecnológica de Panamá
Resumen Muchas sustancias contaminantes se pueden producir en áreas industriales y domésticas; por esa razón presentamos este proyecto, que tiene como objetivo utilizar sensores para la detección de sustancias y partículas contaminantes en el aire o medio ambiente; específicamente las partes por millón del gas Dióxido de Carbono. El desarrollo se implementará a través del hardware Arduino UNO, con su software propio, para la medición del rango de las partes por millón de dióxido de carbono presentes en una determinada área. Nuestros resultados nos mostraron los rangos normales de dióxido de carbono en un ambiente cerrado y la variación al momento de interactuar con el sensor por medio de emisiones de dióxido de carbono producidos por personas captando distintos datos dentro y fuera del rango aceptable para la salud humana.
Palabras clave Arduino UNO, sensor MQ-135, contaminación, detección, retroalimentación.
Abstract Many Polluting substances can be produce in industrial and domestic areas ; for this reason we present this proyect, that have as objetive utilice sensors detection of polluting substances and particles in the air or enviroment, specifically the million per part of the carbon dioxide. the development will be implemented through the hardware Arduino UNO, with his own software, for the measurement of the range of the part per million of Carbon Dioxide present in a determinated area. our results showed us the normal ranges of carbon dioxide in and close enviroment and the variation at the moment to interact with the sensor through emissions of carbone dioxide produced by people catching different data inside and out of the acceptable range for human health.
Keywords Arduino UNO , sensor MQ-135 , pollution, detecction, feedback.
*Corresponding author: [email protected]
1. Introducción
Al pasar los años el avance tecnológico ha puesto en peligro la integridad del medio ambiente. El alto crecimiento de la población demanda una gran cantidad de construcciones de casas, apartamentos locales comerciales, reduciendo la cantidad de bosques o áreas verdes, interrumpiendo así el filtro natural del aire. La consecuencia más importante es la emisión de gases nocivos al aire, los autos, quema, ganadería, son factores que contribuyen a dicho aumento. Actualmente el gobierno nacional no le pone mucha importancia al tema, basándose en que el país no sufre las consecuencias como otros países en Latinoamérica, un pensamiento erróneo, ya que la exposición a estas sustancias, están presentes en muchos lugares del país, aumentando en las personas el riesgo de enfermedades cardiovasculares, respiratorias e incluso las posibilidades de cáncer de pulmón. Observando esta situación hemos planteado este proyecto a través de sensores de gases, para que los resultados de esta investigación puedan ser de ayuda a investigadores, gobierno e incluso a ciudadanos, con el fin de mostrar la realidad del problema, que afecta diariamente sin ser consiente del mismo.
Según una publicación del Instituto Nacional para la Seguridad y Salud Ocupacional de los Estados Unidos, la exposición a CO2 en una concentración de 90 mil partes por millón (ppm), por un tiempo de 5 minutos es letal para los seres humanos. Establecieron en su Guía de Bolsillo sobre Riesgos Químicos, un límite de exposición a CO2 de 5 mil ppm en el lapso de un turno de trabajo de ocho horas [1].
1.1 Objetivos
Desarrollar un sistema de detección de gases contaminantes del ambiente mediante un sistema Arduino con sensores MQ-135.
Construir un sistema de sistema de detección de gases que sea más accesible al público.
Hacer que los seres humanos tomen conciencia de que están destruyendo el medio ambiente y tomen medidas para prevenir o al menos disminuir la cantidad de contaminación que producimos antes que sea demasiado tarde.
Facilitar un mecanismo que ayude a prevenir accidentes en el entorno doméstico o en el medio ambiente.
2. Métodos y materiales
2.1 Diseño de Propuesta
El estudio de la propuesta se ha realizado como una alternativa para poder obtener un dispositivo más accesible y económico para un público que no pueden optar por un sistema más sofisticado. Se realizó una investigación previa para identificar algunos dispositivos similares además de algunos proyectos propuestos acorde al tema. Este proyecto está destinado a áreas donde personas pasan un gran tiempo dentro de un espacio cerrado, ejemplo salas de conferencias, escuelas, oficinas, talleres de mecánica, entre otras.
2.2 La plataforma Arduino
Es una plataforma de prototipos electrónicos de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar.
Arduino puede sentir el entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos [2].
2.3 ¿Por qué Arduino?
Las placas Arduino son relativamente baratas comparadas con otras plataformas microcontroladoras. El software de Arduino se ejecuta en sistemas operativos Windows, Macintosh OSX y GNU/Linux. El entorno de programación de Arduino es fácil de usar para principiantes, pero suficientemente flexible para que usuarios avanzados puedan aprovecharlo también.
2.4 Descripción del sensor
Tamaño, 32 mm x 22mm x 30mm
El chip principal: LM393, MQ-x sonda de detección de gas.
Voltaje de funcionamiento, DC 5V
Salida Dual
Larga vida útil
Respuesta rápida
[3]
2.5 Funcionamiento del sistema
El funcionamiento del sensor MQ-135 (ver figura 1) es técnico. El mismo posee un microtubo de cerámica con óxido de aluminio (Al2O3), una capa sensible de dióxido de estaño (SnO2), el electrodo de medida y el calentador, que están fijados en su estructura. Este último proporciona las condiciones necesarias para activar el sensor, el mismo no nos mostrará directamente las ppm del gas, sino que devolverá una cantidad proporcional a la resistencia que producirá cierta cantidad del gas. Estos datos son tomados mediante cuatro de los seis pines que el dispositivo posee, los dos restantes son para obtener la energía necesaria para calentar el microtubo.
Figura 1. Sensor de aire MQ-135.
La conexión del sensor con Arduino es sencilla. La placa del sensor posee dos salidas, una digital, esta presenta niveles bajos de tensión y una analógica, esta viene a ser directamente proporcional al incremento de voltaje.
Usando el Arduino UNO, la conexión sería como el siguiente caso (observar figura 2), pero de cualquier manera también se puede utilizar cualquier tipo de Arduino [4].
La misma se hace mediante la salida analógica del sistema, ya que como mencionamos, nos permite obtener varios niveles de señal y como agregado, si se desea, también permite trabajar con distintos tipos de gas, siempre y cuando se trabaje para distinguir mediante rangoslos índices de detección de los gases.
Se decide integrar unos leds al sistema para que cuando interactúe con el gas, este indique el rango de concentración de gas obtenido, mediante distintos colores de luces. Con esto se quiere llegar a que sea más intuitivo reconocer las cantidades de ppm.
Figura 2. Placa Arduino UNO + sensor MQ-135 y sus respectivas conexiones entre sí.
2.6 Programación y Ejecución
El código para poder calibrar el sensor conlleva de una serie de ecuaciones para poder sacar el índice ppm adecuado y compara los rangos.
//-----------------------------------------------------------------
-------------------------------------------
// DEFINE
//------------------------------------------------------------------
------------------------------------------
#define anInput A0 // pin analogo del MQ135
#define co2Zero 55 //calibracion CO2 0 nivel
#define led 9 //led en pin 9
//------------------------------------------------------------------
-----------------------------------------
// SETUP
//------------------------------------------------------------------
------------------------------------------
void setup() {
pinMode(anInput,INPUT); //MQ135 analog feed set for input
pinMode(led,OUTPUT); //led set for output
Serial.begin(9600); //serial comms for debuging
// display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
//begin display @ hex addy 0x3C
// display.display(); //show buffer
// display.clearDisplay(); //clear buffer
}
//------------------------------------------------------------------
------------------------------------------
// MAIN LOOP
//------------------------------------------------------------------
------------------------------------------
void loop()
{
int co2now[10]; //int array for co2 readings
int co2raw = 0; //int for raw value of co2
int co2comp = 0; //int for compensated co2
int co2ppm = 0; //int for calculated ppm
int zzz = 0; //int for averaging
int grafX = 0; //int for x value of graph
//display.clearDisplay(); //clear display @ beginning of each loop
for (int x = 0;x<10;x++){ //samplpe co2 10x over 2 seconds
co2now[x]=analogRead(A0); delay(200);
}
for (int x = 0;x<10;x++){ //add samples together
zzz=zzz + co2now[x];
}
co2raw = zzz/10; //divide samples by 10 co2comp = co2raw - co2Zero; //get compensated value
co2ppm = map(co2comp,0,1023,400,5000); //map value for atmospheric levels
if(co2ppm>500){ //if co2 ppm > 1000
digitalWrite(led,HIGH); //turn on led
}
else{ //if not
digitalWrite(led,LOW); //turn off led
}
Serial.println(co2ppm, DEC); Serial.println(" ppm"); delay(250);
}
Código proporcionado por learnelectronics. [5]
Al realizar una prueba del código observamos (ver figura 3) que nos da un registro de la cantidad de ppm del gas estudiado, en este caso CO2.
Figura 3. Monitor de serie del programa Arduino.
Hay que tomar en cuenta que al realizar estos muestreos el gas analizado queda dentro de la cavidad durante un tiempo; aunque no se continúe administrando más del gas, por esto es posible que los datos se vean alterados un poco, pero no debe afectar si le damos un rango de tiempo un poco más extenso, para que el gas que esté dentro pueda salir antes del siguiente registro.
Al iniciar el programa el sensor empezará a registrar datos, se debe establecer los rangos aceptables de la ppm en un lugar determinado (ver figura 4), los rangos utilizados en esta demostración son:
Nivel atmosféricos CO2 400ppm
Rango medio interno CO2 ..350-450ppm
Máximo aceptable CO2 1000ppm
Niveles peligrosos CO2 >2000ppm
Figura 4. Sistema armado, rangos CO2 normal, Led apagado.
Al realizar la prueba, para demostrar el funcionamiento del sistema disminuimos el rango máximo aceptable a una cantidad menor (500ppm), ya que no obteníamos una cantidad tan elevada de ppm en ese momento y así visualizar la acción del Arduino al encender el led se encendiera la alerta del nivel peligroso del CO2.
Figura 5. Índices de CO2 sobrepasando el rango.
Al inicio, las primeras lecturas se hicieron en un ambiente regular cerrado, los rangos de ppm obtenidos mostraron estar dentro del rango normal (ver figura 3). Luego al realizar soplidos al sensor, la concentración de CO2 se elevó por acción del mismo (ver figura 5), Para la prueba de detección del CO2 se realizaron una serie de soplidos entre dos personar, con intervalos de un minuto cada uno dando como resultado un promedio rango entre los 500 y 600 ppm, logrando así, ver el ingreso a valores máximos de CO2, indicado por el LED (figura 6).
Figura 6. Sistema armado, rangos CO2normal, Led encendido.
Con esta simulación del funcionamiento del Arduino, se observó que los resultados obtenidos eran funcionales al momento de indicar un aumento en la cantidad de dióxido de carbono (CO2) en el ambiente cercano al sensor propuesto.
3. Conclusión
Los datos obtenidos que se mostró anteriormente demuestran que el sistema detecta las variaciones de los índices de CO2 en un ambiente cerrado, provocados por la expulsión natural por parte de una persona. Siendo así muy útil al momento de detectar niveles peligrosos de dióxido de carbono. La sencillez en el diseño y accesibilidad de este dispositivo influenciaría más estudios de las consecuencias del dióxido de carbono en distintas ciencias, pero sobre todo en la medicina y ergonomía, por las consecuencias que produce el gas en el organismo humano en largos periodos de tiempo.
4. Discusión
Nuestro proyecto tiene como objetivo facilitar el acceso a sensores de detección de gases para así prevenir accidentes, ya sean peligrosos a la vida o al medio ambiente. Esto se lograría disminuyendo su costo utilizando tecnologías Arduino y conocimientos en programación, para crear un sistema eficiente que permita detectar e informar la presencia de gases que representen algún peligro a la salud humana gracias a la sobrexposición a los mismos.
Ciertas limitaciones con las que nos podemos topar son: Los sensores a usarse son menos sofisticados que los que se usan en industrias son más especializadas y de mayor precio. También limita nuestro rango, en donde no podríamos detectar una concentración muy baja o muy alta del gas, además de la precisión de la lectura y el tiempo de circulación del mismo.
Además de esta utilidad, el sistema se presta para distintas áreas entre ellas el de detectar humo en un espacio determinado, como sabemos el humo producido por una combustión de una sustancia, emite CO2 en altas concentraciones, el sistema podría detectar esos niveles y dar alerta. También puede tener utilidad en el área agrícola, para monitorear el crecimiento y desarrollo de los cultivos o plantas, ya que el CO2 es un componente muy importante en la estructura agropecuaria.
REFERENCIAS
Anónimo (2015) La concentración de CO2 en tu oficina te puede estar matando. [Online] Disponible en: http://proexpansion.com/es/articulos_oe/946-la-concentracion- de-co2-en-tu-oficina-te-puede-estar-matando
Tutoriales. (2016) Tutorial sensores de gas MQ2, MQ3, MQ7 y MQ135. [Online]. Disponible en: http://www.naylampmechatronics.com/blog/42_Tutorial- sensores-de-gas-MQ2-MQ3-MQ7-y-MQ13.html
Hector Torres. (2014) Sensor de Gas (MQ2) con Arduino UNO. [Online]. Disponible en: https://www.hetpro- store.com/TUTORIALES/sensor-de-gas-mq2/
Almudena de Paz Menéndez, “Desarrollo De Un Sistema De Sensores Para La Detección De Sustancias Peligrosas “Universidad Autónoma De Madrid, junio 2015.
Paul [learnelectronics]. (2017, marzo 26). Arduino DIY CO2 PPM Meter [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=V1uOHOcVZrE