Skip to Content

Wie man den MQ-4 Methangas-Sensor mit Arduino verwendet

Wie man den MQ-4 Methangas-Sensor mit Arduino verwendet

In diesem Tutorial lernen wir, wie man den MQ-4 Methangas-Sensor mit Arduino verwendet, um ein Gaswarnsystem zu bauen. Dieses System nutzt eine LED und einen Summer, um uns zu alarmieren, wenn Methangas in der Umgebung erkannt wird.

Gassensoren sind in verschiedenen Anwendungen unverzichtbar, darunter in der Industrie, für die Haussicherheit und Umweltüberwachung. Der MQ-4 Gassensor ist speziell für die Erkennung von Methangas ausgelegt und eignet sich daher ideal für Anwendungen, bei denen Methanleckagen überwacht werden müssen.

Um unser Gaswarnsystem zu erstellen, verbinden wir den MQ-4 Gassensor mit einem Arduino-Board und programmieren ihn so, dass LED und Summer ausgelöst werden, wenn Methangas erkannt wird. Fangen wir an und sammeln die benötigten Teile für dieses Projekt.

Benötigte Teile

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Im Folgenden findest du die für dieses Projekt benötigten Teile. Wenn du bereits einen Widerstandssatz und einige LEDs hast, benötigst du das vorgeschlagene Kit nicht. Für dieses spezielle Projekt wird nur eine einzelne rote LED und ein 220-Ohm-Widerstand benötigt.

Arduino Uno

Dupont wire set

Dupont-Kabelsatz

Half_breadboard56a

Breadboard

USB Data Sync cable Arduino

USB-Kabel für Arduino UNO

Widerstands- & LED-Kit

Passiver Summer

MQ-4 Gassensor

Einführung in den MQ-4 Gassensor

Der MQ-4 Gassensor ist ein beliebter Sensor zur Erkennung von Methangas. Er wird häufig in Gasleckage-Erkennungssystemen eingesetzt und kann auch Alkohol, Kochdämpfe und Zigarettenrauch erkennen. Er ist sehr einfach zu verwenden und lässt sich gut mit Arduino-Boards für verschiedene Projekte integrieren.

Eigenschaften des MQ-4 Gassensors

Der MQ-4 Gassensor verfügt über folgende Merkmale:

  • Betriebsspannung: Der Sensor arbeitet im Spannungsbereich von 5V bis 24V DC.
  • Heizspannung: Er benötigt eine Heizspannung von 5V ±0,2V.
  • Heizwiderstand: Der Sensor hat einen Heizwiderstand von 31Ω ±3Ω.
  • Stromverbrauch: Niedriger Stromverbrauch (100mA)
  • Empfindlichkeit: Der MQ-4 Gassensor ist sehr empfindlich gegenüber Methan (CH4) und eignet sich daher gut zur Erkennung von Erdgaslecks.
  • Erkennungsbereich: Der Sensor erfasst Methangas im Bereich von 300 bis 10.000 ppm (Teile pro Million).
  • Aufwärmzeit: Er benötigt eine Aufwärmzeit von etwa 48 Stunden, bevor genaue Messwerte möglich sind.
  • Ansprechzeit: Die Ansprechzeit des Sensors liegt unter 10 Sekunden.
  • Erholungszeit: Die Erholungszeit des Sensors beträgt weniger als 30 Sekunden.
  • Betriebstemperatur: Der Sensor kann in einem Temperaturbereich von -10°C bis 50°C betrieben werden.
  • Abmessungen: Das MQ-4 Gassensormodul misst ca. 32mm x 20mm x 22mm.
  • Schnittstelle: Es kann einfach über analoge oder digitale Pins mit Mikrocontrollern oder Entwicklungsboards verbunden werden.

Bitte beachte, dass diese Spezifikationen je nach Hersteller oder spezifischem Modell des MQ-4 Gassensors leicht variieren können.

Funktionsweise des MQ-4 Gassensors

