TITLE: ESP32 S3 - MQ3 Alkoholsensor
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 mit einem MQ3-Alkoholsensor verwenden, um Ethanol- und Alkoholdampf in der Luft zu erkennen. Ob Sie einen DIY-Alkoholtester, einen Alkoholdampf-Alarm oder einen Luftqualitätsmonitor bauen – der ESP32 S3 ist eine leistungsfähige Plattform für Gassensor-Projekte.
Was Sie bauen werden:
- Einen digitalen Alkoholdetektor, der das Vorhandensein oder Fehlen von Alkohol über den Seriellen Monitor meldet
- Einen analogen Leser, der rohe ADC-Werte proportional zur Alkoholkonzentration erfasst
- Einen schwellwertbasierten Alkoholtester, der Nüchternheitsstufen klassifiziert
- Eine Grundlage für Alkohol-Sensoranwendungen mit WLAN-Anbindung oder OLED-Display

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über MQ3 Alcohol Sensor
Der MQ3 ist ein Metalloxid-Halbleiter-Gassensor, der Alkoholdampf und Ethanol erkennt, indem er Widerstandsänderungen in seinem beheizten Sensorelement misst. Er bietet sowohl einen digitalen Schwellwertausgang als auch einen kontinuierlichen Analogausgang und eignet sich daher gut für Projekte von einfachen Alarmauslösern bis hin zu kalibrierten Alkoholtester-Messungen.
Wichtige Spezifikationen
- Betriebsspannung: 5V DC
- Erfassungsbereich: 25-500 ppm (parts per million)
- Lastwiderstand: 200 KΩ
- Heizwiderstand: 33Ω ± 5%
- Heizleistung: < 800mW
- Sensorwiderstand: 1 MΩ – 8 MΩ
- Vorheizzeit: 24-48 Stunden bei der ersten Verwendung, 5-10 Minuten bei späteren Verwendungen
- Ausgangsarten: Sowohl digitale (DO) als auch analoge (AO) Ausgänge
- Sensortyp: Metalloxid-Halbleiter (MOS) Chemiresistor
- Sensormaterial: Zinndioxid (SnO2) auf Keramiksubstrat
- Ideal für: DIY-Alkoholtester, Alkoholdampf-Alarme, Luftqualitätsmonitore, Alkohol-am-Steuer-Detektoren
Pinbelegung
Das MQ3-Alkoholsensormodul hat vier Pins, die direkt mit dem ESP32 S3 verbunden werden, sowie zwei LED-Anzeigen auf der Platine für Stromversorgung und Erkennungsstatus:
- VCC-Pin: Stromversorgungspin - mit 5V verbinden
- GND-Pin: Massepin - mit GND (0V) verbinden
- DO-Pin: Digitaler Ausgangspin - gibt je nach Schwellwerteinstellung HIGH oder LOW aus
- AO-Pin: Analoger Ausgangspin - gibt eine Spannung proportional zur Alkoholkonzentration aus

