zurück

Sensoren MQ-8 und MQ-9

03.02.2018

Die MQ-Reihe von Sensoren bietet eine Menge an Möglichkeiten, bestimmte Gaskonzentrationen in der Luft zu erkennen. In den folgenden Tests habe ich die MQ-8- und MQ-9-Sensoren als Arduino-Module verwendet.
Die MQ-Sensoren enthalten ein gel-artiges Elektrolyt, in das die zu erkennenden Gase diffundieren und so die Leitfähigkeit der Sonde ändern. Um eine gleichmäßige Empfindlichkeit zu garantieren, wird das Elektrolyt von einem meist mit 5V Spannung betriebenem Heizdraht auf konstante Temperatur (bis zu 60°C) gehalten.
Die Arduino-Module der Sensoren bieten die zusätzliche Möglichkeit, die Empfindlichkeit des jeweiligen Sensors durch ein Trimm-Potentiometer zu regeln. Außerdem sind sie sehr bequem mit dem Arduino zu verbinden.

Anschlüsse

Arduino MQ-8/MQ-9 Sensor
5V VCC
GND GND
beliebiger digitaler Pin DO bzw. DOUT
beliebiger analoger Pin AO bzw. AOUT

Verwendete Bauteile

Vorsicht: Die Sensoren werden mit der Zeit heiß!

Aufbau

Aufbau der Schaltung für MQ-8 und MQ-9
Abb.: Aufbau der Schaltung für MQ-8 und MQ-9

MQ-8: Erkennung von Wasserstoff

Der MQ-8 ist ein Sensor der MQ-Reihe zur Erkennung von Wasserstoff in der Luft. Laut Datenblatt misst er eine Konzentration 100-10000ppm Wasserstoff. In meinen folgenden Versuchen sind aber auch Butan (C4H10 = "Feuerzeuggas") und Ethanol C2H5OH erkannt worden.
Die gasdetektierende Schicht des MQ-8 besteht aus Zinndioxid (SnO2).

MQ-8 Sensor als Arduino-Modul
Abb.: MQ-8 Sensor als Arduino-Modul

Sketch

#define LED_PIN 13
#define AOUT_PIN A0 // AOUT (AO) pin of the hydrogen sensor
#define DOUT_PIN 8  // DOUT (DO) pin of the hydrogen sensor

int limit, value;

void setup()
{
  pinMode(LED_PIN, OUTPUT);
  pinMode(DOUT_PIN, INPUT);
  Serial.begin(9600);
}

void loop()
{
  //reads the analaog value from the hydrogen sensor's AOUT pin
  value = analogRead(AOUT_PIN);

  //reads the digital value from the hydrogen sensor's DOUT pin
  limit = digitalRead(DOUT_PIN);

  Serial.print("Limit: ");
  Serial.print(limit); // limit reached LOW or HIGH (above or underneath)
  Serial.print(" Hydrogen value: ");
  Serial.println(value);
  delay(500);

  if (limit == HIGH) {
    digitalWrite(LED_PIN, HIGH);//if limit has been reached, LED turns on as status indicator
  } else {
    digitalWrite(LED_PIN, LOW);//if threshold not reached, LED remains off
  }
}

MQ-9: Erkennung von Kohlenmonoxid und entflammbaren Gasen

Der MQ-9 erkennt Kohlenmonoxid (CO) und andere entflammbare Gase wie Methan oder LPG in der Luft. Laut Datenblatt misst er eine Konzentration 10-1000ppm Kohlenmonoxid und 100-10000ppm entflammbare Gase.

MQ-9 Sensor als Arduino-Modul
Abb.: MQ-9 Sensor als Arduino-Modul

Sketch

#define LED_PIN 13
#define AOUT_PIN A0 // AOUT (AO) pin of the hydrogen sensor
#define DOUT_PIN 8  // DOUT (DO) pin of the hydrogen sensor

int limit, value;

void setup()
{
  pinMode(LED_PIN, OUTPUT);
  pinMode(DOUT_PIN, INPUT);
  Serial.begin(9600);
}

void loop()
{
  //reads the analaog value from the hydrogen sensor's AOUT pin
  value = analogRead(AOUT_PIN);

  //reads the digital value from the hydrogen sensor's DOUT pin
  limit = digitalRead(DOUT_PIN);

  Serial.print("Limit: ");
  Serial.print(limit); // limit reached LOW or HIGH (above or underneath)
  Serial.print(" Gas value: ");
  Serial.println(value);
  delay(500);

  if (limit == HIGH) {
    digitalWrite(LED_PIN, HIGH);//if limit has been reached, LED turns on as status indicator
  } else {
    digitalWrite(LED_PIN, LOW);//if threshold not reached, LED remains off
  }
}