In diesem Abschnitt werfen wir einen kurzen Blick auf die interne Funktionsweise des MQ-4 Sensors. Im Kern des Sensors befindet sich die Gasschicht aus Metalloxid (SnO2). Wenn Methangas mit dieser Schicht in Kontakt kommt, reagiert es mit dem auf der Oberfläche vorhandenen Sauerstoff. Dies führt zu einer Änderung des Widerstands des Materials, die wir messen, um das Vorhandensein und die Konzentration des Gases zu erkennen.

Die untenstehenden Bilder stammen vom MQ-4 Datasheet Sensor und zeigen dessen Komponenten und interne Schaltung.

Um die Gasschicht (1) ist eine Heizspirale (4) gewickelt. Diese ist wichtig, da die SnO2-Schicht erhitzt werden muss, damit die chemische Reaktion mit Methan stattfinden kann. Deshalb fühlt sich der Sensor warm an.

Diese Komponenten sind von einem keramischen Rohr (5) umgeben, das die Gasschicht und die Heizspirale physisch schützt. Es hilft auch, eine stabile Temperatur im Sensor durch thermische Isolierung aufrechtzuerhalten.

Schließlich gibt es die Elektroden (2, 3), die aus Gold (Au) und Platin (Pt) bestehen und an der Gasschicht befestigt sind. Diese messen die Widerstandsänderungen der Gasschicht.

Empfindlichkeitsmerkmale des MQ-4 Gassensors

Der MQ-4 Gassensor ist hauptsächlich für die Erkennung von Methan (CH4) ausgelegt. Er zeigt jedoch auch unterschiedliche Empfindlichkeiten gegenüber anderen Gasen wie LPG (Flüssiggas), Wasserstoff (H2), Kohlenmonoxid (CO), Alkohol und Rauch. Die Empfindlichkeit des Sensors beschreibt das Verhältnis des Sensorwiderstands in verschiedenen Gasen zum Sensorwiderstand in sauberer Luft. Die folgende Grafik zeigt die Empfindlichkeitsmerkmale für diese Gase.

Für Methan zeigt der MQ-4 eine ausgezeichnete Empfindlichkeit. Das bedeutet, wir können Änderungen der Methankonzentration in der Luft genau erkennen und messen. Selbst kleine Änderungen führen zu deutlichen Widerstandsänderungen.

Für LPG und Wasserstoff zeigt der MQ-4 ebenfalls eine relativ hohe Empfindlichkeit, wenn auch nicht so hoch wie für Methan. Das bedeutet, dass wir diese Gase zwar erkennen können, die Messwerte aber möglicherweise nicht so genau oder schnell reagieren wie bei Methan.

Schließlich hat der MQ-4 eine geringere Empfindlichkeit gegenüber Kohlenmonoxid, Alkohol und Rauch. Das bedeutet, dass der Sensor zwar auf diese Gase reagiert, die Widerstandsänderungen jedoch kleiner ausfallen.

Abhängigkeit von Feuchtigkeit und Temperatur beim MQ-4 Gassensor

Beachte, dass die Genauigkeit des MQ-4 Gassensors nicht nur von den Zielgasen, sondern auch von Umweltfaktoren wie Feuchtigkeit und Temperatur beeinflusst wird. Die folgende Grafik zeigt die Widerstandsänderung in Abhängigkeit von Umgebungstemperatur und Luftfeuchtigkeit:

Feuchtigkeit kann die Leistung des Sensors beeinträchtigen, da Wasserdampf die aktiven Stellen auf der Zinnoxid-(SnO2)-Gasschicht blockieren kann, an denen die Gasreaktionen stattfinden. Bei hoher Luftfeuchtigkeit nimmt die Empfindlichkeit gegenüber Methan ab, was zu weniger genauen Messwerten führen kann.

Die Temperatur ist ein weiterer wichtiger Faktor bei der Verwendung des MQ-4 Sensors. Der Sensor verfügt über ein eingebautes Heizelement, um die notwendige Temperatur für die SnO2-Schicht aufrechtzuerhalten. Dennoch kann die Umgebungstemperatur die Messwerte beeinflussen.

