Saltar al contenido

Sensor Gas MQ2, MQ3, MQ7 y MQ135

MATERIALES:

  • 1 Sensor de Gas MQ2, MQ3, MQ7 o MQ135

Sensor de gas combustible y humo MQ-2
Estos sensores son adecuados para detectar GLP, propano, metano, alcohol, hidrógeno, humo. Siendo más sensible al GLP y propano.

Sensor de Alcohol MQ3
Es muy sensible al alcohol y de menor sensibilidad a la bencina, también es sensible a gases como GLP, Hexano, CO, CH4 pero con sensibilidad muy baja, la cual se puede despreciar si hay poca concentración de estos.

Sensor de Monóxido de Carbono MQ7
Este sensor es de alta sensibilidad al monóxido de carbono (CO), pero también es sensible al H2.

Sensor Calidad Aire MQ135
Se utilizan en equipos de control de calidad del aire para edificios y oficinas, son adecuados para la detección de NH3, NOx, alcohol, benceno, humo, CO2, etc. Este ultimo sensor es sensible en similar proporción a los gases mencionados, con lo que podemos determinar si el aire está limpio.

NOTA IMPORTANTE: El mismo sensor MQ se los puede encontrar en dos placa distintas, cuyo funcionamiento es el mismo pero tienen diferente orden de pines. Prestar máxima atención.

Librería DHT para Arduino:
Usaremos la librería de adafruit, la cual lo pueden descargar desde el siguiente link:
https://github.com/adafruit/DHT-sensor-library

CÓDIGO:

En el ejemplo usaremos un MQ-3 (sensor de alcohol) pero el programa es el mismo para cualquier módulo MQ si se usa la salida digital, puesto que esta salida se comporta como 1 o 0. Tener en cuenta que esta salida es negada, 1 para ausencia de alcohol y 0 para presencia de alcohol.

Opción 1: Lectura Digital de los módulos MQ

int pin_mq = 2;
void setup() {
  Serial.begin(9600);
  pinMode(pin_mq, INPUT);
}
void loop() {
  boolean mq_estado = digitalRead(pin_mq);//Leemos el sensor
  if(mq_estado) //si la salida del sensor es 1
  {
    Serial.println("Sin presencia de alcohol");
  }
  else //si la salida del sensor es 0
  {
    Serial.println("Alcohol detectado");
  }
  delay(100);
}

Ver los resultados en el MONITOR SERIAL.

Opción 2: Lectura Analógica de los módulos MQ

void setup() {
  Serial.begin(9600);
}
void loop() {
  int adc_MQ = analogRead(A0); //Lemos la salida analógica del MQ
  float voltaje = adc_MQ * (5.0 / 1023.0); //Convertimos la lectura en un valor de voltaje
  Serial.print("adc:");
  Serial.print(adc_MQ);
  Serial.print("    voltaje:");
  Serial.println(voltaje);
  delay(100);
}

Ver los resultados en el MONITOR SERIAL.

Opción 3: Lectura Analógica y Digital de los módulos MQ

void setup() {
  Serial.begin(9600);
}
void loop() {
  int adc_MQ = analogRead(A0); //Lemos la salida analógica  del MQ
  float voltaje = adc_MQ * (5.0 / 1023.0); //Convertimos la lectura en un valor de voltaje
  float Rs=1000*((5-voltaje)/voltaje);  //Calculamos Rs con un RL de 1k
  double alcohol=0.4091*pow(Rs/5463, -1.497); // calculamos la concentración  de alcohol con la ecuación obtenida.
  //-------Enviamos los valores por el puerto serial------------
  Serial.print("adc:");
  Serial.print(adc_MQ);
  Serial.print("    voltaje:");
  Serial.print(voltaje);
  Serial.print("    Rs:");
  Serial.print(Rs);
  Serial.print("    alcohol:");
  Serial.print(alcohol);
  Serial.println("mg/L");
  delay(100);
}

Ver los resultados en el MONITOR SERIAL.

Para información específica ver los Datasheet de cada sensor.

No te olvides de compartir en...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Salir de la versión móvil