Arduino UNO Q - Gassensor
Der MQ2-Gassensor erkennt Flüssiggas, Rauch, Alkohol, Propan, Wasserstoff, Methan und Kohlenmonoxid. Er gibt ein digitales Signal (Gas/kein Gas) und ein analoges Signal (Gaskonzentrationsniveau) aus. Mit Bridge und Telegram kann Ihr Arduino UNO Q sofortige Gasalarme an Ihr Telefon senden.
In diesem Lernprogramm erfahren Sie:
- Wie der MQ2-Gassensor funktioniert und warum er eine Aufwärmungsphase benötigt
- Wie Sie den MQ2 mit dem Arduino UNO Q MCU verkabeln
- Wie Sie sowohl die digitalen (DO) als auch die analogen (AO) Ausgänge lesen
- Wie Sie Bridge verwenden, um den Gaszustand und Ereignisse der Linux-Seite (Python) bereitzustellen
- Wie Sie dringende Telegram-Gasalarme von Arduino UNO Q empfangen
- Wie Sie OpenClaw auf Arduino UNO Q mit dem Gassensor verwenden

※ Notiz:
Verwenden Sie den Gassensor nur zur Frühwarnung. Koppeln Sie ihn immer mit ordnungsgemäßen Gasdetektoren, Belüftung und Sicherheitsausrüstung. Verlassen Sie sich niemals allein auf diesen Sensor für sicherheitskritische Anwendungen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den MQ2-Gassensor
Der MQ2 kann erkennen: Flüssiggas, Rauch, Alkohol, Propan, Wasserstoff, Methan und Kohlenmonoxid. Er unterscheidet keine einzelnen Gase — er misst das Gesamtniveau brennbarer/schädlicher Gase.

Pinbelegung
- VCC-Pin: 5-V-Stromversorgung (das interne Heizelement erfordert 5 V)
- GND-Pin: Masse
- DO-Pin: Digitaler Ausgang — HIGH = kein Gas, LOW = Gas erkannt. Die Empfindlichkeit wird durch den Potenziometer auf der Platine eingestellt.
- AO-Pin: Analoger Ausgang — höherer Wert = höhere Gaskonzentration
LED-Indikatoren
- PWR-LED: Stromversorgungsanzeige
- DO-LED: Leuchtet auf, wenn Gas erkannt wird (DO-Pin LOW)
Aufwärmungsanforderung
Der MQ2 hat einen internen Heizer, der vor genauen Messwerten die Betriebstemperatur erreichen muss:
- Erste Verwendung nach langer Pause (>1 Monat): 24–48 Stunden aufwärmen
- Normale Nutzung: 5–10 Minuten Aufwärmung; anfängliche Messwerte können hoch sein, stabilisieren sich aber
Der Code enthält eine minimale Aufwärmungsverzögerung von 20 Sekunden in setup(). Schalten Sie den Sensor ein und warten Sie, bevor Sie den Messwerten vertrauen.
※ Notiz:
Der MQ2-AO-Pin kann bis zu ~5 V ausgeben, wenn er von 5 V versorgt wird. Die ADC-Referenz des Arduino UNO Q MCU ist 3,3 V — Spannungen über 3,3 V sättigen die ADC auf 4095. Verwenden Sie den DO-Pin als primäre Gaserkennungsmethode und AO nur für relative Intensität.
Schaltschema

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| MQ2-Gassensor-Pin | Arduino UNO Q MCU |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | D2 |
| AO | A0 |
Programmierung für den Gassensor
- Konfigurieren Sie den DO-Pin als digitalen Eingang:
- Lesen Sie beide Ausgänge:
- Überprüfen Sie Gas vom digitalen Ausgang:
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU wärmt den Sensor 20 Sekunden lang auf, liest dann alle 500 ms sowohl DO als auch AO
- Die Qualcomm MPU führt Debian Linux mit Wi-Fi aus — in diesem Abschnitt wird nur der MCU programmiert. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Schnellschritte
Erste Verwendung mit Arduino UNO Q? Folgen Sie dem Getting Started with Arduino UNO Q Lernprogramm, bevor Sie fortfahren.
- Verbinden: Verkabeln Sie den MQ2-Gassensor mit dem Arduino UNO Q MCU wie im Schaltschema dargestellt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Create New App (Neue App erstellen).

- Geben Sie der App einen Namen, z. B.: GasSensor
- Klicken Sie zur Bestätigung auf Create (Erstellen).

- Sketch einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Hochladen: Klicken Sie in Arduino App Lab auf die Schaltfläche Ausführen.

