Arduino UNO Q - Ultraschallsensor mit OLED-Display
In diesem Leitfaden erfahren Sie, wie Sie mit einem Ultraschallsensor den Abstand messen und ihn zentriert auf einem OLED-Bildschirm mit Arduino UNO Q anzeigen können.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Wenn Sie ein größeres OLED-Display möchten, verwenden Sie das 2.42 inch OLED Display 128x64.
Über OLED und Ultraschallsensor
Erfahren Sie mehr über das OLED-Display und den Ultraschallsensor in den folgenden Tutorials:
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
MCU Code
Der Arduino UNO Q verfügt über zwei Prozessoren: den STM32 MCU (verwaltet Hardware-Echtzeitsteuerung) und den Qualcomm MPU (läuft Debian Linux). In diesem Abschnitt wird nur der STM32 MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren zusammenarbeiten.
※ Notiz:
Der Code zentriert den Entfernungstext sowohl horizontal als auch vertikal auf dem OLED-Display.
Schnellschritte
- Erste Schritte mit Arduino UNO Q? Folgen Sie dem Tutorial Getting Started with Arduino UNO Q, um Ihre Entwicklungsumgebung vor dem Fortfahren vorzubereiten.
- Komponenten verdrahten: Verbinden Sie TRIG → Pin 4, ECHO → Pin 3. Verbinden Sie OLED SDA → SDA, SCL → SCL.
- Verbinden: Stecken Sie den Arduino UNO Q mit einem USB-C-Kabel in Ihren Computer.
- Ö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.: DIYables_UltrasonicOLED
- Klicken Sie auf Create, um zu bestätigen.
- Sie sehen einen Satz von Ordnern und Dateien in Ihrer neuen App.

- Suchen Sie die Datei sketch/sketch.ino — hier fügen Sie die MCU-Skizze ein.
- 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 Arduino_RouterBridge created by Arduino and click the Install button.
- Hochladen: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab, um den STM32 zu kompilieren und hochzuladen.