Für genaue und stabile Messwerte kann die Kombination des MQ-4 Sensors mit einem Temperatur- und Feuchtigkeitssensor sinnvoll sein. Beachte auch, dass der MQ-4 mindestens 20 Sekunden aufwärmen muss (wegen des Heizelements), bevor die Messwerte stabil und zuverlässig sind.

Andere MQ-Gassensoren

Der MQ-4 Gassensor ist nur einer von vielen Sensoren der MQ-Serie. Jeder Sensor ist für die Erkennung eines bestimmten Gases ausgelegt. Im Folgenden findest du einen Vergleich zwischen dem MQ-4 und einigen anderen häufig verwendeten MQ-Gassensoren:

  1. MQ-2 Gassensor: Der MQ-2 Sensor erkennt mehrere Gase, darunter Methan, Propan, Butan und Alkohol. Er hat einen größeren Erkennungsbereich als der MQ-4 und eignet sich für Anwendungen, bei denen mehrere Gase erkannt werden müssen.
  2. MQ-5 Gassensor: Der MQ-5 ist speziell für die Erkennung von Erdgas und LPG (Flüssiggas) ausgelegt. Er ist empfindlicher gegenüber diesen Gasen als der MQ-4 und ideal für Gasleckage-Erkennungssysteme.
  3. MQ-6 Gassensor: Der MQ-6 erkennt LPG, Butan und Propan. Seine Empfindlichkeit gegenüber Methan ist ähnlich wie beim MQ-4, konzentriert sich aber stärker auf diese spezifischen Gase.
  4. MQ-9 Gassensor: Der MQ-9 ist für die Erkennung von Kohlenmonoxid, brennbaren Gasen und Rauch ausgelegt. Er hat einen größeren Erkennungsbereich als der MQ-4 und wird häufig in Brandmeldeanlagen eingesetzt.

Beachte, dass wir ein Tutorial für einen Air Pollution Monitoring and Alert System Using MQ-135 und ein weiteres Tutorial zum MQ3 Sensor & Arduino: Building An Alcohol Detector haben.

MQ-4 Gassensor Pinbelegung

Ein typisches MQ-4 Gassensormodul ist im Bild unten zu sehen. Es verfügt normalerweise über 4 Pins: A0, D0, VCC und GND.

Pinout of MQ-4 Gas Sensor
Pinbelegung des MQ-4

Hier ist die Zusammenfassung der Pins des Methangas-Sensormoduls.

Pin-Namen Pin-Beschreibung Bemerkungen
VCC Positive Stromversorgung 5 V ist die empfohlene Versorgungsspannung
A0 Analoger Ausgang Diesen Pin mit einem analogen Eingang des Arduino verbinden
D0 Digitaler Ausgang Mit einem beliebigen GPIO-Pin des Arduino verbinden
GND Masse  

Auf der Rückseite des Moduls befindet sich ein Trimmer zur Einstellung der Empfindlichkeit. Außerdem gibt es eine rote Power-LED, die leuchtet, wenn das Modul mit Strom versorgt wird, und eine grüne Erkennungs-LED, die bei Gasdetektion aufleuchtet.

Backside of MQ-4 gas sensor module
Rückseite des MQ-4 Gassensormoduls

Testen des MQ-4 Gassensors

Du kannst die Funktion des Moduls leicht ohne Arduino testen. Verbinde VCC und GND mit einer 5V-Stromquelle, und die rote Power-LED auf der Rückseite sollte leuchten. Warte nun einige Sekunden (für stabile Messwerte >20 Sekunden). Du wirst bemerken, dass das Modul leicht warm wird. Das ist normal, da ein Heizelement im Sensor eingebaut ist.

Testing the MQ-4 gas sensor
Test des MQ-4 Gassensors

Wenn du nun ein Feuerzeug in die Nähe hältst und den Knopf drückst, um Gas freizusetzen ( nicht anzünden! ), sollte die grüne Erkennungs-LED auf der Rückseite aufleuchten. Falls nicht, justiere den Trimmer auf der Rückseite des Moduls.

