Arduino UNO Q - Temperatursensor - OLED
Möchten Sie die Echtzeit-Temperatur auf einem OLED-Bildschirm mit Ihrem Arduino UNO Q anzeigen und Telegram-Benachrichtigungen remote erhalten? Dieses Tutorial kombiniert den DS18B20-Sensor mit einem 128x64 SSD1306-OLED-Display.
In diesem Tutorial lernen Sie:
- Wie man den DS18B20-Sensor und das OLED-Display mit dem Arduino UNO Q MCU verdrahtet
- Wie man den MCU programmiert (C/C++ Arduino-Code), um die Temperatur zu lesen und zentriert auf dem OLED anzuzeigen
- Wie man sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmiert, um die Temperatur über Bridge zu überwachen
- Wie man Telegram-Benachrichtigungen erhält, wenn die Temperatur einen Schwellenwert auf dem Arduino UNO Q überschreitet
- Wie man OpenClaw auf dem Arduino UNO Q mit dem Temperatursensor und OLED verwendet

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.
Kaufhinweis: Wenn Sie ein größeres OLED-Display möchten, verwenden Sie das 2.42 inch OLED Display 128x64.
Über den Temperatursensor und das OLED
Wenn Sie neu beim DS18B20-Sensor oder beim SSD1306-OLED-Display sind, lesen Sie zuerst diese Tutorials:
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wir empfehlen, einen DS18B20-Sensor mit Verdrahtungsadapter zu kaufen. Der Adapter hat den Pull-up-Widerstand integriert.
DS18B20-Verbindungen:
| DS18B20 Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 3.3V oder 5V |
| DATA | D4 |
OLED I2C-Verbindungen:
| OLED Pin | Arduino UNO Q MCU |
|---|---|
| VCC | 3.3V oder 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU liest den DS18B20-Sensor und steuert das OLED-Display direkt
- Der Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur der MCU programmiert - die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Der MCU liest die Temperatur jede Sekunde und zeigt sie zentriert auf dem OLED an.
※ Notiz:
Der Code zentriert automatisch den Temperaturtext horizontal und vertikal auf dem OLED-Display. Das Gradsymbol wird mit char(247) angezeigt.
Schnelle Schritte
Erste Schritte mit Arduino UNO Q? Befolgen Sie das Tutorial Erste Schritte mit Arduino UNO Q, bevor Sie fortfahren.
- Verbinden: Verdrahten Sie den DS18B20-Sensor und das OLED-Display mit dem Arduino UNO Q MCU wie im Schaltplan gezeigt.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
- Eine neue App erstellen: Klicken Sie auf die Schaltfläche Create New App (Neue App erstellen).

- Geben Sie der App einen Namen, zum Beispiel: TemperatureSensorOled
- Klicken Sie auf Create (Erstellen), um zu bestätigen.

- Die Skizze einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Halten 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 Adafruit SSD1306 created by Adafruit and click the Install button.
- Search for Adafruit GFX Library created by Adafruit and click the Install button.
- Search for DallasTemperature created by Miles Burton
, Tim Newsome , Guil Barros , Rob Tillaart and click the Install button.
- Search for OneWire created by Jim Studt, Tom Pollard, Robin James, Glenn Trewitt, Jason Dangel, Guillermo Lovato, Paul Stoffregen, Scott Roberts, Bertrik Sikken, Mark Tillotson, Ken Butcher, Roger Clark, Love Nystrom and click the Install button.
- Hochladen: Klicken Sie auf die Schaltfläche Run (Ausführen) in Arduino App Lab.

