El sensor MQ-2 detecta la presencia de gases combustibles y humo en el ambiente. Usa un elemento sensor de óxido de estaño (SnO2) cuya conductividad varía con la concentración de gas. Es uno de los sensores más usados en sistemas de seguridad y alarmas.
Gases que Detecta el MQ-2
- Humo (smoke)
- GLP — Gas Licuado de Petróleo (propano + butano)
- Metano (gas natural)
- Hidrógeno
- Alcoholes (parcialmente)
No es selectivo: detecta varios gases a la vez. Para distinguirlos usa una matriz de sensores MQ de distintos tipos.
Precalentamiento Obligatorio
El MQ-2 necesita entre 20 y 48 horas de precalentamiento la primera vez para que su elemento sensor se estabilice. Las lecturas durante las primeras horas son muy altas e inestables. Después, solo necesita 1-2 minutos de calentamiento al encender.
Conexión al Arduino
| MQ-2 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pin 2 (digital, umbral ajustable) |
| AO | Pin A0 (lectura continua) |
Código con Alarma
const int MQ2_AO = A0;
const int MQ2_DO = 2;
const int BUZZER = 8;
const int UMBRAL = 400; // Ajustar según calibración
void setup() {
Serial.begin(9600);
pinMode(MQ2_DO, INPUT);
pinMode(BUZZER, OUTPUT);
Serial.println("Calentando sensor... espera 60s");
delay(60000);
}
void loop() {
int valor = analogRead(MQ2_AO);
Serial.print("Gas: "); Serial.println(valor);
if (valor > UMBRAL) {
digitalWrite(BUZZER, HIGH);
Serial.println("¡ALERTA DE GAS!");
} else {
digitalWrite(BUZZER, LOW);
}
delay(1000);
}
Calibración
El umbral depende del ambiente. En aire limpio, el MQ-2 lee típicamente entre 100-300. Expón el sensor brevemente a gas de encendedor a unos 10 cm y observa cómo sube la lectura. Fija tu umbral de alarma en la mitad entre el valor de aire limpio y el valor de gas.