Arduino UNO Q - DHT22 LCD
Kombinieren Sie den hochpräzisen DHT22-Feuchte- und Temperatursensor mit einem 16x2 I2C LCD auf Arduino UNO Q. Der DHT22 bietet bessere Genauigkeit als der DHT11 — perfekt für Projekte, die eine präzise Umgebungsüberwachung mit klarer Anzeige erfordern.
In diesem Tutorial lernen Sie:
- Was der DHT22-Sensor ist und wie er sich mit dem DHT11 vergleicht
- Wie Sie den DHT22 und das 16x2 I2C LCD an die Arduino UNO Q MCU anschließen
- Wie Sie die MCU programmieren (C/C++ Arduino-Code), um DHT22 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-Benachrichtigungen erhalten, wenn Temperatur oder Feuchte auf Arduino UNO Q Schwellwerte überschreiten
- Wie Sie OpenClaw auf Arduino UNO Q mit DHT22 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 DHT22-Sensor
Pinbelegung
Der DHT22 hat vier Anschlüsse (bei Verwendung des üblichen 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 DHT22 verwendet ein Single-Wire-Digitalprotokoll zur Übertragung von Feuchte und Temperatur. Er bietet höhere Präzision als der DHT11:
- Feuchte: 0–100% RH (±2–5% Genauigkeit)
- Temperatur: -40–80°C (±0,5°C Genauigkeit)
Warten Sie zwischen den Messwerten mindestens 2–3 Sekunden.
Über das LCD-Display
Das 16x2 I2C LCD verbindet sich über I2C und zeigt zwei Reihen mit je 16 Zeichen an. Die obere Reihe zeigt die Temperatur (°C und °F) und die untere Reihe zeigt die Feuchte. Standardmäßige I2C-Adresse: 0x27.
Schaltschema

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
DHT22 zu Arduino UNO Q MCU:
| DHT22 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 DHT22 + LCD
- Fügen Sie die erforderlichen Bibliotheken ein:
- Initialisieren Sie DHT22 und LCD:
- Lesen Sie Temperatur und Feuchte (warten Sie zwischen den Lesevorgängen mindestens 3 Sekunden):
- Überprüfen Sie immer auf fehlgeschlagene Lesevorgänge:
- Anzeige auf LCD:
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammen arbeiten:
- Die STM32 MCU liest den DHT22-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 untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Die MCU liest DHT22 alle 3 Sekunden, zeigt Temperatur und Feuchte auf dem LCD an und druckt auf den seriellen Monitor.
Schnelle Schritte
Erstes Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, bevor Sie fortfahren.
- Verbinden: Verbinden Sie DHT22 und LCD mit der Arduino UNO Q MCU, wie im Schaltschema gezeigt.
- Ö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.

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

- Sketch einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie andere Dateien als Standardwerte.
- 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 Feuchte alle 3 Sekunden auf dem LCD und im seriellen Monitor angezeigt werden.
App Lab Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite DHT22-Daten über Bridge lesen und das LCD steuern kann:
- Der DHT22-Sensor und das 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 — mit vollständigem Debian Linux kann sie Messwerte protokollieren, in Dashboards veröffentlichen oder Telegram-Benachrichtigungen senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT durch den Router — öffnen Sie sie nie im Benutzercode
Kurz gesagt: MCU liest DHT22 alle 3 Sekunden und aktualisiert LCD → MPU liest über Bridge → MPU sendet Benachrichtigungen über Wi-Fi.
MCU-Code (Bridge)
Python-Code (Bridge)
Schnelle Schritte
- Verbinden: Verbinden Sie DHT22 und LCD mit Arduino UNO Q wie im Schaltschema gezeigt.
- Ö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 Create New App, nennen Sie sie Dht22LcdBridge, und klicken Sie dann auf Create.
- Sketch MCU einfügen: Kopieren Sie den MCU Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Python-Code einfügen: Kopieren Sie den Python Bridge-Code oben 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 angezeigt werden.
App Lab Konsolenausgabe
Telegram
Überwachen Sie DHT22-Messwerte remote und erhalten Sie automatische Telegram-Benachrichtigungen, wenn Temperatur oder Feuchte über Schwellwerte steigen.
MCU-Sketch: Behalten Sie den gleichen MCU-Sketch aus dem vorherigen Bridge-Abschnitt.
Python-Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN mit Ihrem echten Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID mit Ihrer Telegram-Chat-ID.
- Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie den gleichen MCU-Sketch).
- Klicken Sie auf die Run-Schaltfläche. Senden Sie /temp oder /humidity von Telegram, oder wärmen Sie den Sensor auf, um die Hochtemperaturwarnung 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 DHT22 und LCD auf Arduino UNO Q erstellen:
- Präzisions-Raumthermometer-Hygrometer: Die ±0,5°C Genauigkeit des DHT22 in Kombination mit der klaren Anzeige des LCD schafft ein zuverlässiges eigenständiges Instrument zur Raumklimaüberwachung
- Lebensmittellagerüberwachung: Überwachen Sie Feuchte und Temperatur in einer Speisekammer oder einem Weinkeller — Telegram-Benachrichtigungen teilen mit, wenn Bedingungen außerhalb sicherer Bereiche abweichen
- Pflanzenzuchtstation: Zeigen Sie Temperatur und Feuchte auf dem LCD an, um ideale Wachstumsbedingungen zu gewährleisten — lösen Sie einen Luftbefeuchter oder Lüfter über Bridge aus, wenn Messwerte abweichen
- Klassenzimmer-Wetterstation: Montieren Sie DHT22 und LCD in einem Klassenzimmer — Schüler können Live-Messwerte beobachten und die Bridge-Python-Seite nutzen, um Klimadaten über den Schultag hinweg zu protokollieren und zu grafisch darzustellen
- Serverraum-Überwachung: Verwenden Sie den DHT22's erweiterten Temperaturbereich (bis zu 80°C), um Rack-Temperaturen zu überwachen — das LCD zeigt den Live-Status an und Telegram sendet sofortige Benachrichtigungen, bevor Ausrüstungsschäden auftreten
Stellen Sie sich selbst eine Herausforderung
Sind Sie bereit, noch mehr mit DHT22 und LCD auf Arduino UNO Q zu tun? Versuchen Sie diese Herausforderungen:
- Einfach: Fügen Sie scrollenden Text zum LCD hinzu — wenn die Temperatur 35°C überschreitet, scrollen Sie eine Warnmeldung über die untere Zeile mit lcd.scrollDisplayLeft().
- Mittel: Implementieren Sie einen Telegram /setthreshold Befehl, der einen Temperaturwert als Argument akzeptiert und die Benachrichtigungsschwelle dynamisch auf der Python-Seite aktualisiert (z. B. /setthreshold 30).
- Fortgeschrittene: Erstellen Sie einen Dual-Mode-Display — wechseln Sie das LCD alle 5 Sekunden zwischen Celsius/Fahrenheit-Anzeige und Taupunktanzeige ab, wobei der Taupunkt in Python über Bridge berechnet wird und über eine set_dew_point(String) Bridge-Funktion an die MCU zurückgesendet wird.