ESP32 - MQ3 Alkohol Sensor
Diese Anleitung führt Sie durch die Verbindung des MQ3 Alkohol Sensors mit ESP32, um Ethanol- und Alkoholdampfkonzentrationen in der Umgebungsluft zu erkennen und zu messen. Der MQ3 Sensor dient als grundlegende Komponente für Alkoholtester-Projekte, Alkoholerkennungssysteme und Luftqualitätsüberwachungsanwendungen.
In diesem Leitfaden behandeln wir:
- Verbindung des MQ3 Alkohol Sensors mit ESP32
- Programmierung von ESP32 zum Lesen und Interpretieren von Alkoholdampfwerten

Benötigte Hardware
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) |
Über den MQ3 Alkohol Sensor
Als Chemiresistor klassifiziert, verwendet der MQ3 Metal Oxide Semiconductor (MOS) Technologie, um Alkohol durch Widerstandsveränderungen in seiner Erkennungsschicht zu detektieren. Dieser Sensor zeigt außergewöhnliche Empfindlichkeit gegenüber Ethanoldampf bei verschiedenen Konzentrationsstufen.
Das Herz des Sensors besteht aus Zinndioxid (SnO2), das auf ein Aluminiumoxid-Keramiksubstrat aufgebracht ist. Das Erhitzen dieses Materials ermöglicht es, mit Alkoholmolekülen zu interagieren. Ein schützender Edelstahlfilter (Explosionsschutzgitter) umhüllt das Sensorelement und schützt das Heizelement, während gleichzeitig die Gasdiffusion in die Messkammer ermöglicht wird.
Häufige Anwendungen umfassen Alkohltestergeräte, Alkohol-Detektionsausrüstung für das Fahren unter Alkoholeinfluss, Alkoholalarmanlagen und Umgebungs-Alkohldampfüberwachung.
Technische Spezifikationen
- Betriebsspannung: 5V DC
- Lastwiderstand: 200 KΩ
- Heizwiderstand: 33Ω ± 5%
- Heizleistung: < 800mW
- Messwiderstand: 1 MΩ – 8 MΩ
- Erkennungsbereich: 25 – 500 ppm (parts per million)
- Vorheizzeit: 24-48 Stunden bei der ersten Verwendung
Über ppm: Parts-per-million (ppm) drückt das Konzentrationsverhältnis von Zielmolekülen zu Gesamtgasmolekülen aus. Zum Beispiel bedeutet ein 500 ppm Messwert, dass 500 Alkoholmoleküle pro 1.000.000 Gesamtmolekülen existieren, wobei 999.500 andere atmosphärische Bestandteile sind.
Pinout
Das MQ3 Sensor Modul verfügt über vier Anschlusspins:
- VCC Pin: An +5V Stromversorgung anschließen.
- GND Pin: An Masse (0V) anschließen.
- DO Pin: Digital Output—wird LOW wenn Alkohol den Schwellenwert überschreitet, andernfalls HIGH. Schwellenwert über das eingebaute Potentiometer einstellbar.
- AO Pin: Analog Output—Spannung variiert mit Alkoholkonzentration. Höherer Alkoholgehalt erzeugt höhere Spannung.