- Test: Führen Sie Ihre Hand vor dem Sensor durch — der Abstand sollte alle 500 ms auf dem OLED aktualisiert werden.
※ Notiz:
Dieser Code ist zum Lernen gedacht. Für die Produktion wenden Sie den Rauschfilter aus dem Ultraschallsensor-Tutorial an.
Linux + MCU Bridge-Programmierung
Der Arduino UNO Q verfügt über zwei Prozessoren, die zusammenarbeiten: den MPU (Qualcomm, läuft Debian Linux) und den MCU (STM32, läuft Zephyr OS mit Ihrer Arduino-Skizze). Sie kommunizieren über RPC über die Bibliothek Arduino_RouterBridge — niemals über rohe serielle Anschlüsse.
- Der Ultraschallsensor und das OLED sind beide mit dem MCU (STM32) verbunden — Sensor auf Pins 5/9, OLED über I2C.
- Der MPU kann diese nicht direkt steuern — er ruft Bridge.call("read_distance") auf dem MCU auf, der den Abstand misst, auf dem OLED anzeigt und im Monitor ausgibt.
- Der MPU hat Wi-Fi — da der MPU vollständiges Debian Linux mit Wi-Fi ausführt, kann er Telegram-Befehle empfangen und Messvorgänge remote auslösen.
- Kommunikation: Bridge.call() auf der Linux-Seite ruft Bridge.provide_safe() auf der MCU-Seite auf (da digitalWrite() und OLED-Schreibvorgänge Hardware-APIs sind)
- ⚠️ Reserviert: /dev/ttyHS1 (Linux) und Serial1 (MCU) werden vom Arduino Router verwendet — öffnen Sie sie niemals direkt
Kurz gesagt: MPU fordert Lesung an → MCU misst Abstand → MCU zeigt auf OLED an und druckt auf Monitor aus.
MCU-Skizze — Ultraschallsensor OLED-Display mit Bridge:
Python-Skript (Arduino App Lab) — jede Sekunde eine Entfernungsmessung vom Linux anfordern:
- Hinweis: Stellen Sie sicher, dass Bridge.begin() in der MCU-Skizze aufgerufen wird und die Skizze hochgeladen wird, bevor Sie das Python-Skript auf der Linux-Seite ausführen.
- ⚠️ Warnung: Öffnen Sie niemals direkt /dev/ttyHS1 (auf Linux) oder verwenden Sie Serial1 (auf MCU) in Ihrem Code — diese sind vom Arduino Router reserviert und der Zugriff darauf unterbricht die Bridge.
Schnellschritte
- MCU-Skizze hochladen: Öffnen Sie Arduino App Lab, erstellen Sie eine neue App, fügen Sie die Bridge-MCU-Skizze in sketch/sketch.ino ein, installieren Sie die Bibliotheken Adafruit SSD1306 und Arduino_RouterBridge, und klicken Sie auf Ausführen.
- Python-Skript hinzufügen: Fügen Sie den Python-Code oben in die Python-Registerkarte derselben App ein.
- App ausführen: Klicken Sie auf Ausführen — Python fordert jede Sekunde eine Lesung an; MCU aktualisiert das OLED und Monitor.
- Konsole überprüfen: Öffnen Sie die Registerkarte Konsole → Unterregisterkarte MCU Monitor, um die Entfernungswerte anzuzeigen.
App Lab Konsolenausgabe
Telegram-Integration
Lesen Sie die Entfernung und zeigen Sie sie über Telegram auf dem OLED remote an.
Wenn Sie noch keinen Telegram-Bot haben, lesen Sie How to Create a Telegram Bot, um Ihr Bot-Token zu erhalten, bevor Sie fortfahren.
MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt — keine Änderungen erforderlich. Stellen Sie sicher, dass sie bereits auf dem STM32 hochgeladen und ausgeführt wird, bevor Sie fortfahren.
Python-Skript (Arduino App Lab) — Telegram-Bot für Ultraschall-OLED-Display:
- Hinweis: Ersetzen Sie YOUR_BOT_TOKEN durch das Token, das Sie von @BotFather auf Telegram erhalten haben.
- Senden Sie /read, um eine Entfernungsmessung auszulösen — das Ergebnis wird auf dem OLED und im Monitor angezeigt.
Schnellschritte
- MCU-Skizze hochladen: Verwenden Sie die Bridge-MCU-Skizze aus dem vorherigen Abschnitt (laden Sie sie zuerst hoch, falls noch nicht geschehen).
- Telegram-Skript einfügen: Kopieren Sie den Python-Code oben in die Python-Registerkarte Ihrer App in Arduino App Lab.
- Token festlegen: Ersetzen Sie YOUR_BOT_TOKEN im Skript durch Ihren tatsächlichen Bot-Token.
- App ausführen: Klicken Sie auf Ausführen — der Bot beginnt, auf Telegram-Nachrichten zu warten.
- Test: Senden Sie /read — der Bot antwortet mit dem gemessenen Abstand, der auch auf dem OLED angezeigt wird.
App Lab Konsolenausgabe
ArduinoBot
OpenClaw-Integration
Sie können die OpenClaw an dieses Tutorial anpassen, indem Sie die Anweisung zu Arduino UNO Q - OpenClaw Tutorial lesen.
Anwendungs-/Projektideen
- Tragbares Entfernungsmessgerät: Verwenden Sie Sensor + OLED als tragbares Entfernungsmesswerkzeug
- Parkassistent: Zeigen Sie ein Balkendiagramm des verbleibenden Platzes an, wenn ein Fahrzeug rückwärts zu einer Wand fährt
- Wassertankpegel-Messer: Zeigen Sie den aktuellen Wasserspiegel auf dem OLED in Echtzeit an
- Roboter-Näherungsanzeige: Zeigen Sie den aktuellen Hindernis-Abstand auf einem Bordgeräte-OLED-Bildschirm
- Messstelle: An einer Wand montieren, um live Raumdimensionen für Heimrenovierungsprojekte anzuzeigen
Fordere dich heraus
- Einfach: Zeige "CLOSE!" auf dem OLED in großem Text an, wenn der Abstand < 20 cm beträgt
- Mittel: Zeichne ein Balkendiagramm auf dem OLED, das sich füllt, wenn das Objekt näher kommt
- Fortgeschrittene: Sende den tatsächlichen Entfernungswert (in cm) direkt als Nachricht an den Telegram-Benutzer