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.
Arduino | MQ-8/MQ-9 Sensor |
---|---|
5V | VCC |
GND | GND |
beliebiger digitaler Pin | DO bzw. DOUT |
beliebiger analoger Pin | AO bzw. AOUT |
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).
#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
}
}
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.
#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
}
}
zurück