Sensor de humo con Arduino Uno: cableado, configuración y código MQ-2

Cuando necesite monitorear la inicialización de un incendio, el sensor de humo es la mejor manera de detectar el porcentaje de monóxido de carbono (CO) en partes por millón (PPM). El sensor de humo proporciona un voltaje analógico que puede ser monitoreado por el pin analógico de Arduino Uno

En este tutorial, le mostraré cómo conectar un sensor de humo MQ-2 con Arduino Uno. Los resultados del sensor de humo se muestran en el monitor de serie.

Características del sensor de humo

El sensor de humo MQ-2 mide el gas disponible en el aire y nos da los resultados. Este sensor funciona con un voltaje de 5 V CC. Puede detectar gases en el rango de concentración de 200 a 10000 ppm, incluso si los datos recibidos de Arduino están en el rango de 0-1023 común para los puertos analógicos.

Utiliza SnO2 como material sensible, que tiene menor conductividad en aire limpio. Cuando el gas monitoreado llega con aire al MQ-2, la conductividad del sensor es más alta junto con el aumento de la concentración de gas, lo que genera valores de corriente más altos desde su PIN de salida analógica.

El sensor de gas MQ-2 tiene alta sensibilidad con GLP, propano e hidrógeno, también podría usarse para metano
y otros vapores combustibles. Al tener bajos costos de mercado, se adapta bien a diferentes campos de aplicación, siendo los más comunes:

  • Detector de fugas de gas doméstico
  • Detector de gases combustibles industriales
  • Detector de gas portátil

Estas son características importantes de MQ-2:

  • Detección de Humo
  • Fácil de conectar con Arduino uno, mega o cualquier microcontrolador de lectura analógica
  • Fácil cableado

Asignación de pines del sensor de humo MQ-2

El sensor de humo MQ-2 tiene 4 pines, que se describen a continuación, la imagen que se muestra es la parte posterior del sensor de humo. Comenzando desde el lado derecho está el primer pin del sensor. La salida digital se puede usar en el pin digital, para eso debe ajustar el potenciómetro (una forma rectangular con el signo +). Básicamente, este potenciómetro establece el umbral cuando el voltaje a través del umbral, el pin de salida digital se convertirá en lógica ALTA.

Lo que necesitamos

Como de costumbre, sugiero agregar desde ahora a su carrito de compras de comercio electrónico favorito todo el hardware necesario, para que al final pueda evaluar los costos generales y decidir si continúa con el proyecto o los elimina del carrito de compras. Entonces, el hardware será solo:

Consulta precios de hardware en los siguientes enlaces:

Procedimiento paso a paso

Diagrama de cableado

Prepare el cableado de acuerdo con la siguiente imagen:

Hay cuatro pines del sensor de humo que deben conectarse, Pin 1 = VCC debe conectarse con 5V. PIn 2 = GND debe conectarse a tierra, Pin 3: pin digital Sin conexión, y el pin 4 debe conectarse con el pin analógico A0.

Obtener mi código de sensor de humo

Conecte su PC a Arduino y abra Arduino IDE. Para los primeros pasos, puede consultar el tutorial Conexión de PC con Windows con Arduino. Descargue el código de mi sensor de humo utilizando el siguiente enlace:

Código del sensor de humo

Extraiga el contenido de la carpeta en su PC y abra este archivo con su IDE de Arduino.

Código Explicación

Conexión de sensor de humo a Arduino. Imprime la salida en la consola serie.

Hay dos secciones de la explicación del código en la sección 1, hemos cubierto la configuración total. Se declara la variable de valor del sensor de flotación que se utiliza básicamente para medir el voltaje. Luego se inicia la configuración en la que el monitor en serie se inicializa a una velocidad de transmisión de 9600.

float sensorValue; // Smoke value store void setup() {   Serial.begin(9600); // Serial Monitor initilized at 9600 baud rate }

En la sección de bucle, el valor del sensor es la tasa en el pin A0. El valor del sensor está mapeado de 0 a 100 dependiendo del voltaje analógico. Después de lo cual el sensor, los valores se muestran en el monitor de serie. Hay un retraso de un segundo para medir el voltaje y mostrar.

void loop() {   sensorValue = analogRead(A0); // read the sensor value   sensorValue = map(sensorValue, 0, 1023, 0, 100); // convert the sensor value with in 100 range   Serial.print("SensorValue= "); // Print values   Serial.print(sensorValue);   Serial.println("%");    delay(1000); // Delay for 1 second }

Resultados y discusión

En la sesión de resultados y discusión, este tutorial representa la captura de pantalla del sensor de humo. Los resultados se muestran en el monitor serie. Como podemos ver, ese porcentaje se muestra para el valor del sensor, que es básicamente 0-100. Esto significa que hay un 84 % de monóxido de carbono en el aire para el último valor.