Arduino UNO Q - DHT11 LCD
Kombinieren Sie den DHT11-Feuchte- und Temperatursensor mit einem 16x2-I2C-LCD auf Arduino UNO Q für eine klare Umgebungsüberwachung auf einen Blick. Fügen Bridge und Telegram für Remote-Überwachung und Warnungen hinzu.
In diesem Tutorial lernen Sie:
- Was der DHT11-Sensor ist und wie er mit einem LCD-Display funktioniert
- Wie Sie den DHT11 und das 16x2-I2C-LCD an das Arduino UNO Q MCU anschließen
- Wie Sie das MCU (C/C++ Arduino-Code) programmieren, um DHT11 zu lesen und Daten auf dem LCD anzuzeigen
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmieren, um Sensordaten über Bridge zu lesen
- Wie Sie Telegram-Warnungen erhalten, wenn Temperatur oder Luftfeuchte die Schwellenwerte auf Arduino UNO Q überschreiten
- Wie Sie OpenClaw auf Arduino UNO Q mit dem DHT11 und LCD verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Eine weitere Möglichkeit ist, das LCD I2C-Display zu erstellen, indem Sie LCD 1602 Display und PCF8574 I2C Adapter Module kombinieren.
Über den DHT11-Sensor
Pinbelegung
Der DHT11 hat vier Anschlüsse (bei Verwendung des gängigen 3-Pin-Moduls):
- GND: Mit GND verbinden
- VCC: Mit 3,3V oder 5V verbinden
- DATA: Mit digitalem Pin 2 auf der Arduino UNO Q MCU verbinden

Funktionsweise
Der DHT11 verwendet ein Single-Wire-Digitalprotokoll zur Übertragung von Feuchte und Temperatur. Er kann folgende Werte messen:
- Luftfeuchte: 20–80% RH (±5% Genauigkeit)
- Temperatur: 0–50°C (±2°C Genauigkeit)
Lassen Sie mindestens 3 Sekunden zwischen den Messwerten verstreichen.
Über das LCD-Display
Das 16x2-I2C-LCD wird über I2C verbunden und zeigt zwei Reihen mit je 16 Zeichen an. Die obere Reihe zeigt die Temperatur (°C und °F) und die untere Reihe zeigt die Luftfeuchte an. Standard-I2C-Adresse: 0x27.
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
DHT11 zu Arduino UNO Q MCU:
| DHT11-Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 3,3V |
| DATA | D2 |
LCD I2C zu Arduino UNO Q MCU:
| LCD-Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 5V |
| SDA | SDA |
| SCL | SCL |
Programmierung für DHT11 + LCD
- Fügen Sie die erforderlichen Bibliotheken ein:
- Initialisieren Sie den DHT11 und das LCD:
- Lesen Sie Temperatur und Luftfeuchte (warten Sie mindestens 3 Sekunden zwischen den Lesevorgängen):
- Überprüfen Sie immer auf fehlgeschlagene Lesevorgänge:
- Anzeige auf dem LCD:
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Die STM32 MCU liest den DHT11-Sensor und steuert das LCD – die gesamte Sensor- und Anzeigelogik läuft auf der MCU
- Die Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur die MCU programmiert – die Linux-Seite bleibt inaktiv. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Die MCU liest DHT11 alle 3 Sekunden, zeigt Temperatur und Luftfeuchte auf dem LCD an und druckt zum seriellen Monitor.
Schnelle Schritte
Erste Verwendung mit Arduino UNO Q? Folgen Sie zuerst dem Tutorial Erste Schritte mit Arduino UNO Q.
- Verbinden: Schließen Sie den DHT11 und das LCD wie im Schaltplan gezeigt an die Arduino UNO Q MCU an.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihre Arduino UNO Q erkennt.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.

- Geben Sie der App einen Namen, z.B.: Dht11Lcd
- Klicken Sie auf Erstellen, um zu bestätigen.

- Fügen Sie den Sketch ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie andere Dateien als Standard.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for DHT sensor library created by Adafruit and click the Install button.
- Search for DIYables LCD I2C created by DIYables.io and click the Install button.
- Upload: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.