Im nächsten Abschnitt besprechen wir, wie man den MQ-4 Gassensor mit Arduino verbindet und den notwendigen Code schreibt, um Methangas zu erkennen.

Anschließen der Teile

In diesem Abschnitt verbinden wir alle Teile. Beginne damit, die Stromversorgung mit dem Breadboard zu verbinden und von dort aus mit dem MQ-4 Sensor (blaue und rote Kabel). Achte darauf, dass 5V an VCC des MQ-4 angeschlossen sind. Dann verbinden wir den analogen Datenausgang (A0) des MQ-4 mit einem gelben Kabel mit Pin A0 (analoger Eingang) des Arduino.

Connecting the buzzer, led and MQ-4 to the Arduino
Anschließen von Summer, LED und MQ-4 an den Arduino

Beim Anschluss des Summers achte darauf, den Pluspol (mit einem schwachen (+) Symbol gekennzeichnet) mit Pin 3 des Arduino (lila Kabel) zu verbinden. Der andere Pin wird mit Masse verbunden.

Zum Schluss die LED. Zuerst verbinden wir den Widerstand mit dem längeren Pin der LED (Anode) und dann den Widerstand mit Pin 2 des Arduino (grünes Kabel). Der andere LED-Pin wird mit Masse verbunden.

Und das war’s. Die Verkabelung ist abgeschlossen. Wenn du mehr Details brauchst, schau dir die vollständige Verkabelungstabelle unten an.

Von Pin Kabel-Farbe Zu Pin
Arduino 5V Rot Breadboard Positive Schiene
Arduino GND Blau Breadboard Negative Schiene
MQ-4 GND Blau Breadboard Negative Schiene
MQ-4 VCC Rot Breadboard Positive Schiene
MQ-4 Out/Signal Gelb Arduino A0
Summer Positiv (+) Lila Arduino ~4
Summer Negativ (-) Blau Breadboard Negative Schiene
Widerstand Beliebig LED Anode (langer Pin)
Widerstand Beliebig Grün Arduino ~3
LED Kathode (kurzer Pin) Blau Breadboard Negative Schiene

Im nächsten Abschnitt schreiben wir den Code für unser Gaswarnsystem.

Arduino-Code schreiben

In diesem Abschnitt schreiben wir den Code für unser Gaswarnsystem. Wir wollen die LED einschalten und den Summer aktivieren, wenn die Gaswerte in der Umgebung einen bestimmten Schwellenwert überschreiten. Unten findest du den kompletten Code, im nächsten Abschnitt erklären wir die einzelnen Teile.

const int ledPin = 2;
const int buzzerPin = 3;
const int sensorPin = A0;
const int threshold = 500;

void alarm_on() {
  digitalWrite(ledPin, HIGH);
  tone(buzzerPin, 5000);
  delay(1000);
  alarm_off();
}

void alarm_off() {
  digitalWrite(ledPin, LOW);
  noTone(buzzerPin);
  delay(500);
}

void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  int sensorValue = analogRead(sensorPin);
  Serial.print("MQ-4:");
  Serial.println(sensorValue);
  (sensorValue > threshold) ? alarm_on() : alarm_off();
}

Konstanten

Wir beginnen mit der Deklaration der notwendigen Konstanten.

const int ledPin = 2;
const int buzzerPin = 3;
const int sensorPin = A0;
const int threshold = 500;

Zuerst definieren wir ledPin, der die Pin-Nummer angibt, an dem die LED angeschlossen ist. buzzerPin ist der Pin, an dem der Summer angeschlossen ist. Dann brauchen wir eine Konstante für den sensorPin, an dem der MQ-4 Sensor angeschlossen ist. Schließlich definieren wir einen threshold, der den Gaswert angibt, ab dem das Alarmsystem aktiv wird.

Alarmfunktionen

Als nächstes definieren wir zwei Funktionen: alarm_on() und alarm_off(). Diese steuern das Verhalten des Alarmsystems. Die alarm_on() Funktion schaltet den Alarm ein.