Das Modul verfügt außerdem über zwei LED-Anzeigen:
- PWR-LED: Betriebsanzeige - leuchtet, wenn das Modul mit Strom versorgt wird
- DO-LED: Erkennungsanzeige - leuchtet, wenn Alkohol oberhalb des Schwellwerts erkannt wird
Funktionsweise
Der MQ3-Sensor erkennt Alkohol durch Widerstandsänderungen in seinem Halbleitermaterial aus Zinndioxid (SnO2):
Betrieb in sauberer Luft:
- Sauerstoffmoleküle haften beim Erhitzen an der SnO2-Oberfläche
- Gebundene Elektronen erzeugen einen hohen elektrischen Widerstand
- Der Sensor gibt am Analogpin eine niedrige Spannung aus
Erkennung von Alkoholdampf:
- Alkoholmoleküle reagieren mit dem Oberflächensauerstoff
- Gebundene Elektronen werden wieder an das Material abgegeben
- Der elektrische Widerstand sinkt deutlich
- Der Sensor gibt am Analogpin eine höhere Spannung aus
- Mehr Alkohol = geringerer Widerstand = höhere Ausgangsspannung
Digitaler Ausgang (DO-Pin):
- Verwenden Sie das Potentiometer auf der Platine, um den Erkennungsschwellwert einzustellen
- Der DO-Pin geht auf LOW, wenn der Alkohol den Schwellwert überschreitet (LED leuchtet)
- Der DO-Pin bleibt HIGH, wenn der Alkohol unter dem Schwellwert liegt (LED bleibt aus)
- Ideal für eine einfache Ja/Nein-Alkoholerkennung
Analoger Ausgang (AO-Pin):
- Liefert einen kontinuierlichen Spannungsmesswert von 0-4095 (ESP32-ADC-Bereich)
- Höhere Spannung = mehr Alkoholdampf erkannt
- Niedrigere Spannung = weniger Alkoholdampf
- Ideal zur Messung tatsächlicher Konzentrationswerte
- Wird durch die Potentiometereinstellung nicht beeinflusst
Aufwärmen und Kalibrierung
Anforderungen an das Vorheizen
Der MQ3-Alkoholsensor muss vor genauen Messungen ordnungsgemäß aufgeheizt werden:
- Erste Verwendung oder nach mehr als 30 Tagen Lagerung: 24-48 Stunden ununterbrochen heizen, um die Sensorwerte zu stabilisieren
- Regelmäßige Verwendung: Vor Messungen 5-10 Minuten aufwärmen lassen
- Während des Aufwärmens: Die ersten Messwerte können höher als normal sein, stabilisieren sich aber schnell
- So wärmen Sie auf: Verbinden Sie einfach VCC mit 5V und GND mit Masse über USB-Strom oder eine externe Versorgung
Ermitteln Ihrer Schwellwerte
Jeder MQ3-Sensor ist etwas anders, daher ist eine Kalibrierung für Alkoholtester-Projekte unerlässlich:
- Basistest in sauberer Luft:
- Betreiben Sie den Sensor an frischer Luft ohne jeglichen Alkohol
- Notieren Sie den Analogwert (typischerweise 100-150)
- Dies ist Ihr "nüchterner" Basiswert
- Alkoholdampftest:
- Halten Sie Isopropylalkohol oder Handdesinfektionsmittel in die Nähe des Sensors (ohne ihn zu berühren)
- Lassen Sie den Dampf das Sensorelement erreichen
- Notieren Sie die höheren Messwerte (typischerweise 400-900, abhängig von der Dampfkonzentration)
- Damit legen Sie Ihren "Erkennungsbereich" fest
- Erkennungszonen festlegen:
- Nüchterner Bereich: Unter Basiswert + 20 (Beispiel: Messwerte < 120)
- Mittlerer Bereich: Mittlere Messwerte (Beispiel: 120-400)
- Hoher Bereich: Über dem mittleren Schwellwert (Beispiel: > 400)
- Wichtige Hinweise: Einzelne Sensoren unterscheiden sich, Umgebungsbedingungen beeinflussen die Messwerte, kalibrieren Sie Ihren Sensor immer vor dem echten Einsatz
Einstellen des digitalen Schwellwerts
Stellen Sie mit dem Potentiometer auf der Platine ein, wann der DO-Pin auslöst:
- Setzen Sie den Sensor Alkoholdampf aus (verwenden Sie Handdesinfektionsmittel oder Reinigungsalkohol)
- Drehen Sie das Potentiometer im Uhrzeigersinn, bis die DO-LED aufleuchtet
- Drehen Sie es langsam gegen den Uhrzeigersinn, bis die LED gerade erlischt
- Der digitale Schwellwert ist nun auf die gewünschte Empfindlichkeit kalibriert
- Testen Sie erneut mit Alkoholdampf - die LED sollte zuverlässig aufleuchten
Verdrahtungsdiagramm
Das MQ3-Sensormodul lässt sich über die digitalen und analogen Ausgänge einfach mit dem ESP32 S3 verbinden. Da das Heizelement des MQ3 für einen korrekten Betrieb 5V benötigt, verbinden Sie den VCC-Pin mit der 5V-Schiene — nicht mit dem 3,3V-Pin —, um stabile und genaue Messwerte zu gewährleisten.
Sicherheitshinweise
Versorgen Sie den MQ3-Sensor niemals mit 3,3V; dadurch wird das Sensorelement nicht ausreichend beheizt und liefert unzuverlässige Messwerte. Halten Sie den Sensor von offenen Flammen fern, da die erkannten Alkoholdämpfe entzündlich sind. Testen Sie immer in einem gut belüfteten Bereich.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| MQ3 Alkoholsensor | ESP32 S3 |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | D7 |
| AO | A5 |
ESP32 S3 Code - Digitalen Ausgang auslesen
Der folgende Code liest den digitalen Ausgang des MQ3-Sensors, um das Vorhandensein von Alkohol anhand des mit dem Potentiometer eingestellten Schwellwerts zu erkennen. Er fragt den DO-Pin jede Sekunde ab und gibt einen eindeutigen Erkennungsstatus im Seriellen Monitor aus – ein unkomplizierter Ausgangspunkt für alarmbasierte Anwendungen.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
- Code kopieren: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Board auswählen: Wählen Sie ESP32 S3 im Menü Tools > Board.
- Port auswählen: Wählen Sie den richtigen COM-Port im Menü Tools > Port.
- Code hochladen: Klicken Sie auf die Schaltfläche Upload, um Ihren ESP32 S3 zu programmieren.
- Seriellen Monitor öffnen: Klicken Sie auf das Symbol des Seriellen Monitors (oben rechts) oder drücken Sie Strg+Umschalt+M.
- Baudrate einstellen: Wählen Sie im Dropdown-Menü des Seriellen Monitors 115200 Baud.
- Mit Alkohol testen: Bringen Sie Handdesinfektionsmittel oder Reinigungsalkohol in die Nähe des MQ3-Sensors.
- Ergebnisse ansehen: Beobachten Sie, wie sich der Erkennungsstatus im Seriellen Monitor ändert.
- Empfindlichkeit anpassen: Wenn die LED ständig an oder aus bleibt, drehen Sie am Potentiometer, um den Schwellwert anzupassen.
- Profi-Tipp: Verwenden Sie einen in Isopropylalkohol getränkten Wattebausch für gleichmäßige Tests, ohne den Sensor zu berühren.
ESP32 S3 Code - Analogen Ausgang auslesen
Der folgende Code liest kontinuierliche analoge Spannungswerte vom AO-Pin des MQ3-Sensors und liefert Ihnen einen rohen ADC-Wert zwischen 0 und 4095, der proportional zur Alkoholkonzentration in der Luft ansteigt. Diese Werte im Zeitverlauf im Seriellen Monitor zu beobachten ist der beste Weg, die Kalibrierungsschwellwerte zu bestimmen, die Sie im Alkoholtester-Sketch verwenden werden.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Code kopieren: Fügen Sie den obigen Code in die Arduino IDE ein.
- Auf das Board hochladen: Klicken Sie auf die Schaltfläche Upload, um den ESP32 S3 zu programmieren.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
- Basiswert notieren: Beobachten Sie den Messwert in sauberer Luft (typischerweise 100-150).
- Mit Alkohol testen: Bringen Sie Dampf von Handdesinfektionsmittel oder Reinigungsalkohol in die Nähe des Sensors.
- Ansteigende Werte beobachten: Die Messwerte steigen deutlich an, wenn Alkohol erkannt wird.
- Werte notieren: Notieren Sie den Bereich für Kalibrierungszwecke.
- Profi-Tipp: Schreiben Sie Ihren Basiswert in sauberer Luft und die Messwerte bei Alkoholdampf auf, um genaue Schwellwerte für Alkoholtester-Projekte zu berechnen.
ESP32 S3 Code - Alkoholtester mit Schwellwerterkennung
Der folgende Code baut einen einfachen Lern-Alkoholtester, indem er den analogen MQ3-Messwert mit zwei kalibrierten Schwellwerten vergleicht, um Nüchternheitsstufen zu klassifizieren. Sie sollten zuerst den Sketch zum analogen Auslesen ausführen, um Basis- und Spitzenwerte Ihres Sensors zu ermitteln, bevor Sie diesen Sketch hochladen.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Zuerst kalibrieren: Führen Sie den Code zum analogen Auslesen aus, um Basiswert und Alkoholerkennungswerte Ihres Sensors zu ermitteln.
- Schwellwerte aktualisieren: Ersetzen Sie SOBER_THRESHOLD und DRUNK_THRESHOLD durch Ihre kalibrierten Werte.
- Beispielkalibrierung: Wenn Ihre saubere Luft 130 und Alkoholdampf 500+ ergibt, verwenden Sie SOBER_THRESHOLD = 150 und DRUNK_THRESHOLD = 400.
- Code hochladen: Klicken Sie auf die Schaltfläche Upload, um den ESP32 S3 zu programmieren.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
- System testen: Atmen Sie zunächst normal in die Nähe des Sensors (sollte "Stone Cold Sober" anzeigen).
- Mit Alkohol testen: Verwenden Sie Dampf von Handdesinfektionsmittel oder Isopropylalkohol, um alkoholhaltigen Atem zu simulieren.
- Statusänderungen beobachten: Beobachten Sie, wie das System verschiedene Konzentrationsstufen klassifiziert.
- Profi-Tipp: Für genauere Messwerte warten Sie nach jedem Test 30 Sekunden, damit der Sensor zum Basiswert zurückkehren kann, bevor Sie erneut testen.
Nur für Lernzwecke: Dies ist ausschließlich ein Lernprojekt, um Gassensoren und den ESP32 S3 kennenzulernen. Verwenden Sie dieses Gerät niemals als rechtsgültigen Alkoholtester, zur Beurteilung der Fahrtüchtigkeit oder für offizielle Alkoholtests.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) auszulesen, der mit einem Sensor oder Bauteil verbunden ist. Der ADC des ESP32 S3 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, beachten Sie jedoch Folgendes:
- Der ADC des ESP32 S3 ist nicht vollkommen genau und muss für korrekte Ergebnisse möglicherweise kalibriert werden. Jedes ESP32 S3 Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board erforderlich.
- Die Kalibrierung kann besonders für Einsteiger schwierig sein und liefert möglicherweise nicht immer genau die gewünschten Ergebnisse.
Für Projekte, die eine hohe Präzision erfordern, sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 S3 oder einen anderen Arduino wie den Arduino Uno R4 WiFi verwenden, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 S3 dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.
Projektideen und Anwendungen
Die Rechenleistung und das integrierte WLAN des ESP32 S3 eröffnen für den MQ3-Alkoholsensor eine breite Palette praktischer Anwendungen, die über einfache Laborexperimente hinausgehen.
- DIY-Alkoholtester-System: Bauen Sie ein Lern-Atemanalysegerät, um die Prinzipien der Alkoholerkennung zu demonstrieren.
- Alkoholdampf-Alarm: Erstellen Sie ein Warnsystem, das auslöst, wenn Alkoholdämpfe sichere Werte überschreiten.
- Überwachung von Bar oder Brauerei: Überwachen Sie Alkoholdampfkonzentrationen in Gär- oder Braubereichen.
- Sicherheitsdetektor für Zuhause: Warnen Sie, wenn alkoholbasierte Reinigungsmittel unsichere Dampfkonzentrationen erreichen.
- Labor-Gasmonitor: Überwachen Sie Ethanoldampf in Chemielaboren oder Forschungseinrichtungen.
- Fahrzeugsicherheitssystem: Entwickeln Sie einen Prototyp einer Alkohol-Wegfahrsperre für Lehrdemonstrationen.
- Luftqualitätsstation: Integrieren Sie die Alkoholerkennung in einen Multisensor-Luftqualitätsmonitor.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Fordern Sie sich heraus
Diese Herausforderungen bringen Ihr ESP32 S3 und MQ3-Alkoholsensor-Projekt über die Grundlagen hinaus und führen Sie schrittweise zu einem ausgereifteren, vernetzten Gerät.
- Einsteiger: Fügen Sie eine LED hinzu, die aufleuchtet, wenn Alkohol oberhalb Ihres Nüchternheits-Schwellwerts erkannt wird.
- Einsteiger: Fügen Sie einen Summer hinzu, der piept, wenn der Sensor hohe Alkoholkonzentrationen erkennt.
- Fortgeschritten: Erstellen Sie ein Ampelsystem (grüne/gelbe/rote LEDs), das nüchterne, mittlere und betrunkene Stufen anzeigt.
- Fortgeschritten: Protokollieren Sie Sensormesswerte mit Zeitstempeln zur Datenanalyse auf einer SD-Karte.
- Experte: Fügen Sie eine WLAN-Anbindung hinzu, um Alkoholerkennungswarnungen über Blynk oder MQTT an Ihr Smartphone zu senden.
- Experte: Bauen Sie einen vollständigen Alkoholtester mit OLED-Display, das Messwerte und Statusmeldungen in Echtzeit anzeigt.