Arduino Nano ESP32 - MQ-3 Alkoholsensor
Dieses Tutorial zeigt Ihnen, wie man den Arduino Nano ESP32 mit dem MQ3-Alkohol-Sensor verwendet, um Ethanol- und Alkoholdampfkonzentrationen zu erkennen und zu messen. Der MQ3-Sensor eignet sich ideal für den Aufbau von Atemalkoholanalysatoren, Alarmsystemen für Alkoholdampf und Instrumenten zur Beurteilung der Luftqualität.
In diesem Tutorial lernen Sie:
- Anschluss des MQ-3-Alkoholsensor-Moduls an den Arduino Nano ESP32
- Programmierung des Arduino Nano ESP32 zum Auslesen und Verarbeiten von Alkoholkonzentrationsdaten

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den MQ3-Alkoholsensor
Der MQ3 ist ein Metalloxid-Halbleiter (MOS) Chemiresistor, der das Vorhandensein von Alkohol erkennt, indem er Widerstandsveränderungen in seinem Sensorelement überwacht. Dieser Sensor ist auf die Erkennung von Ethanoldampf spezialisiert und liefert über einen breiten Konzentrationsbereich hinweg eine konsistente Leistung.
Der aktive Bestandteil des Sensors besitzt eine Zinnoxid-Schicht (SnO2), die auf einem Aluminiumoxid-Keramiksubstrat aufgebracht ist. Durch Wärmeaktivierung wird das SnO2-Material gegenüber den umliegenden Alkoholmolekülen reaktiv. Eine Schutzmasche aus Edelstahl umschließt den Sensor und schützt die internen Bauteile, während Gasmoleküle den Zugang zur Detektionskammer ermöglichen.
Typische Anwendungen umfassen selbstgebaute Alkomat-Systeme, Geräte zur Erkennung von Fahruntüchtigkeit, Alkoholdampf-Warnsysteme und Umweltüberwachungsstationen zur Messung von Alkohol in der Luft.
Technische Spezifikationen
- Betriebsspannung: 5 V Gleichspannung
- Lastwiderstand: 200 kΩ
- Heizwiderstand: 33 Ω ± 5%
- Heizleistung: < 800 mW
- Sensorwiderstand: 1 MΩ – 8 MΩ
- Detektionsbereich: 25 – 500 ppm (Teile pro Million)
- Aufheizzeit: 24–48 Stunden beim ersten Einsatz
Was ist ppm? Der Begriff ppm (Teile pro Million) drückt das Konzentrationsverhältnis der Zielgas-Moleküle zu den Gesamtmolekülen aus. Zum Beispiel bedeuten 500 ppm, dass 500 Alkohol-Moleküle in jedem 1.000.000 Gas-Molekül vorhanden sind, wobei die verbleibenden 999.500 anderen atmosphärischen Bestandteilen darstellen.
Pinbelegung
Das MQ-3-Sensor-Modul bietet vier Anschlussklemmen:
- VCC-Pin: Mit der +5-V-Stromversorgung verbinden.
- GND-Pin: Mit dem Masseanschluss (0 V) verbinden.
- DO-Pin: Der Digitalausgang schaltet auf LOW, wenn der Alkohol den Schwellenwert überschreitet, oder auf HIGH, wenn er darunter liegt. Der Schwellenwert lässt sich über das Potentiometer an Bord einstellen.
- AO-Pin: Der Analogausgang liefert eine Spannung proportional zur Alkoholkonzentration. Mehr Alkohol erzeugt eine höhere Spannungsausgabe.