- Halten Sie den Sensor in Ihrer Hand oder legen Sie ihn in heißes/kaltes Wasser - beobachten Sie, wie die Temperatur auf dem OLED aktualisiert wird.
App Lab-Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie man beide Prozessoren des Arduino UNO Q programmiert, damit die Linux-Seite die Temperatur über Bridge überwachen kann, während die OLED automatisch aktualisiert wird:
- Der DS18B20-Sensor und das OLED sind beide mit dem MCU (STM32) verbunden - der MCU liest jede Sekunde die Temperatur und aktualisiert das OLED automatisch
- Der MPU kann nicht direkt auf den Sensor oder das OLED zugreifen - er muss Bridge-Funktionen aufrufen, um Ablesungen abzurufen oder das Display zu löschen
- Der MPU hat Wi-Fi - er führt vollständiges Debian Linux aus und kann Ablesungen protokollieren, in Dashboards veröffentlichen oder Benachrichtigungen über das Internet senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router - öffnen Sie sie niemals in Benutzercode
Kurz gesagt: MCU liest Sensor jede Sekunde und aktualisiert OLED → MPU liest Temperatur über Bridge → MPU veröffentlicht, protokolliert oder benachrichtigt über Wi-Fi.
MCU-Code (Bridge)
Python-Code (Bridge)
Schnelle Schritte
- Verbinden: Verdrahten Sie den DS18B20-Sensor und das OLED mit dem Arduino UNO Q wie im Schaltplan gezeigt.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis die Platine erkannt wird.
- Eine neue App erstellen: Klicken Sie auf Create New App (Neue App erstellen), nennen Sie sie TemperatureSensorOledBridge, und klicken Sie auf Create (Erstellen).
- Die MCU-Skizze einfügen: Kopieren Sie den MCU-Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Den Python-Code einfügen: Kopieren Sie den Python-Bridge-Code oben und fügen Sie ihn in die Python-Datei in der App ein.
- Hochladen: Klicken Sie auf die Schaltfläche Run (Ausführen) in Arduino App Lab.

- Beobachten Sie, wie Temperaturablesungen in der Python-Konsole erscheinen, während sich das OLED automatisch aktualisiert.
App Lab-Konsolenausgabe
Telegram
Überwachen Sie die Temperatur remote und erhalten Sie automatische Telegram-Benachrichtigungen, wenn die Temperatur über 35°C ansteigt.
MCU-Skizze: Halten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.
Python-Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren tatsächlichen 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 (halten Sie die gleiche MCU-Skizze).
- Klicken Sie auf die Schaltfläche Run (Ausführen). Senden Sie /temp von Telegram oder halten Sie den Sensor, um die Hochtemperatur-Benachrichtigung 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 erstellen, die den Temperatursensor und das OLED mit dem Arduino UNO Q kombinieren:
- Tragbares Digitalthermometer: Ein batteriebetriebenes Thermometer, das die Temperatur auf dem OLED in großem, lesbarem Text anzeigt - das OLED schaltet sich nach 30 Sekunden ohne Änderung aus, um Strom zu sparen
- Serverraum-Monitor: Montieren Sie den Sensor in einem Serverrack und zeigen Sie die Echtzeit-Temperatur auf dem OLED an; der MPU sendet Telegram-Benachrichtigungen, wenn die Kühlung ausfällt
- Temperaturgesteuerte LED-Leiste: Der MCU liest die Temperatur und passt die Farbe einer LED-Leiste basierend auf Bereichen an (blau = kalt, grün = normal, rot = heiß), während das OLED die aktuelle Ablesung anzeigt
- Multi-Line-OLED-Dashboard: Zeigen Sie die Temperatur auf Zeile 1, Min/Max für die Sitzung auf Zeile 2 und die aktuelle Zeit (vom MPU über Bridge) auf Zeile 3 des OLED an
- Cloud-Temperatur-Logger: Der Linux MPU liest jede Minute die Temperatur über Bridge, speichert Daten in einer CSV-Datei und lädt sie täglich in Google Sheets oder ein IoT-Dashboard hoch
Fordern Sie Sich selbst heraus
Bereit, noch weiter mit dem Temperatursensor und OLED auf dem Arduino UNO Q zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Ändern Sie die MCU-Skizze so, dass das OLED Celsius und Fahrenheit auf separaten Zeilen anzeigt und die Anzeige alle 3 Sekunden wechselt.
- Mittel: Fügen Sie eine set_unit(String) Bridge-Funktion hinzu, die "C" oder "F" akzeptiert und einstellt, welche Einheit das OLED anzeigt, ohne den zugrunde liegenden Sensor-Code zu ändern.
- Fortgeschritten: Erstellen Sie ein Wetter-Stations-Dashboard: Lesen Sie die Temperatur vom DS18B20 und die Luftfeuchtigkeit vom DHT11-Sensor (falls verbunden), zeigen Sie beide auf dem OLED in einem formatierten Layout an, und lassen Sie den MPU alle 30 Sekunden alle Ablesungen an einen MQTT-Broker veröffentlichen.