ESP32 - Gassensor

Dieses Tutorial führt Sie durch den Prozess der Nutzung des ESP32 und des MQ2-Gassensors zur Bewertung der Luftqualität, indem die Konzentrationen verschiedener brennbarer Gase wie LPG, Rauch, Alkohol, Propan, Wasserstoff, Methan und Kohlenmonoxid untersucht werden. Wir werden die folgenden Aspekte im Detail behandeln:

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×MQ2 Gassensor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über den MQ2-Gassensor

Der MQ2-Gassensor kann das Vorhandensein verschiedener Gase wie LPG, Rauch, Alkohol, Propan, Wasserstoff, Methan und Kohlenmonoxid in der Umgebung erkennen. Er bietet zwei Ausgabemöglichkeiten: einen digitalen Ausgangspin und einen analogen Ausgangspin.

Es ist wichtig zu beachten, dass der MQ-2-Gassensor keine spezifischen Informationen zu jedem einzelnen Gas liefert. Stattdessen informiert er uns über das Gasgemisch oder über das Vorhandensein von Gasen insgesamt.

Durch den Einsatz des MQ2-Sensors können wir feststellen, ob ein Gasleck vorliegt oder ob die Luftqualität schlecht ist. Diese Informationen ermöglichen es uns, geeignete Maßnahmen zu ergreifen, um unsere Sicherheit zu gewährleisten, wie das Aktivieren eines Alarms oder das Einschalten von Belüftungssystemen.

Pinbelegung

Der MQ-2-Gassensor besteht aus vier Pins mit spezifischen Funktionen:

  • VCC-Pin: Dieser Pin muss mit VCC (5 V) verbunden werden.
  • GND-Pin: Dieser Pin muss mit GND (0 V) verbunden werden.
  • DO-Pin: Es handelt sich um einen digitalen Ausgangspin, der das Vorhandensein von brennbaren Gasen anzeigt. Wenn eine brennbare Gaskonzentration erkannt wird, gibt der Pin ein Niedrigpegel-Signal aus; andernfalls gibt er ein Hochpegel-Signal aus. Der Schwellenwert zur Erkennung der Gaskonzentration kann mithilfe eines eingebauten Potentiometers angepasst werden.
  • AO-Pin: Es handelt sich um einen analogen Ausgangspin, der eine analoge Spannung erzeugt, die proportional zur Gaskonzentration ist. Wenn die Gaskonzentration steigt, steigt auch die Ausgangsspannung, und wenn die Gaskonzentration sinkt, sinkt auch die Ausgangsspannung.
Pinbelegung des MQ-2-Gassensors

Zusätzlich ist der MQ2-Gassensor mit zwei LED-Indikatoren ausgestattet:

  • PWR-LED-Indikator: Diese LED dient als Leistungsanzeige und signalisiert, dass der Sensor mit Strom versorgt wird. Sie leuchtet, wenn der Sensor mit Strom versorgt wird und funktionsfähig ist.
  • DO-LED-Indikator: Diese LED ist mit dem DO-Pin des Sensors verbunden. Sie liefert eine visuelle Darstellung der Gaskonzentration basierend auf dem vom DO-Pin empfangenen Wert. Wenn eine Gaskonzentration vorhanden ist und der DO-Pin auf LOW gesetzt ist, leuchtet der DO-LED-Indikator auf. Umgekehrt, wenn keine Gaskonzentration erkannt wird und der DO-Pin auf HIGH gesetzt ist, schaltet der DO-LED-Indikator aus.

Wie es funktioniert

Bezüglich des DO-Pins:

  • Das MQ2-Modul verfügt über ein eingebautes Potentiometer, mit dem Sie die Empfindlichkeit bzw. den Schwellenwert für die Gaskonzentration einstellen können.
  • Wenn die Gaskonzentration in der Umgebung den eingestellten Schwellenwert überschreitet, wird der Ausgangspin des Sensors auf LOW gesetzt, und die DO-LED leuchtet.
  • Umgekehrt wird der Ausgangspin des Sensors auf HIGH gesetzt, und die DO-LED geht aus, falls die Gaskonzentration unter den eingestellten Schwellenwert fällt.

Bezüglich des AO-Pins:

  • Wenn die Gaskonzentration zunimmt, erhöht sich auch die Spannung am AO-Pin proportional.
  • Umgekehrt: Wenn die Gaskonzentration abnimmt, sinkt auch die Spannung am AO-Pin entsprechend.

Es ist wichtig zu beachten, dass das Einstellen des Potentiometers den Wert am AO-Pin nicht beeinflusst.

Das Aufwärmen des MQ-2-Sensors