Zwei LED-Indikatoren zeigen den visuellen Status:
- PWR-LED: Leuchtet, wenn das Modul mit Strom versorgt wird.
- DO-LED: Zeigt den Status des digitalen Ausgangs — leuchtet während der Alkoholerkennung und bleibt ansonsten dunkel.
Wie es funktioniert
Das Detektionsprinzip des MQ-3 beruht auf Widerstandsänderungen in seinem Zinnoxid (SnO2)-Halbleiter:
In sauberer Luft: Durch das Erhitzen haften Sauerstoffmoleküle an der Oberfläche von SnO2, fangen Elektronen ein und bilden eine Verarmungsschicht. Diese eingefangenen Elektronen erzeugen eine Barriere für den Elektronentransport, was zu einem hohen elektrischen Widerstand führt.
Bei Alkoholeinwirkung: Alkoholmoleküle interagieren mit Sauerstoff an der Oberfläche, brechen Bindungen und setzen gefangene Elektronen in das Gitter des Zinn(IV)-Oxids frei. Diese Elektronenfreisetzung erhöht die Leitfähigkeit dramatisch – höhere Alkoholkonzentrationen führen zu niedrigeren Widerstandswerten.
Der Sensor bietet zwei Ausgangsmodi:
Digitalausgang (DO-Pin):
- Ein eingebautes Trimmpotentiometer steuert die Detektionsschwelle.
- Die Alkoholerkennung oberhalb des Schwellenwerts setzt DO auf LOW und aktiviert die LED-Anzeige.
- Die Detektion unterhalb der Schwelle hält DO auf HIGH und die LED ist aus.
Analogausgang (AO-Pin):
- Die Spannung ist direkt proportional zur Alkoholkonzentration.
- Erhöhter Alkoholdampf führt zu einer höheren Spannungsausgabe.
- Verringerter Alkoholdampf führt zu einer geringeren Spannungsausgabe.
- Hinweis: Das Trimm-Potentiometer beeinflusst nur den digitalen Schwellenwert, nicht die analoge Ausgangsspannung.
Aufwärmen und Kalibrierung
Anforderungen an die Vorheizung
Der MQ-3-Sensor benötigt eine ordnungsgemäße Erwärmung für zuverlässige Messungen:
Erstinbetriebnahme oder längere Lagerung (30+ Tage): Halten Sie die kontinuierliche Erwärmung 24–48 Stunden aufrecht, um den Sensor zu stabilisieren und Messgenauigkeit sicherzustellen.
Bei kürzlicher Nutzung: Eine kurze Aufwärmphase von 5–10 Minuten ist ausreichend. Anfangswerte können zunächst hoch erscheinen, normalisieren sich jedoch schnell.
Um den Sensor zu erwärmen, schließen Sie VCC und GND an 5 V bzw. Masse an – entweder über eine dedizierte Stromversorgung oder direkt an die Versorgungspins Ihres Arduino Nano ESP32.
Schwellenwerte finden
Gassensoren mit Heizelementen wie dem MQ-3 können nach der Lagerung Kalibrierungsabweichungen aufweisen. Für Projekte mit Atemalkoholmessgeräten legen Sie durch diese Kalibrierungssequenz geeignete Schwellenwerte fest:
- Messung der Baseline bei sauberer Luft: Führe den Sensor in frischer Luft aus, ohne Alkohol. Notiere den analogen Wert (typischerweise 100-150).
- Test mit Alkoholdampf: Positioniere Isopropanol oder Handdesinfektionsmittel in der Nähe des Sensors (berühre ihn nicht), damit der Dampf den Detektor erreicht. Notiere die erhöhten Messwerte (üblich 400-900, abhängig von der Dampfkonzentration).
- Definition der Detektionsschwellenwerte: Verwende deine aufgezeichneten Daten, um Detektionszonen festzulegen:
- Nüchterner Bereich: Werte unter Basiswert + 20 (Beispiel: < 120)
- Mittlerer Bereich: Werte im mittleren Bereich (Beispiel: 120-400)
- Hoher Bereich: Werte, die das moderate Limit überschreiten (Beispiel: > 400)
Wichtig: Einzelne Sensoreinheiten und Umweltbedingungen erzeugen unterschiedliche Werte. Kalibrieren Sie immer mit Ihrer spezifischen Hardware, bevor Sie sie einsetzen.
Festlegen der digitalen Schwelle
Konfigurieren Sie den Aktivierungspunkt des DO-Pins mithilfe des Potentiometers des Moduls:
- Setze den Sensor dem Alkoholdampf aus.
- Drehe das Potentiometer im Uhrzeigersinn, bis die LED aktiviert wird.
- Drehe das Potentiometer allmählich gegen den Uhrzeigersinn, bis die LED sich deaktiviert.
- Der digitale Schwellenwert ist jetzt kalibriert.
Verdrahtungsdiagramm
Das MQ-3-Modul bietet sowohl digitale als auch analoge Ausgänge. Wählen Sie entweder einen Ausgang aus oder verwenden Sie beide gleichzeitig, je nach den Anforderungen Ihrer Anwendung.
- Das Verdrahtungsdiagramm zwischen Arduino Nano ESP32 und dem MQ-3-Alkoholsensor bei Stromversorgung über den USB-Port.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| MQ3 Alcohol Sensor | Arduino Nano ESP32 |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | D2 |
| AO | A5 |
- Das Verdrahtungsdiagramm zwischen dem Arduino Nano ESP32 und dem MQ-3-Alkoholsensor, wenn die Stromversorgung über den Vin-Pin erfolgt.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino Nano ESP32 Code - Digitalausgang-Auslesen
Schnelle Schritte
- Wenn Sie Arduino Nano ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet an.
- Kopieren Sie den obigen Code in die Arduino IDE.
- Klicken Sie auf die Hochladen-Schaltfläche, um Arduino Nano ESP32 zu programmieren.
- Bringen Sie eine Alkoholdampfquelle in die Nähe des MQ-3-Sensors (Händedesinfektionsmittel oder Isopropanol auf Baumwolle funktionieren gut).
- Sehen Sie sich die Detektionsergebnisse im Serial Monitor an.
Beachten Sie, dass Sie das Potentiometer einstellen müssen, wenn der LED-Status ständig ein- oder ausgeschaltet bleibt, um die Empfindlichkeit des Sensors für eine genaue Erkennung fein abzustimmen.
Arduino Nano ESP32 Code - Analoge Ausgabe auslesen
Schnelle Schritte
- Kopieren Sie den obenstehenden Code in die Arduino-IDE
- Klicken Sie auf die Hochladen-Schaltfläche, um den Arduino Nano ESP32 zu programmieren
- Führen Sie dem Sensor Alkoholdampf zu (Handdesinfektionsmittel- oder Isopropylalkohol-Dämpfe)
- Überwachen Sie die Werte im Serial Monitor
Mit digitalen oder analogen Ausgängen können Sie eine schwellenwertbasierte Logik erstellen, um Alarme auszulösen, Warnanzeigen zu steuern oder Daten für Anwendungen mit Atemalkoholtests zu erfassen.
Arduino Nano ESP32 Code - Atemalkoholtester mit Schwellwert-Erkennung
Dieser Code demonstriert die Auswertung des analogen Ausgangs anhand kalibrierter Schwellenwerte zur Bestimmung des Alkoholkonsums.
Schnelle Schritte
- Wesentlich: Kalibrieren Sie zunächst Ihren spezifischen Sensor mit dem Beispiel der analogen Messung, um geeignete Schwellenwerte zu finden.
- Ersetzen Sie die Konstanten SOBER_THRESHOLD und DRUNK_THRESHOLD im Code durch Ihre kalibrierten Werte.
- Laden Sie den geänderten Code auf das Arduino Nano ESP32 hoch.
- Testen Sie, indem Sie es dem Alkoholdampf aussetzen (Isopropylalkohol oder Dampf von Handdesinfektionsmitteln).
- Beobachten Sie die Statusmeldungen im seriellen Monitor.
Haftungsausschluss: Dies ist ausschließlich ein Bildungsprojekt. Verwenden Sie dieses Gerät niemals als gesetzlich zulässigen Atemalkoholtester oder zur Beurteilung der Fahrtüchtigkeit.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Sensor oder Bauteil verbunden ist. Der ADC des Arduino Nano ESP32 ist für Projekte geeignet, die keine hohe Genauigkeit erfordern. Allerdings sollten Sie bei Projekten, die präzise Messungen erfordern, Folgendes beachten:
- Der ADC des Arduino Nano ESP32 ist nicht völlig 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 anspruchsvoll sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die gewünschten exakten Ergebnisse.
Für Projekte, die eine hohe Genauigkeit erfordern, sollten Sie die Verwendung eines externen ADC (z. B. ADS1115) mit dem Arduino Nano ESP32 in Betracht ziehen oder die Verwendung eines anderen Arduino-Boards, wie dem Arduino Uno R4 WiFi, das über einen zuverlässigeren ADC verfügt. 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.