- Beobachten Sie, wie Temperatur und Luftfeuchte alle 3 Sekunden auf dem LCD und dem seriellen Monitor erscheinen.
App Lab Konsolen-Ausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite DHT11-Daten über Bridge lesen und das LCD steuern kann:
- DHT11-Sensor und LCD sind mit der MCU verbunden – die gesamte Lese- und Anzeigelogik läuft alle 3 Sekunden auf der MCU
- Die MPU kann nicht direkt auf den Sensor oder das LCD zugreifen – sie ruft Bridge-Funktionen auf, um Messwerte abzurufen oder das Display zu löschen
- Die MPU hat Wi-Fi – sie führt vollständiges Debian Linux aus und kann Messwerte protokollieren, an Dashboards veröffentlichen oder Telegram-Warnungen senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) werden VOM ROUTER RESERVIERT – öffnen Sie diese nie in Benutzercode
Kurz gesagt: MCU liest DHT11 alle 3 Sekunden und aktualisiert LCD → MPU liest über Bridge → MPU sendet Warnungen über Wi-Fi.
MCU Code (Bridge)
Python Code (Bridge)
Schnelle Schritte
- Verbinden: Schließen Sie den DHT11 und das LCD wie im Schaltplan gezeigt an Arduino UNO Q an.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis die Platine erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf Neue App erstellen, nennen Sie sie Dht11LcdBridge, und klicken Sie auf Erstellen.
- Fügen Sie den MCU-Sketch ein: Kopieren Sie den oben gezeigten MCU Bridge-Code und fügen Sie ihn in sketch/sketch.ino ein.
- Fügen Sie den Python-Code ein: Kopieren Sie den oben gezeigten Python Bridge-Code und fügen Sie ihn in die Python-Datei der App ein.
- Upload: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.

- Beobachten Sie, wie sich das LCD alle 3 Sekunden aktualisiert und Messwerte in der Python-Konsole erscheinen.
App Lab Konsolen-Ausgabe
Telegram
Überwachen Sie DHT11-Messwerte aus der Ferne und erhalten Sie automatische Telegram-Warnungen, wenn Temperatur oder Luftfeuchte über Schwellenwerte steigt.
MCU-Sketch: Behalten Sie denselben MCU-Sketch aus dem vorherigen Bridge-Abschnitt.
Python Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren echten 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 Run-Schaltfläche. Senden Sie /temp oder /humidity von Telegram aus, oder wärmen Sie den Sensor auf, um die Hochtemperatur-Warnung auszulösen.
App Lab Konsolen-Ausgabe
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 DHT11 und LCD auf Arduino UNO Q entwickeln:
- Tragbares Thermometer-Hygrometer: Das LCD bietet eine klare, batterieschonende Anzeige der Temperatur und Luftfeuchte – verpacken Sie das Projekt in einem kleinen Gehäuse für ein tragbares Klimamesser
- Babyzimmer-Monitor: Installieren Sie das Gerät im Kinderzimmer – das LCD zeigt Live-Messwerte an und Telegram-Warnungen benachrichtigen Eltern sofort, wenn Temperatur oder Luftfeuchte außerhalb der Komfortzone liegen
- Kühlketten-Logger: Verwenden Sie den DHT11 und das LCD, um Lagerbedingungen zu überwachen – die Python-Seite protokolliert jeden Messwert über Bridge mit Zeitstempel in eine Linux-Datei zur späteren Überprüfung
- Hydroponische Wachstumsstation: Zeigen Sie die Temperatur und Luftfeuchte des Wachstumsraums auf dem LCD an und steuern Sie über Bridge ein Luftbefeuchter-Relais, wenn die Luftfeuchte sinkt, um optimale Bedingungen für das Pflanzenwachstum zu gewährleisten
- Labor-Umgebungs-Tracker: Posten Sie die DHT11-Messwerte jede Minute über die Wi-Fi der MPU an einen HTTP-Endpunkt – das LCD bestätigt die aktuellen Bedingungen, während das Dashboard historische Trends anzeigt
Herausforderung
Bereit, mit dem DHT11 und LCD auf Arduino UNO Q noch weiter zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Fügen Sie das benutzerdefinierte Celsius-Gradzeichen zum LCD mit createChar() hinzu, damit das Display statt des nächsten druckbaren Zeichens ein echtes °-Symbol anzeigt.
- Mittelstufe: Implementieren Sie einen Telegram-/avg-Befehl, der die durchschnittliche Temperatur und Luftfeuchte zurückgibt, die über die letzten 10 von der Python-Seite gepufferten Messwerte berechnet wurden.
- Fortgeschritten: Erstellen Sie einen geplanten Tagesbericht – alle 24 Stunden berechnet die MPU aus den Bridge-Daten die minimale, maximale und durchschnittliche Temperatur und Luftfeuchte des Tages und sendet eine formatierte Zusammenfassung per Telegram.