Arduino - MQ3 Alkoholsensor
Dieses Tutorial demonstriert die Anbindung eines MQ3-Alkohol-Sensors an Arduino, um Ethanol- und Alkoholdampfkonzentrationen in Ihrer Umgebung zu überwachen. Der MQ3-Sensor findet breite Anwendung in DIY-Atemalkoholtestgeräten, Alarmen zur Alkoholerkennung und Projekten zur Überwachung der Luftqualität.
Du wirst entdecken:
- Verkabelung des MQ-3-Alkohol-Sensor-Moduls an Ihr Arduino-Board
- Schreiben von Arduino-Code zur Messung und Interpretation von Alkoholkonzentrationswerten

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über MQ-3-Alkohol-Sensor
Als Chemiresistor betrieben, ist das MQ3 ein Metalloxid-Halbleiter (MOS)-Bauelement, das das Vorhandensein von Alkohol durch Widerstandsänderungen in seinem Sensormaterial erkennt. Dieses Modul zeichnet sich durch eine hohe Empfindlichkeit gegenüber Ethanoldampf über einen breiten Konzentrationsbereich aus.
Im Kern verwendet der Sensor eine Zinnoxid-Schicht (SnO2), die auf eine Aluminiumoxid-Keramikbasis aufgetragen ist. Durch das Erhitzen wird das Zinnoxid aktiviert, wodurch es auf Alkoholmoleküle reagiert. Ein Edelstahl-Schutzgitter (Explosionsschutzgitter) umgibt den Sensor, schützt das Heizelement und lässt Gasmoleküle zur Detektionskammer hindurchtreten.
Beliebte Anwendungen für diesen Sensor umfassen den Bau von Atemalkoholtestern, Ausrüstung zur Erkennung von Alkohol am Steuer, Alkoholwarnsysteme und Umweltüberwachungsanwendungen zur Bestimmung von Alkohol in der Umwelt.
Technische Spezifikationen
- Betriebsspannung: 5 V Gleichspannung (DC)
- Lastwiderstand: 200 kΩ
- Heizwiderstand: 33 Ω ± 5 %
- Heizleistung: < 800 mW
- Sensorwiderstand: 1 MΩ – 8 MΩ
- Detektionsbereich: 25 – 500 ppm (Teile pro Million)
- Vorheizzeit: 24–48 Stunden beim ersten Gebrauch
Verständnis von ppm: Die Abkürzung ppm steht für Teile pro Million und beschreibt das Verhältnis der Zielgas-Moleküle zu den Gesamtmolekülen. In der Praxis bedeutet ein Messwert von 500 ppm, dass 500 Alkoholmoleküle in jeder Million Gesamtgasmoleküle existieren, wobei die verbleibenden 999.500 anderen atmosphärischen Gasen ausmachen.
Pinbelegung
Vier Anschlussstifte sind am MQ3-Sensor-Modul verfügbar:
- VCC-Pin: Über diesen Anschluss wird eine Versorgung von +5 V bereitgestellt.
- GND-Pin: Mit Masse (0 V) verbinden.
- DO-Pin: Digitalausgang, der auf LOW geht, wenn Alkohol den Schwellenwert überschreitet, bzw. auf HIGH, wenn darunter. Das integrierte Potentiometer ermöglicht die Einstellung des Schwellenwerts.
- AO-Pin: Analoger Ausgang, der eine variable Spannung entsprechend dem Alkoholgehalt liefert. Zunehmender Alkoholgehalt erzeugt eine höhere Ausgangsspannung.