Visuelle Indikatoren umfassen zwei LEDs:
- PWR-LED: Leuchtet auf, wenn das Modul Strom erhält.
- DO-LED: Spiegelt den Digital Output Zustand—leuchtet während Alkoholerkennung, bleibt dunkel andernfalls.
Funktionsweise
Der MQ3 arbeitet durch Widerstandsänderungen in seinem Zinndioxid (SnO2) Halbleitermaterial:
Saubere Luft Zustand: Das Erhitzen des SnO2 bewirkt, dass Sauerstoffmoleküle an seiner Oberfläche anhaften, Elektronen einfangen und eine Verarmungsschicht bilden. Diese Elektroneneinfangung erzeugt eine Leitfähigkeitsbarriere und erhält hohen Widerstand aufrecht.
Alkoholpräsenz: Alkoholmoleküle reagieren mit Oberflächensauerstoff, brechen Bindungen auf und geben eingefangene Elektronen zurück in das Zinndioxid frei. Dies steigert die Leitfähigkeit—höhere Alkoholwerte bedeuten niedrigeren Widerstand.
Der Sensor bietet zwei Ausgabemodi:
Digital Output (DO Pin):
- Schwellenwerteinstellung über eingebautes Potentiometer.
- DO gibt LOW aus (LED an) wenn Alkohol den Schwellenwert überschreitet.
- DO gibt HIGH aus (LED aus) wenn Alkohol unter dem Schwellenwert bleibt.
Analog Output (AO Pin):
- Spannungsausgang proportional zur Alkoholkonzentration.
- Erhöhter Alkohol = erhöhte Spannungsausgabe.
- Verringerter Alkohol = verringerte Spannungsausgabe.
- Hinweis: Potentiometer beeinflusst nur Digital Output, nicht die Analogmessungen.
Aufwärmung und Kalibrierung
Vorheizanforderungen
Der MQ3 erfordert Aufheizung vor der Erzeugung genauer Messungen:
- Erste Verwendung oder lange Lagerung (30+ Tage): Stromversorgung für 24-48 Stunden aufrechterhalten für Sensorstabilisierung und Messgenauigkeit.
- Häufige Verwendung: Eine 5-10 Minuten Aufwärmung genügt. Frühe Messwerte können Spitzen zeigen, stabilisieren sich aber.
Verbinden Sie einfach VCC und GND mit 5V Stromversorgung oder den Stromanschlüssen Ihres ESP32 für die Aufwärmzeit.
Bestimmung von Schwellenwerten
Heizungsbasierte Sensoren wie der MQ3 können während der Lagerung driften. Stellen Sie genaue Alkoholtester-Schwellenwerte durch diese Kalibrierung fest:
- Saubere Luft Basis: Betreiben Sie den Sensor in frischer Luft und notieren Sie Analogwerte (typischerweise 100-150).
- Alkoholexposition: Positionieren Sie Isopropylalkohol oder Handdesinfektionsmittel in der Nähe (nicht berührend) des Sensors und lassen Sie nur Dämpfe den Sensor erreichen. Notieren Sie die erhöhten Messwerte (üblicherweise 400-900 abhängig von der Dampfstärke).
- Bereiche festlegen: Verwenden Sie die notierten Werte um Zonen zu definieren:
- Nüchtern Zustand: Unter Basis + 20 (z.B., < 120)
- Leichter Konsum: Mittlere Bereichswerte (z.B., 120-400)
- Starker Konsum: Über moderatem Schwellenwert (z.B., > 400)
Kritisch: Sensoreigenschaften variieren zwischen Geräten und Umgebungen. Kalibrieren Sie immer mit Ihrer spezifischen Hardware vor der Verwendung.
Einstellung des Digital Schwellenwerts
Stellen Sie den DO Pin Auslösepegel mit dem Trimmpotenziometer ein:
- Setzen Sie den Sensor Alkoholdampf aus.
- Drehen Sie das Potentiometer im Uhrzeigersinn bis die LED aktiviert wird.
- Drehen Sie gegen den Uhrzeigersinn langsam bis die LED gerade deaktiviert wird.
- Der Schwellenwert ist jetzt kalibriert.
Schaltplan
Das MQ3 Modul bietet beide Ausgangspins. Verwenden Sie einen oder beide je nach Ihren Projektanforderungen.
| MQ3 Alkohol Sensor | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| DO | GPIO 19 |
| AO | GPIO 36 (ADC0) |

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.
ESP32 Code - Digital Output Lesen
Schnelle Schritte
- Falls Sie ESP32 zum ersten Mal verwenden, siehe Einrichtung der Umgebung für ESP32 in Arduino IDE.
- Kopieren Sie den obigen Code und öffnen Sie ihn mit Arduino IDE
- Klicken Sie auf den Upload Button in Arduino IDE um den Code auf ESP32 hochzuladen
- Platzieren Sie eine Alkoholdampfquelle in der Nähe des MQ3 Sensors (Handdesinfektionsmittel oder Reinigungsalkohol auf Watte funktioniert gut)
- Sehen Sie das Ergebnis im Serial Monitor
Hinweis: Falls die Messwerte nicht mit der Realität übereinstimmen (Fehlauslösungen oder verpasste Erkennungen), justieren Sie das Potentiometer des Moduls. Im Uhrzeigersinn erhöht die Empfindlichkeit; gegen den Uhrzeigersinn verringert sie. Feineinstellung bis sich die Genauigkeit verbessert.
ESP32 Code - Analog Output Lesen
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit Arduino IDE
- Klicken Sie auf den Upload Button in Arduino IDE um den Code auf ESP32 hochzuladen
- Führen Sie Alkoholdampf zum Sensor (Handdesinfektionsmittel oder Isopropylalkohol)
- Überprüfen Sie das Ergebnis im Serial Monitor
Mit Digital oder Analog Output können Sie Schwellenlogik implementieren, um Alarme auszulösen, Warnlichter zu aktivieren oder Daten für Alkoholtester-Anwendungen zu protokollieren.
※ Notiz:
Diese Anleitung verwendet die analogRead() Funktion um Werte von einem ADC (Analog-to-Digital Converter) zu lesen, der mit einem Sensor oder Bauteil verbunden ist. Der ADC des ESP32 ist für Projekte geeignet, die keine hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, beachten Sie jedoch folgende Punkte:
- Der ADC des ESP32 ist nicht perfekt genau und könnte eine Kalibrierung für korrekte Ergebnisse erfordern. Jede ESP32-Platine kann leicht variieren, daher ist eine Kalibrierung für jede einzelne Platine notwendig.
- Die Kalibrierung kann herausfordernd sein, besonders für Anfänger, und liefert möglicherweise nicht immer die exakten Ergebnisse, die Sie wünschen.
Für Projekte, die hohe Präzision erfordern, erwägen Sie die Verwendung eines externen ADC (z.B. ADS1115) mit dem ESP32 oder die Verwendung eines anderen Arduino, wie dem Arduino Uno R4 WiFi, der einen zuverlässigeren ADC hat. Falls Sie dennoch den ADC des ESP32 kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.
ESP32 Code - Alkoholtester mit Schwellenwert-Erkennung
Dieses Beispiel zeigt, wie Analog Output durch kalibrierte Schwellenwerte interpretiert wird, um Intoxikationsstufen zu schätzen.
Schnelle Schritte
- Wichtig: Kalibrieren Sie zuerst Ihren Sensor mit dem Analog-Lese-Beispiel, um passende Schwellenwerte für Ihr Setup zu finden.
- Ändern Sie die SOBER_THRESHOLD und DRUNK_THRESHOLD Konstanten mit Ihren kalibrierten Werten.
- Kopieren Sie den geänderten Code und öffnen Sie ihn mit Arduino IDE
- Klicken Sie auf den Upload Button in Arduino IDE um den Code auf ESP32 hochzuladen
- Testen Sie mit Alkoholdampf (Isopropylalkohol oder Handdesinfektionsmittel-Dampf)
- Überprüfen Sie Statusmeldungen im Serial Monitor
Haftungsausschluss: Dieses Projekt dient nur Bildungszwecken. Verwenden Sie dieses Gerät niemals für rechtliche Alkohltester-Zwecke oder Fahrsicherheitsbewertungen.
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.