Der MQ2-Gassensor benötigt eine Aufwärmzeit, bevor er effektiv verwendet werden kann. Hier sind die Details:

  • Wenn der Sensor nach einer längeren Lagerung (etwa einen Monat oder länger) zum ersten Mal verwendet wird, ist es notwendig, ihn 24–48 Stunden lang aufzuwärmen. Diese verlängerte Aufwärmzeit gewährleistet einen genauen Betrieb.
  • Wenn der Sensor kürzlich verwendet wurde, ist die Aufwärmzeit deutlich kürzer. Typischerweise dauert es nur 5–10 Minuten, bis sich der Sensor vollständig aufwärmt. Während dieser Aufwärmphase kann der Sensor zunächst hohe Messwerte liefern, doch diese Messwerte werden allmählich sinken, bis der Sensor sich stabilisiert.

Um den MQ-2-Sensor aufzuwärmen, verbinden Sie einfach seine VCC- und GND-Pins mit einer Stromversorgung oder verbinden Sie sie mit den VCC- und GND-Pins eines ESP32. Lassen Sie den Sensor in diesem Zustand für die erforderliche Aufwärmzeit verweilen.

Verdrahtungsdiagramm

Da das MQ-2-Gassensor-Modul zwei Ausgänge hat, können Sie je nach Bedarf einen oder beide verwenden.

  • Wie man ESP32 und Gassensor mit Breadboard anschließt (über USB-Kabel mit Strom versorgt)
ESP32 MQ-2 Gassensor Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

  • Wie man ESP32 und Gassensor über ein Breadboard anschließt (über den Vin-Pin mit Strom versorgt)
ESP32 MQ-2 Gassensor Verdrahtungsanleitung

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Wie man ESP32 und Gassensor mit einem Schraubklemmen-Breakout-Board verbindet, das über ein USB-Kabel mit Strom versorgt wird.
Wie man ESP32 und einen Gassensor verbindet.
Wie man ESP32 und Gassensor verdrahtet

ESP32-Code - Wert vom DO-Pin lesen

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-gas-sensor */ #define DO_PIN 16 // ESP32's pin GPIO16 connected to DO pin of the MQ2 sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(DO_PIN, INPUT); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasState = digitalRead(DO_PIN); if (gasState == HIGH) Serial.println("The gas is NOT present"); else Serial.println("The gas is present"); }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die ESP32-Umgebung in der Arduino-IDE einrichtet an.
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den ESP32 hochzuladen.
  • Platzieren Sie den MQ2-Gassensor in der Nähe des Rauchs bzw. des Gases, das Sie erkennen möchten.
  • Sie können das Ergebnis im Seriellen Monitor sehen.
COM6
Send
The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is present The gas is present The gas is present The gas is present The gas is present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Bitte beachten Sie, dass Sie das Potentiometer einstellen können, um die Empfindlichkeit des Sensors fein abzustimmen, falls Sie feststellen, dass der LED-Status ständig an ist oder aus bleibt.

ESP32-Code - Wert vom AO-Pin lesen

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-gas-sensor */ #define AO_PIN 36 // ESP32's pin GPIO36 connected to AO pin of the MQ2 sensor void setup() { // initialize serial communication Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasValue = analogRead(AO_PIN); Serial.print("MQ2 sensor AO value: "); Serial.println(gasValue); }

Schnelle Schritte

  • Kopiere den obigen Code und öffne ihn mit der Arduino-IDE
  • Klicke auf die Upload-Schaltfläche in der Arduino-IDE, um den Code auf den ESP32 hochzuladen.
  • Platziere den MQ-2-Gassensor in der Nähe von Rauch bzw. Gas, das du erkennen möchtest.
  • Sieh dir das Ergebnis im Serial Monitor an.
COM6
Send
MQ2 sensor AO value: 135 MQ2 sensor AO value: 136 MQ2 sensor AO value: 136 MQ2 sensor AO value: 573 MQ2 sensor AO value: 674 MQ2 sensor AO value: 1938 MQ2 sensor AO value: 1954 MQ2 sensor AO value: 2000 MQ2 sensor AO value: 3002 MQ2 sensor AO value: 4014 MQ2 sensor AO value: 4017
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Aus Werten, die von DO oder AO gelesen werden, lässt sich die Luftqualität gemäß Ihrem Standard ableiten oder Sie lösen einen Alarm aus bzw. schalten Lüftungssysteme ein.

※ Notiz:

Dieses Tutorial verwendet die analogRead() Funktion, um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an einen Gassensor angeschlossen ist. Der ESP32-ADC ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen. Allerdings sollten Sie beachten, dass für Projekte, die präzise Messungen erfordern:

  • Der ESP32-ADC ist nicht perfekt genau und könnte eine Kalibrierung für korrekte Ergebnisse benötigen. Jedes ESP32-Board kann ein wenig unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
  • Die Kalibrierung kann schwierig sein, besonders für Anfänger, und liefert möglicherweise nicht immer die genauesten Ergebnisse.

Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) mit dem ESP32 zu verwenden oder einen Arduino zu nutzen, der einen zuverlässigeren ADC hat. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie ESP32 ADC Calibration Driver

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!