void alarm_on() {
  digitalWrite(ledPin, HIGH);
  tone(buzzerPin, 5000);
  delay(1000);
  alarm_off();
}

Dort setzen wir zuerst den LED-Pin auf HIGH, um die LED einzuschalten. Dann aktivieren wir den Summer, indem wir einen Ton mit 5000 Hz erzeugen. Wir warten 1000 ms = 1 Sekunde und rufen schließlich alarm_off() auf, um den Alarm auszuschalten. Das erzeugt einen Piepton, solange hohe Gaswerte erkannt werden.

void alarm_off() {
  digitalWrite(ledPin, LOW);
  noTone(buzzerPin);
  delay(500);
}

In der alarm_off() Funktion setzen wir zuerst den LED-Pin auf LOW, um die LED auszuschalten. Dann stoppen wir den Summer mit der noTone() Funktion. Zum Schluss warten wir 500 ms = 0,5 Sekunden.

Setup-Funktion

In der setup() Funktion initialisieren wir die Kommunikation und die Pin-Modi. Nichts Aufregendes. Achte nur darauf, dass der Sensor-Pin im INPUT-Modus ist.

void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
}

Loop-Funktion

In der loop() Funktion lesen wir kontinuierlich den analogen Wert vom MQ-4 Sensor und lösen den Alarm aus, wenn der Wert den Schwellenwert überschreitet.

void loop() {
  int sensorValue = analogRead(sensorPin);
  Serial.print("MQ-4:");
  Serial.println(sensorValue);
  (sensorValue > threshold) ? alarm_on() : alarm_off();
}

Der einzige interessante Teil ist die Zeile (sensorValue > 500) ? alarm_on() : alarm_off(), in der wir mit einer ternary conditional operator prüfen, ob der Sensorwert größer als der threshold ist. Wenn ja, wird die alarm_on() Funktion aufgerufen, um den Alarm zu aktivieren. Andernfalls wird die alarm_off() Funktion aufgerufen, um den Alarm auszuschalten.

Diese Schleife läuft unendlich weiter, überwacht ständig den Sensorwert und löst den Alarm bei Bedarf aus.

Code ausführen

Wenn du den Serial Monitor öffnest und den Code ausführst, erscheint eine Zeile mit der Bezeichnung „MQ-4“. Wenn du den Sensor dann Methangas aussetzt (z.B. Gas von einem Feuerzeug), solltest du einen plötzlichen Anstieg des Sensorwerts und anschließend einen langsameren Abfall beobachten. Siehe das Bild unten, wo ich genau das gemacht habe.

Serial Plotter output with gas detection peak
Serial Plotter-Ausgabe mit Gaserkennungs-Peak

Herzlichen Glückwunsch, du hast jetzt ein funktionierendes Gaswarnsystem! Viel Spaß beim Experimentieren ; )

Fazit

In diesem Tutorial haben wir gelernt, wie man den MQ-4 Methangas-Sensor mit Arduino verwendet. Wir begannen mit der Vorstellung der benötigten Teile, darunter ein Arduino-Board, der MQ-4 Gassensor, ein Summer, eine LED, Jumper-Kabel und ein Breadboard.

Anschließend haben wir den MQ-4 Gassensor im Detail besprochen, seinen Arbeitsmechanismus erklärt und seine Fähigkeit zur Methanerkennung hervorgehoben.

Danach gingen wir zum praktischen Teil über und erklärten, wie man die Teile verbindet. Wir lieferten eine klare Verdrahtungsanleitung und Schritt-für-Schritt-Anweisungen, um eine erfolgreiche Verbindung zwischen MQ-4 Sensor und Arduino sicherzustellen.

Nachdem die Hardware eingerichtet war, schrieben wir den Arduino-Code. Wir erklärten, wie man den analogen Eingang des Arduino nutzt, um die Sensorwerte zu lesen und einen Alarm auszulösen, wenn die Gaskonzentration einen Schwellenwert überschreitet.

