ESP8266 - MQ3 Alkohol Sensor
Diese Anleitung erklärt, wie Sie ESP8266 mit dem MQ3 Alkohol Sensor verbinden, um Ethanol und Alkoholdampf in der Umgebung zu messen. Der MQ3 Sensor ist wertvoll für Atemtestgeräte, Alkoholerkennungsalarme und Luftqualitätsüberwachungsanwendungen.
In diesem Leitfaden behandeln wir:
- Verkabelung des MQ3 Alkohol Sensor Moduls mit ESP8266
- Programmierung von ESP8266 zum Lesen von Alkoholkonzentrationsdaten

Benötigte 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 Alkohol Sensor
Der MQ3 ist als Metalloxid-Halbleiter (MOS) Chemiresistor konzipiert und erkennt Alkohol über Widerstandsveränderungen in seinem aktiven Material. Dieser Sensor spezialisiert sich auf Ethanol-Dampf-Erkennung mit zuverlässiger Empfindlichkeit über seinen gesamten Messbereich.
Seine Sensorkomponente verfügt über eine Zinndioxid (SnO2) Schicht auf einer Aluminiumoxid-Keramikgrundlage. Die Erwärmung aktiviert das SnO2, um auf luftübertragene Alkoholmoleküle zu reagieren. Ein schützendes Edelstahlgitter umgibt das Element und schützt es, während es Gaszugang zur Erkennungszone ermöglicht.
Häufige Anwendungen umfassen DIY-Breathalyzer-Konstruktion, Beeinträchtigungserkennungssysteme, Alkohldampf-Warngeräte und atmosphärische Alkoholmessungen.
Technische Spezifikationen
- Betriebsspannung: 5V DC
- Lastwiderstand: 200 KΩ
- Heizwiderstand: 33Ω ± 5%
- Heizverbrauch: < 800mW
- Sensorwiderstand: 1 MΩ – 8 MΩ
- Erkennungsbereich: 25 – 500 ppm (parts per million)
- Vorheizzeit: 24-48 Stunden für erste Verwendung
Was ist ppm? Die ppm-Messung (parts-per-million) zeigt das Konzentrationsverhältnis an. Bei 500 ppm haben Sie 500 Alkoholmoleküle pro 1.000.000 Gasmoleküle gesamt, wobei die verbleibenden 999.500 atmosphärische Gase sind.
Pinbelegung
Vier Pins sind am MQ3 Sensor Modul vorhanden:
- VCC Pin: Versorgen Sie hier mit +5V Spannung.
- GND Pin: Mit Masse (0V) verbinden.
- DO Pin: Digital Output wird LOW, wenn Alkohol den Schwellenwert überschreitet, HIGH wenn darunter. Schwellenwert mit Onboard-Potentiometer einstellbar.
- AO Pin: Analog Output-Spannung skaliert mit Alkoholkonzentration. Höherer Alkoholwert ergibt höhere Spannung.