Zwei Anzeige-LEDs liefern visuelles Feedback:
- PWR-LED: Leuchtet, wenn dem Modul Strom zugeführt wird.
- DO-LED: Spiegelt den digitalen Ausgangszustand wider — leuchtet während der Alkohol-Erkennung und bleibt ansonsten aus.
Wie es funktioniert
Der Detektionsmechanismus des MQ3 beruht auf Widerstandsänderungen innerhalb seines Zinnoxid-(SnO2)-Halbleiterelements:
Saubere Luftbedingungen: Auf SnO2 angewandte Wärme bewirkt, dass Sauerstoff sich an seiner Oberfläche bindet, wodurch Elektronen festgehalten werden und eine Verarmungsschicht erzeugt wird. Diese Elektronenfalle erzeugt eine Barriere, die die elektrische Leitfähigkeit einschränkt und der Widerstand bleibt dadurch hoch.
Alkoholexposition: Alkoholmoleküle interagieren mit dem Sauerstoff an der Oberfläche, brechen die Sauerstoffbindungen und setzen gefangene Elektronen wieder in die Zinnoxid-Struktur frei. Dadurch erhöht sich die Leitfähigkeit deutlich – eine höhere Alkoholkonzentration bedeutet einen niedrigeren elektrischen Widerstand.
Von diesem Sensor stehen zwei Ausgabemodi zur Verfügung:
Digitalausgang (DO-Pin):
- Einstellbares Potentiometer legt den Detektionsschwellenwert fest.
- Wenn der gemessene Alkoholgehalt den Schwellenwert überschreitet, gibt DO LOW aus, während die LED-Anzeige leuchtet.
- Wenn der Alkoholgehalt unterhalb des Schwellenwerts bleibt, bleibt DO HIGH und die LED bleibt dunkel.
Analogausgang (AO-Pin):
- Die Ausgangsspannung korreliert direkt mit den gemessenen Alkoholwerten.
- Mehr Alkoholdampf vorhanden = höhere Ausgangsspannung.
- Weniger Alkoholdampf vorhanden = niedrigere Ausgangsspannung.
- Hinweis: Die Einstellung des Potentiometers beeinflusst nur die digitale Ausgabe, nicht das analoge Signal.
Aufwärmen und Kalibrierung
Anforderungen an das Vorheizen
Genaue Messungen des MQ3 erfordern vor dem Betrieb eine ordnungsgemäße Erwärmung:
- Erstgebrauch oder längere Lagerung (30 Tage oder länger): Lassen Sie den Sensor 24–48 Stunden kontinuierlich erwärmen, um die Stabilisierung des Sensors und zuverlässige Messwerte zu gewährleisten.
- Regelmäßige Nutzung: Eine kurze Aufwärmphase von 5–10 Minuten ist ausreichend. Zu Beginn können die Messwerte erhöht erscheinen, normalisieren sich jedoch schnell.
Um den Sensor zu erwärmen, schließen Sie einfach VCC und GND an eine 5-V-Stromversorgung oder direkt an die Versorgungsanschlüsse Ihres Arduino-Boards an und halten Sie die Verbindung während der Aufwärmzeit aufrecht.
Schwellenwerte finden
Eine längere Lagerung kann Kalibrierungsabweichungen bei auf Heizelementen basierenden Sensoren wie dem MQ-3 verursachen. Bestimmen Sie genaue Grenzwerte für Atemalkoholmessungen, indem Sie dieses Verfahren befolgen:
- Eine saubere Luft-Grundlinie festlegen: Den Sensor in Frischluft betreiben und den analogen Ausgang notieren (erwarte Werte nahe 100–150).
- Alkoholdampf einführen: Halten Sie Isopropylalkohol oder Handdesinfektionsmittel in der Nähe des Sensors (nicht auf dem Sensor), sodass nur Dämpfe ihn erreichen. Notieren Sie die erhöhten Messwerte (in der Regel 400–900, abhängig von der Dampfkonzentration).
- Definieren Sie Erkennungszonen: Verwenden Sie Ihre aufgezeichneten Werte, um Bereiche festzulegen:
- Kein Rauschzustand: Messwerte unterhalb der Basislinie + 20 (Beispiel: < 120)
- Mäßiger Konsum: Werte im mittleren Bereich (Beispiel: 120–400)
- Schwere Trunkenheit: Messwerte, die den moderaten Schwellenwert überschreiten (Beispiel: > 400)
Wichtig: Sensorcharakteristika variieren zwischen Einheiten und Umgebungen. Führen Sie vor dem Einsatz stets eine Kalibrierung mit Ihrer spezifischen Hardware durch.
Festlegen des digitalen Schwellenwerts
Stellen Sie den Schaltpunkt des DO-Pins über das an Bord befindliche Trimm-Potentiometer ein:
- Positionieren Sie den Alkoholdampf in der Nähe des Sensors.
- Drehen Sie das Potentiometer im Uhrzeigersinn, bis die LED aktiviert wird.
- Drehen Sie das Potentiometer langsam gegen den Uhrzeigersinn, bis die LED sich gerade deaktiviert.
- Der Auslöseschwellenwert ist jetzt korrekt kalibriert.
Verdrahtungsdiagramm
Beide Ausgangspins sind am MQ3-Modul verfügbar. Wählen Sie entweder einen der beiden aus oder verwenden Sie beide gleichzeitig, je nach den Anforderungen Ihres Projekts.
| MQ3 Alcohol Sensor | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pin 2 |
| AO | A0 |

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino-Code - Digitalausgang lesen
Schnelle Schritte
- Öffne den obigen Code in der Arduino IDE
- Lade es über die Hochladen-Schaltfläche auf dein Arduino-Board
- Positioniere die Alkohol-Dampfquelle in der Nähe des MQ3-Sensors (Handdesinfektionsmittel oder Reinigungsalkohol auf Baumwolle funktioniert gut)
- Überwache die Ausgabe im Serial Monitor
Hinweis: Wenn Messwerte nicht mit den tatsächlichen Bedingungen übereinstimmen (falsche Positive oder verpasste Erkennungen), justieren Sie die Detektionsschwelle mithilfe des Potentiometers des Moduls. Eine Umdrehung im Uhrzeigersinn erhöht die Empfindlichkeit; gegen den Uhrzeigersinn senkt sie die Empfindlichkeit. Passen Sie so lange an, bis die Erkennungsgenauigkeit sich verbessert.
Arduino-Code – Auslesen des analogen Ausgangs
Schnelle Schritte
- Laden Sie den Code in die Arduino-IDE
- Laden Sie über die Hochladen-Schaltfläche hoch
- Führen Sie dem Sensor Alkoholdampf zu (Handdesinfektionsmittel oder Isopropylalkohol)
- Beobachten Sie die Messwerte im seriellen Monitor
Durch den Einsatz digitaler oder analoger Ausgänge können Sie schwellenwertbasierte Entscheidungen implementieren, um Alarme zu aktivieren, Warnanzeigen zu steuern oder Daten für die Atemalkoholmessfunktion aufzuzeichnen.
Arduino-Code – Atemalkoholtester mit Schwellenwert-Erkennung
Dieses Beispiel demonstriert die Interpretation des analogen Ausgangs durch kalibrierte Schwellenwerte zur Schätzung des Betrunkenheitsgrades.
Schnelle Schritte
- Kritisch: Kalibrieren Sie zuerst Ihren Sensor mithilfe des Beispiels zur analogen Messung, um geeignete Schwellenwerte für Ihre Umgebung zu bestimmen.
- Aktualisieren Sie die Konstanten SOBER_THRESHOLD und DRUNK_THRESHOLD im Code mit Ihren kalibrierten Werten.
- Laden Sie den modifizierten Code auf den Arduino hoch.
- Testen Sie mit Alkoholdampf (Isopropylalkohol oder Dampf von Handdesinfektionsmitteln).
- Überprüfen Sie die Statusmeldungen im Serial Monitor.
Haftungsausschluss: Dieses Projekt dient ausschließlich Bildungszwecken. Verlassen Sie sich niemals auf dieses Gerät für rechtlich verbindliche Atemalkoholmessungen oder Beurteilungen der Fahrsicherheit.
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.