Zusammenfassend ist der MQ-4 Methangas-Sensor ein nützliches Werkzeug zur Erkennung von Methanleckagen oder zur Überwachung von Methanwerten in verschiedenen Anwendungen. Mit diesem Tutorial solltest du nun gut verstehen, wie man den Sensor mit Arduino verwendet und die Messwerte interpretiert.

Denke immer daran, beim Arbeiten mit Gassensoren Vorsicht walten zu lassen und für eine gute Belüftung im Testumfeld zu sorgen. Sicherheit hat oberste Priorität beim Umgang mit potenziell gefährlichen Gasen.

Wir hoffen, dieses Tutorial hat dir den Einstieg in den MQ-4 Methangas-Sensor erleichtert. Wenn du weitere Fragen hast oder zusätzliche Hilfe benötigst, schaue bitte in den FAQ-Bereich oder kontaktiere uns über die angegebenen Links.

Viel Spaß beim Experimentieren und bleib sicher!

Häufig gestellte Fragen

Hier sind einige häufig gestellte Fragen zur Verwendung des MQ-4 Methangas-Sensors mit Arduino:

F1: Wie funktioniert der MQ-4 Gassensor?

Der MQ-4 Gassensor arbeitet nach dem Prinzip der Gasleitfähigkeit. Er enthält ein Sensorelement aus Zinnoxid (SnO2), das mit Methangas reagiert. Wenn Methangas vorhanden ist, erhöht sich die Leitfähigkeit des Sensorelements, was vom Arduino gemessen werden kann.

F2: Kann der MQ-4 Gassensor auch andere Gase als Methan erkennen?

Obwohl der MQ-4 hauptsächlich für Methan ausgelegt ist, kann er auch andere brennbare Gase wie Propan und Butan erkennen. Allerdings ist er für andere Gase möglicherweise nicht so genau oder empfindlich.

F3: Wie genau ist der MQ-4 Gassensor?

Die Genauigkeit des MQ-4 Sensors kann je nach Kalibrierung, Umweltbedingungen und Gaskonzentration variieren. Es wird empfohlen, den Sensor regelmäßig zu kalibrieren, um bessere Genauigkeit zu erzielen.

F4: Wie kalibriere ich den MQ-4 Gassensor?

Zur Kalibrierung kannst du den Sensor einer bekannten Methankonzentration aussetzen und den Empfindlichkeitstrimmer so einstellen, dass der Sensor die gewünschte Reaktion zeigt. Wichtig ist, die Kalibrierungsanweisungen des Herstellers zu beachten.

F5: Kann ich den MQ-4 Gassensor für Sicherheitsanwendungen verwenden?

Obwohl der MQ-4 brennbare Gase erkennen kann, ist er nicht für sicherheitskritische Anwendungen zertifiziert. Er ist hauptsächlich für Bildungs-, Forschungs- und Prototyping-Zwecke gedacht. Für sicherheitsrelevante Anwendungen sollten zertifizierte Gassensoren verwendet werden, die den erforderlichen Standards entsprechen.

F6: Kann ich den MQ-4 Gassensor mit ESP32 verwenden?

Ja, der MQ-4 Sensor kann auch mit ESP32 verwendet werden. Die Verkabelung und der Code sind ähnlich wie beim Arduino. Achte jedoch auf die Spannungspegel und die Pin-Kompatibilität zwischen Sensor und ESP32-Board.

F7: Kann ich das Gaswarnsystem mit Batterien betreiben?

Das ist möglich, erfordert aber recht große Batterien und ich würde es nicht empfehlen. Der MQ-4 Sensor verbraucht etwa 100mA und muss mindestens 30 Sekunden aufgewärmt werden, um zuverlässige Messwerte zu liefern. Selbst wenn der Arduino in den Tiefschlafmodus geht und nur alle 5 Minuten aufwacht, verbraucht der MQ-4 Sensor den Großteil der Energie.

Denke daran, die MQ-4 Gas Sensor Datasheet für detailliertere Informationen und Spezifikationen zu konsultieren.

Links

Im Folgenden findest du weitere nützliche Links zum MQ-4 Sensor und zur Verwendung mit Arduino.