ESP32 - Gassensor

Dieses Tutorial zeigt Ihnen, wie Sie die Luftqualität mit einem ESP32 und einem MQ2-Gassensor mit MicroPython-Programmierung überwachen. Damit lassen sich die Konzentrationen verschiedener brennbarer Gase wie Flüssiggas (LPG), Rauch, Alkohol, Propan, Wasserstoff, Methan und Kohlenmonoxid messen. Im Einzelnen lernen wir:

ESP32 MicroPython Gassensor

Erforderliche Hardware

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow
1×(Alternativ) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativ) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativ) ESP32 Uno-form board
1×(Alternativ) ESP32 S3 Uno-form board
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×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 (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.

Überblick über MQ2 Gas Sensor

Der MQ2-Gassensor kann verschiedene Gase in der Umgebung erkennen, darunter Flüssiggas (LPG), Rauch, Alkohol, Propan, Wasserstoff, Methan und Kohlenmonoxid. Er verfügt sowohl über einen digitalen als auch über einen analogen Ausgangspin zur Signalübertragung.

Der MQ2-Sensor liefert keine spezifischen Informationen über einzelne Gase, sondern zeigt das Vorhandensein eines Gemischs oder mehrerer Gase gleichzeitig an.

Mit dem MQ2-Sensor können wir Gaslecks erkennen oder schlechte Luftqualität überwachen und entsprechende Maßnahmen ergreifen, z. B. einen Alarm auslösen oder Lüftungsanlagen aktivieren.

Pinbelegung

Hier ist die überarbeitete Version:

Der MQ2-Gassensor hat vier Pins:

  • VCC-Pin: Verbinden Sie diesen Pin mit VCC (5V).
  • GND-Pin: Verbinden Sie diesen Pin mit GND (0V).
  • DO-Pin: Dies ist der digitale Ausgangspin. Er geht auf LOW, wenn brennbare Gase erkannt werden, und auf HIGH, wenn keine Gase vorhanden sind. Sie können die Erkennungsschwelle mit einem kleinen einstellbaren Bauteil anpassen.
  • AO-Pin: Dies ist der analoge Ausgangspin, der eine Spannung abhängig von der Gaskonzentration ausgibt. Höhere Gaskonzentrationen erhöhen die Spannung, niedrigere verringern sie.
MQ2 Gassensor Pinbelegung

Der Sensor hat außerdem zwei LED-Anzeigen:

  • PWR-LED: Zeigt an, dass der Sensor mit Strom versorgt wird.
  • DO-LED: Leuchtet, wenn laut DO-Pin Gas erkannt wird, und erlischt, wenn kein Gas erkannt wird.

Funktionsweise

Zum DO-Pin:

  • Das Modul hat einen Drehregler, um seine Empfindlichkeit gegenüber Gaskonzentrationen einzustellen.
  • Wenn die Gaskonzentration die eingestellte Schwelle überschreitet, geht der Ausgangspin des Sensors auf LOW und die DO-LED leuchtet.
  • Wenn die Gaskonzentration unter der eingestellten Schwelle liegt, geht der Ausgangspin des Sensors auf HIGH und die DO-LED erlischt.

Zum AO-Pin:

  • Mit steigender Gaskonzentration steigt die Spannung.
  • Mit sinkender Gaskonzentration sinkt die Spannung.

Das Potentiometer hat keinen Einfluss auf den Wert am AO-Pin.

Aufwärmen des MQ2-Sensors

Der MQ2-Gassensor benötigt vor der Verwendung eine Aufwärmphase. Wenn der Sensor länger als einen Monat nicht benutzt wurde, lassen Sie ihn 24-48 Stunden aufwärmen, um genaue Messwerte zu gewährleisten. Wurde er kürzlich verwendet, reicht eine Aufwärmzeit von 5-10 Minuten. Anfangs können die Messwerte hoch sein, sie stabilisieren sich aber mit der Zeit.

Um den MQ2-Sensor aufzuwärmen, verbinden Sie seine VCC- und GND-Pins mit einer Stromquelle oder mit den VCC- und GND-Pins eines ESP32 und lassen ihn für die erforderliche Zeit angeschlossen.

Verdrahtungsdiagramm

Das MQ2-Gassensormodul bietet zwei Ausgänge. Sie können je nach Bedarf einen oder beide verwenden.

  • So verbinden Sie ESP32 und Gassensor mit einem Steckbrett (Stromversorgung über USB-Kabel)
ESP32 MicroPython MQ2 Gassensor Schaltplan

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

  • So verbinden Sie ESP32 und Gassensor mit einem Steckbrett (Stromversorgung über Vin-Pin)
ESP32 MicroPython MQ2 Gassensor Verdrahtungsanleitung

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

So verbinden Sie ESP32 und Gassensor
So verdrahten Sie ESP32 und Gassensor

ESP32 MicroPython-Code - Wert vom DO-Pin lesen

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython 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-micropython/esp32-micropython-gas-sensor */ from machine import Pin import utime # For timing functions DO_PIN = Pin(16, Pin.IN) # The ESP32 pin GPIO16 as an digital input pin of the MQ2 gas sensor module while True: gas_state = DO_PIN.value() # Read the digital value from the pin if gas_state == 1: print("The gas is NOT present") else: print("The gas is present") utime.sleep(1) # Add a small delay to avoid spamming the output

Schnelle Schritte

So richten Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE ein und führen ihn aus:

  • Stellen Sie sicher, dass die Thonny IDE auf Ihrem Computer installiert ist.
  • Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board installiert ist.
  • Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
  • Schließen Sie das ESP32-Board gemäß dem bereitgestellten Schaltplan an den MQ2-Gassensor an.
  • Verbinden Sie das ESP32-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Thonny IDE auf Ihrem Computer.
  • Gehen Sie in der Thonny IDE zu Tools Options.
  • Wählen Sie im Reiter Interpreter die Option MicroPython (ESP32) aus dem Dropdown-Menü.
  • Stellen Sie sicher, dass der richtige Port ausgewählt ist. Die Thonny IDE erkennt ihn normalerweise automatisch, aber eventuell müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32:
    • Klicken Sie auf die Schaltfläche Save oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Benennen Sie die Datei main.py.
  • Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen.
  • Bringen Sie den MQ2-Gassensor in die Nähe des Rauchs oder Gases, das erkannt werden soll.
  • Sehen Sie sich die Meldung in der Shell unten in Thonny an.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot 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
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Wenn die LED ständig leuchtet oder gar nicht angeht, können Sie die Empfindlichkeit des Sensors durch Drehen des kleinen Reglers anpassen.

ESP32 MicroPython-Code - Wert vom AO-Pin lesen

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython 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-micropython/esp32-micropython-gas-sensor */ from machine import ADC, Pin import utime # For timing functions AO_PIN = ADC(Pin(36)) # The ESP32 pin GPIO36 (ADC0) as an analog input pin of the MQ2 gas sensor module # Set the ADC width (resolution) to 12 bits AO_PIN.width(ADC.WIDTH_12BIT) # Set the attenuation to 11 dB, allowing input range up to ~3.3V AO_PIN.atten(ADC.ATTN_11DB) while True: gas_value = AO_PIN.read() # Read the analog value (0-4095) print(gas_value) # Print the analog value utime.sleep(1) # Add a small delay to avoid spamming the output

Schnelle Schritte

  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32-Board.
  • Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen.
  • Platzieren Sie den MQ2-Gassensor in der Nähe des Rauchs oder Gases, das Sie erkennen möchten.
  • Sehen Sie sich die Meldung in der Shell unten in Thonny an.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot MQ2 sensor AO value: 935 MQ2 sensor AO value: 1136 MQ2 sensor AO value: 1136 MQ2 sensor AO value: 1573 MQ2 sensor AO value: 1674 MQ2 sensor AO value: 1938 MQ2 sensor AO value: 1954 MQ2 sensor AO value: 21000 MQ2 sensor AO value: 2002 MQ2 sensor AO value: 2014 MQ2 sensor AO value: 2017
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Sie können die Werte von DO oder AO verwenden, um zu prüfen, ob die Luftqualität Ihren Anforderungen entspricht, um einen Alarm auszulösen oder um Lüftungsanlagen einzuschalten.

※ Notiz:

Dieses Tutorial zeigt, wie Sie mit der Funktion adc.read() Werte von einem ADC (Analog-Digital-Wandler) lesen, der mit einem Gassensor verbunden ist. Der ADC des ESP32 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Wenn Ihr Projekt jedoch genaue Messungen benötigt, beachten Sie Folgendes:

  • Der ADC des ESP32 ist nicht perfekt genau und muss für präzise Ergebnisse eventuell kalibriert werden. Jedes ESP32-Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board erforderlich.
  • Die Kalibrierung kann besonders für Anfänger schwierig sein und liefert nicht immer genau die gewünschten Ergebnisse.

Für Projekte mit hohen Genauigkeitsanforderungen sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 verwenden oder auf einen Arduino zurückgreifen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 dennoch kalibrieren möchten, lesen Sie den 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.

※ 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!