Zwei Anzeige-LEDs bieten visuelle Rückmeldung:
- PWR-LED: Leuchtet, wenn das Modul Strom hat.
- DO-LED: Spiegelt digitalen Ausgang wider—leuchtet während Erkennung, dunkel andernfalls.
Funktionsweise
Der Erkennungsmechanismus des MQ3 hängt von der Zinndioxid (SnO2) Widerstandsvariation ab:
In unbelasteter Luft: Das erhitzte SnO2 bindet Sauerstoffmoleküle an seine Oberfläche und fängt Elektronen in einer Verarmungsschicht ein. Diese eingefangenen Elektronen etablieren eine Leitungsbarriere und erzeugen hohen Widerstand.
Bei Alkoholpräsenz: Alkoholmoleküle interagieren mit Oberflächensauerstoff und setzen eingefangene Elektronen in die Zinndioxidmatrix frei. Freigesetzte Elektronen verbessern die Leitfähigkeit—mehr Alkohol bedeutet reduzierten Widerstand.
Zwei Ausgangsmodi werden bereitgestellt:
Digital Output (DO Pin):
- Onboard-Potentiometer setzt den Schwellenwert.
- Alkohol über dem Schwellenwert treibt DO auf LOW und aktiviert LED.
- Alkohol unter dem Schwellenwert hält DO auf HIGH mit LED aus.
Analog Output (AO Pin):
- Ausgangsspannung folgt der Alkoholkonzentration.
- Erhöhter Alkohol = erhöhte Spannung.
- Reduzierter Alkohol = reduzierte Spannung.
- Hinweis: Potentiometer beeinflusst nur digitalen Schwellenwert, nicht analoge Spannung.
Aufwärm- und Kalibrierungszeit
Vorheizanforderungen
Ordnungsgemäßer MQ3 Sensor-Betrieb erfordert ausreichende Erwärmung:
- Erste Inbetriebnahme oder längere Lagerung (30+ Tage): Halten Sie kontinuierliche Erwärmung für 24-48 Stunden aufrecht, um den Sensor für genaue Messungen zu stabilisieren.
- Regelmäßige Nutzung: Eine schnelle 5-10 Minuten Aufwärmzeit genügt. Frühe Messwerte können erhöht sein, normalisieren sich aber schnell.
Erwärmen Sie den Sensor durch Verbindung von VCC und GND mit 5V und Masse—verwenden Sie entweder ein Netzteil oder ESP8266's Versorgungspins.
Ihre Schwellenwerte finden
Beheizte Sensoren wie der MQ3 können während der Lagerung driften. Für Breathalyzer-Anwendungen etablieren Sie Schwellenwerte durch dieses Kalibrierverfahren:
- Grundwert in sauberer Luft aufzeichnen: Betreiben Sie den Sensor in frischer Luft und notieren Sie den Analogausgang (typisch 100-150).
- Alkoholdampf einführen: Positionieren Sie Isopropylalkohol oder Handdesinfektionsmittel in der Nähe (ohne Berührung) des Sensors und lassen Sie Dampf ihn erreichen. Notieren Sie erhöhte Werte (gewöhnlich 400-900 abhängig von der Dampfdichte).
- Erkennungsbereiche festlegen: Definieren Sie aus Ihren Messungen Schwellenwert-Zonen:
- Kein Alkohol vorhanden: Unter Grundwert + 20 (Beispiel: < 120)
- Moderater Alkohol: Mittlere Bereichswerte (Beispiel: 120-400)
- Hoher Alkohol: Über moderatem Bereich (Beispiel: > 400)
Kritisch: Einzelne Sensoren und Umgebungen ergeben unterschiedliche Werte. Kalibrieren Sie immer Ihre spezifische Hardware vor der Implementierung.
Digitalen Schwellenwert einstellen
Passen Sie den DO Pin-Auslösepegel mit dem Potentiometer des Moduls an:
- Setzen Sie den Sensor Alkoholdampf aus.
- Drehen Sie das Potentiometer im Uhrzeigersinn, bis die LED aktiviert wird.
- Drehen Sie langsam gegen den Uhrzeigersinn, bis die LED gerade deaktiviert wird.
- Der Schwellenwert ist konfiguriert.
Schaltschema
Da das MQ3 Alkohol Sensor Modul zwei Ausgänge hat, können Sie einen oder beide verwenden, je nach Ihren Bedürfnissen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
ESP8266 Code - Digital Output Ablesung
Schnelle Schritte
Um mit ESP8266 in der Arduino IDE zu beginnen, folgen Sie diesen Schritten:
- Schauen Sie sich das Tutorial zur Einrichtung der Umgebung für ESP8266 in Arduino IDE an, wenn Sie ESP8266 zum ersten Mal verwenden.
- Verkabeln Sie die Komponenten wie im Schaltschema gezeigt.
- Verbinden Sie das ESP8266 Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie Arduino IDE auf Ihrem Computer.
- Wählen Sie das korrekte ESP8266 Board, wie z.B. NodeMCU 1.0 (ESP-12E Module), und den entsprechenden COM Port.
- Kopieren Sie den obigen Code und öffnen Sie ihn mit Arduino IDE
- Klicken Sie auf Upload in Arduino IDE, um den Code auf ESP8266 hochzuladen
- Platzieren Sie eine Alkohldampfquelle in der Nähe des MQ3 Sensors (Handdesinfektionsmittel oder Isopropylalkohol auf Watte funktioniert gut)
- Überprüfen Sie das Ergebnis im Serial Monitor.
Bitte beachten Sie, dass Sie das Potentiometer justieren können, um die Empfindlichkeit des Sensors feinzujustieren, falls Sie bemerken, dass der LED-Status konstant an oder aus bleibt.
ESP8266 Code - Analog Output Ablesung
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit Arduino IDE
- Klicken Sie auf Upload in Arduino IDE, um den Code auf ESP8266 hochzuladen
- Führen Sie Alkoholdampf zum Sensor zu (Handdesinfektionsmittel oder Isopropylalkohol-Dämpfe)
- Überprüfen Sie das Ergebnis im Serial Monitor.
Aus den von DO oder AO gelesenen Werten können Sie schwellenwertbasierte Logik aufbauen, um Alarme auszulösen, Warnindikatoren zu steuern oder Daten für Breathalyzer-Funktionalität zu protokollieren.
ESP8266 Code - Breathalyzer mit Schwellenwert-Erkennung
Dieses Beispiel demonstriert die Verwendung des Analogausgangs mit kalibrierten Schwellenwerten zur Schätzung von Intoxikationslevels.
Schnelle Schritte
- Kritisch: Kalibrieren Sie zuerst Ihren Sensor mit dem Analog-Lesebeispiel, um angemessene Schwellenwerte für Ihre Umgebung zu bestimmen.
- Aktualisieren Sie die Konstanten SOBER_THRESHOLD und DRUNK_THRESHOLD im Code mit Ihren kalibrierten Zahlen.
- Kopieren Sie den obigen Code und öffnen Sie ihn mit Arduino IDE
- Klicken Sie auf Upload in Arduino IDE, um den Code auf ESP8266 hochzuladen
- Testen Sie mit Alkoholdampf (Isopropylalkohol oder Handdesinfektionsmittel-Dampf)
- Überprüfen Sie das Ergebnis im Serial Monitor.
Haftungsausschluss: Dieses Projekt dient ausschließlich Bildungszwecken. Verlassen Sie sich niemals auf dieses Gerät für rechtliche Breathalyzer-Funktionen oder Fahrsicherheitsbewertungen.
※ Notiz:
Diese Anleitung verwendet die analogRead() Funktion, um Daten von einem ADC (Analog-Digital-Wandler) zu erhalten, der mit einem Sensor oder einem anderen Teil verbunden ist. Der ADC des ESP8266 funktioniert gut für Projekte, bei denen Sie keine sehr präzisen Ablesungen benötigen. Aber denken Sie daran, dass der ADC des ESP8266 nicht sehr genau für detaillierte Messungen ist. Wenn Ihr Projekt sehr präzise sein muss, sollten Sie möglicherweise einen separaten ADC wie den ADS1115 mit dem ESP8266 verwenden oder Arduino wie den Arduino Uno R4 WiFi verwenden, der einen zuverlässigeren ADC hat.
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.