- Warten Sie, bis die 20-Sekunden-Aufwärmmeldung im Seriellen Monitor beendet ist.
- Setzen Sie den Sensor sorgfältig einer kleinen Gasmenge aus (z. B. halten Sie ein Feuerzeug ohne Zündung in die Nähe) — beobachten Sie die Ausgabe des Seriellen Monitors.
- Passen Sie das Potenziometer an, falls die DO-LED nicht reagiert.
App Lab-Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite über Bridge den Gaszustand und Ereignisse lesen kann:
- Der Gassensor ist mit dem MCU verbunden — der MCU wärmt 20 Sekunden lang auf, liest dann alle 500 ms DO und AO
- Die MPU kann die Sensor-Pins nicht direkt lesen — sie ruft Bridge-Funktionen auf, um Zustand, Intensitätswert oder Ereignisse zu erhalten
- Die MPU hat Wi-Fi — mit vollständiger Debian Linux kann sie sofortige Telegram-Gasalarme senden, sobald Gas erkannt wird
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router — öffnen Sie sie nie in Benutzercode
MCU-Code (Bridge)
Python-Code (Bridge)
Schnellschritte
- Verbinden: Verkabeln Sie den MQ2-Gassensor mit dem Arduino UNO Q wie im Schaltschema dargestellt.
- Öffnen Sie Arduino App Lab und erstellen Sie eine neue App mit dem Namen GasSensorBridge.
- Fügen Sie den MCU-Sketch in sketch/sketch.ino ein.
- Fügen Sie den Python-Code in die Python-Datei ein.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Hochladen: Klicken Sie auf die Schaltfläche Ausführen. Warten Sie, bis die Aufwärmungsphase beendet ist.

- Setzen Sie den Sensor Gas aus — beobachten Sie das Ereignis in beiden Konsolen.
App Lab-Konsolenausgabe
Telegram
Erhalten Sie sofortige Telegram-Gasalarme vom Arduino UNO Q Gassensor und fragen Sie die Luftqualität remote ab.
MCU-Sketch: Behalten Sie denselben MCU-Sketch aus dem vorherigen Bridge-Abschnitt.
Python-Code (Telegram)
Schnellschritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihr tatsächliches Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
- Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie denselben MCU-Sketch).
- Klicken Sie auf die Schaltfläche Ausführen — warten Sie auf die Aufwärmung, dann setzen Sie den Sensor Gas aus, um den Telegram-Alarm auszulösen.
App Lab-Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Sie können viele nützliche Projekte mit dem MQ2-Gassensor und Arduino UNO Q erstellen:
- Hausgas-Leckalarm: Installieren Sie ihn in Ihrer Küche in der Nähe des Herdes — wenn Gas erkannt wird, sendet die MPU einen dringenden Telegram-Alarm mit Intensitätswert und löst auch einen hörbaren Alarm über ein Relais aus
- Belüftungssteuerung: Kombinieren Sie den Gassensor mit einem relaisgesteuerten Ventilator — wenn AO des Gassensors einen Schwellenwert überschreitet, schaltet der MCU den Ventilator automatisch ein, und Python sendet eine Telegram-Benachrichtigung
- Luftqualitäts-Logger: Protokollieren Sie jede Minute den Gaszustand und AO-Werte in einer CSV-Datei auf Linux — senden Sie eine tägliche Telegram-Zusammenfassung der Luftqualitätsereignisse und Spitzenwerte
- Garage-Kohlenmonoxid-Monitor: Stellen Sie den Sensor in einer Garage auf — erhalten Sie einen Telegram-Alarm, wenn das Automotor Kohlenmonoxid in der Luft hinterlässt, mit automatisch gelöschtem Alert, wenn AO auf den Basiscwert zurückfällt
- Multi-Gas-Sicherheitssystem: Kombinieren Sie den Gassensor mit dem Flammen-Sensor-Lernprogramm — wenn beide gleichzeitig Gefahr erkennen, senden Sie einen "GAS + FIRE" Telegram-Alarm für maximale Dringlichkeit
Fordern Sie sich selbst heraus
Sind Sie bereit, mit dem MQ2-Gassensor auf Arduino UNO Q noch weiter zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Fügen Sie einen /history Telegram-Befehl hinzu, der die letzten 5 Gaserkennungsereignisse mit Zeitstempeln und AO-Intensitätswerten zurückgibt, die in einer Python-Liste gespeichert sind.
- Mittel: Implementieren Sie einen Filter für Fehlalarme: Gas muss mindestens 3 aufeinanderfolgende Lesevorgänge lang erkannt werden (1,5 Sekunden), bevor die MPU einen Telegram-Alarm sendet — dies verhindert, dass einzelne Lesespitzen Fehlalarme auslösen.
- Fortgeschritten: Erstellen Sie einen Gasintensitäts-Trend-Monitor: Verfolgen Sie die letzten 20 AO-Messwerte in Python — wenn der Durchschnitt der letzten 10 Messwerte 50 % höher ist als der Durchschnitt der vorherigen 10, senden Sie einen "Gaskonzentration steigt" Telegram-Alarm, noch bevor der DO-Pin auslöst.