Arduino Nano ESP32 - Gassensor

Dieses Tutorial führt Sie durch den Prozess der Nutzung des Arduino Nano ESP32 und des MQ-2-Gassensors, um die Luftqualität zu bewerten, 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×Arduino Nano ESP32
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 Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

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 MQ-2-Gassensor

Der MQ-2-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 über jedes einzelne Gas liefert. Stattdessen informiert er uns über die Kombination von Gasen oder das Vorhandensein von Gasen als Ganzes.

Durch den Einsatz des MQ-2-Sensors können wir feststellen, ob ein Gasleck vorliegt oder die Luftqualität schlecht ist. Diese Information ermöglicht es uns, geeignete Maßnahmen zu ergreifen, um unsere Sicherheit zu gewährleisten, z. B. einen Alarm auszulösen oder Belüftungssysteme zu aktivieren.

Pinbelegung

Der MQ-2-Gassensor besteht aus vier Anschlüssen 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 brennbarer Gase anzeigt. Wenn eine brennbare Gaskonzentration erkannt wird, liefert der Pin ein LOW-Signal aus; andernfalls liefert er ein HIGH-Signal aus. Der Schwellenwert zur Erkennung der Gaskonzentration kann über ein eingebautes Potentiometer eingestellt werden.
  • AO-Pin: Es handelt sich um einen analogen Ausgangspin, der eine analoge Spannung erzeugt, die proportional zur Gaskonzentration ist. Wenn die Gaskonzentration zunimmt, steigt auch die Ausgangsspannung; sinkt die Gaskonzentration, sinkt entsprechend die Ausgangsspannung.
Pinbelegung des MQ-2-Gassensors

Zusätzlich ist der MQ-2-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 in Betrieb ist.
  • DO-LED-Indikator: Diese LED ist mit dem DO-Pin des Sensors verbunden. Sie zeigt eine visuelle Darstellung der Gaskonzentration basierend auf dem vom DO-Pin empfangenen Wert. Wenn die Gaskonzentration vorhanden ist und der DO-Pin auf LOW gesetzt ist, geht der DO-LED-Indikator an. Umgekehrt, wenn keine Gaskonzentration erkannt wird und der DO-Pin auf HIGH gesetzt ist, geht der DO-LED-Indikator aus.

So funktioniert es

Bezüglich des DO-Pins:

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

Bezüglich des AO-Pins:

  • Wenn die Gaskonzentration zunimmt, erhöht sich auch die Spannung am AO-Pin proportional.
  • Umgekehrt gilt: Wenn die Gaskonzentration abnimmt, sinkt 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 MQ2-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 zum ersten Mal verwendet wird (etwa einen Monat oder länger), muss er 24–48 Stunden aufgewärmt werden. Diese verlängerte Aufwärmzeit gewährleistet einen zuverlässigen Betrieb.
  • Wenn der Sensor kürzlich verwendet wurde, ist die Aufwärmzeit deutlich kürzer. Typischerweise benötigt der Sensor nur 5–10 Minuten, um sich vollständig aufzuwärmen. Während dieser Aufwärmphase kann der Sensor anfangs hohe Messwerte liefern, diese Messwerte werden jedoch allmählich abnehmen, bis der Sensor stabilisiert ist.

Um den MQ2-Sensor aufzuwärmen, schließen Sie einfach seine VCC- und GND-Pins an eine Stromversorgung an oder verbinden Sie sie mit den VCC- und GND-Pins eines Arduino Nano ESP32. Lassen Sie den Sensor in diesem Zustand für die erforderliche Aufwärmzeit verbleiben.

Verdrahtungsdiagramm

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

  • Der Schaltplan zwischen dem Arduino Nano ESP32 und dem MQ-2-Gassensor bei Betrieb über den USB-Anschluss.
Arduino Nano ESP32 MQ-2 Gassensor-Verdrahtungsdiagramm

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

  • Der Schaltplan zwischen dem Arduino Nano ESP32 und dem MQ-2-Gassensor bei Versorgung über den Vin-Pin.
Arduino Nano ESP32 Luftqualitäts-Schaltplan

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

Arduino Nano ESP32 Code - Wert vom DO-Pin lesen

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-gas-sensor */ #define DO_PIN D2 // The Arduino Nano ESP32's pin connected to DO pin of the MQ2 sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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 dies das erste Mal ist, dass Sie Arduino Nano ESP32 verwenden, sehen Sie sich wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet an.
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code auf Arduino Nano ESP32 hochzuladen.
  • Platzieren Sie den MQ-2-Gassensor in der Nähe des Rauchs oder Gases, das Sie erkennen möchten.
  • Überprüfen Sie das Ergebnis im Serial Monitor.
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, falls Ihnen auffällt, dass der LED-Status dauerhaft eingeschaltet bleibt oder ausgeschaltet ist, um die Empfindlichkeit des Sensors zu feinzujustieren.

Arduino Nano ESP32-Code - Wert vom AO-Pin lesen

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-gas-sensor */ #define AO_PIN A5 // The Arduino Nano ESP32's pin connected to AO pin of the MQ2 sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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

  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino Nano ESP32 hochzuladen
  • Platzieren Sie den MQ2-Gassensor in der Nähe des Rauchs oder Gases, das Sie erkennen möchten
  • Überprüfen Sie das Ergebnis im seriellen Monitor
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 basierend auf Ihrem Standard ableiten oder einen Alarm auslösen bzw. Belüftungssysteme einschalten.

※ Notiz:

Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an einen Sensor oder eine Komponente angeschlossen ist. Der ADC des Arduino Nano ESP32 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die eine präzise Messung erfordern, beachten Sie Folgendes:

  • Der ADC des Arduino Nano ESP32 ist nicht vollkommen genau und könnte eine Kalibrierung für korrekte Ergebnisse erfordern. Jedes Arduino Nano ESP32-Board kann sich leicht unterscheiden, daher ist eine Kalibrierung für jedes einzelne Board erforderlich.
  • Die Kalibrierung kann herausfordernd sein, besonders für Anfänger, und liefert möglicherweise nicht immer exakt die gewünschten Ergebnisse.

Für Projekte mit hoher Präzision sollten Sie in Erwägung ziehen, einen externen ADC zu verwenden (z. B. ADS1115) mit dem Arduino Nano ESP32 oder einen anderen Arduino zu verwenden, wie dem Arduino Uno R4 WiFi, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des Arduino Nano 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.

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!