Arduino UNO Q - Ultraschallsensor steuert LED
In diesem Tutorial erfahren Sie, wie Sie einen Ultraschallsensor zur Steuerung einer LED basierend auf der Objektentfernung verwenden:
- Wenn sich ein Objekt nah am Sensor befindet, schaltet sich die LED ein.
- Wenn sich das Objekt entfernt, schaltet sich die LED aus.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.
Über LED und Ultraschallsensor
Erfahren Sie mehr über LED und Ultraschallsensoren in den folgenden Tutorials:
Schaltschema

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
MCU-Code
Das Arduino UNO Q hat zwei Prozessoren: den STM32 MCU (verwaltet Echtzeit-Hardware-Steuerung) und den Qualcomm MPU (führt Debian Linux aus). In diesem Abschnitt wird nur der STM32 MCU programmiert — die Linux-Seite bleibt inaktiv. In einem späteren Abschnitt wird gezeigt, wie beide Prozessoren zusammen arbeiten.
Schnelle Schritte
- Erstes Mal mit Arduino UNO Q? Folgen Sie dem Erste Schritte mit Arduino UNO Q-Tutorial, um Ihre Entwicklungsumgebung vor dem Fortfahren vorzubereiten.
- Verbinden Sie die Komponenten: Verbinden Sie TRIG → Pin 8, ECHO → Pin 7, LED (mit 220 Ω Widerstand) → Pin 3.
- Verbinden: Stecken Sie das 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 Ihr 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.: DIYables_UltrasonicLED
- Klicken Sie auf Create (Erstellen), um dies zu bestätigen.
- Sie sehen einen Satz von Ordnern und Dateien, die in Ihrer neuen App generiert werden.

- 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 Arduino_RouterBridge created by Arduino and click the Install button.
- Upload: Klicken Sie auf die Schaltfläche Run in Arduino App Lab, um den Code zu kompilieren und auf den STM32 hochzuladen.

- Test: Führen Sie Ihre Hand zum Sensor — die LED schaltet sich ein, wenn Sie sich dem Sensor bis 50 cm nähern.
※ Notiz:
Dieser Code dient zu Lernzwecken. Der Ultraschallsensor ist empfindlich gegenüber Rauschen. Für die Produktionsnutzung wenden Sie den Rauschfilter aus dem Ultraschallsensor-Tutorial an.
Linux + MCU Bridge-Programmierung
Das Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten: den MPU (Qualcomm, führt Debian Linux aus) und den MCU (STM32, führt Zephyr OS mit Ihrer Arduino-Skizze aus). Sie kommunizieren über RPC über die Bibliothek Arduino_RouterBridge — niemals über Raw-Serielle Anschlüsse.
- Der Ultraschallsensor und die LED sind mit dem MCU (STM32) verbunden — TRIG an Pin 8, ECHO an Pin 7, LED an Pin 3.
- Der MPU kann diese nicht direkt steuern — er ruft Bridge.call("check_distance") auf dem MCU auf, das die Entfernung misst und die LED entsprechend einstellt.
- Der MPU hat Wi-Fi — da der MPU ein vollständiges Debian Linux mit Wi-Fi ausführt, kann er Telegram ausführen und die Überprüfung automatisch durchschleifen.
- Kommunikation: Bridge.call() auf der Linux-Seite ruft Bridge.provide_safe() auf der MCU-Seite auf (da digitalWrite() eine Hardware-API ist)
- ⚠️ Reserviert: /dev/ttyHS1 (Linux) und Serial1 (MCU) werden vom Arduino Router verwendet — öffnen Sie sie nie direkt
Kurz gesagt: Python ruft Überprüfung auf → MCU misst Entfernung → MCU stellt LED ein und druckt zum Monitor.
MCU-Skizze — Ultraschallsensor-LED-Steuerung mit Bridge und Monitor-Ausgabe:
Python-Skript (Arduino App Lab) — Entfernungsprüfung-Schleife von Linux ausführen:
- 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 nie 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.
Schnelle Schritte
- Laden Sie die MCU-Skizze hoch: Ö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 Bibliothek Arduino_RouterBridge, und klicken Sie auf Run.
- Fügen Sie das Python-Skript hinzu: Fügen Sie den Python-Code oben in die Python-Registerkarte derselben App ein.
- Führen Sie die App aus: Klicken Sie auf Run — Python ruft check_distance alle 500 ms auf; der MCU misst die Entfernung und steuert die LED.
- Überprüfen Sie die Konsole: Öffnen Sie die Registerkarte Console → MCU Monitor-Unterregisterkarte, um die Entfernung und den LED-Status zu sehen.
App Lab-Konsolenausgabe
Telegram-Integration
Überwachen Sie den Ultraschallsensor und den LED-Status remote über Telegram.
Wenn Sie noch keinen Telegram-Bot haben, lesen Sie So erstellen Sie einen 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 hochgeladen und auf dem STM32 ausgeführt wird, bevor Sie fortfahren.
Python-Skript (Arduino App Lab) — Telegram-Bot für Ultraschallsensor-LED-Überwachung:
- Hinweis: Ersetzen Sie YOUR_BOT_TOKEN durch das Token, das Sie von @BotFather auf Telegram erhalten haben.
- Der Bot überprüft kontinuierlich die Entfernung und steuert die LED, während er auf Telegram-Befehle hört.
- Senden Sie /read, um eine Bestätigung anzufordern, dass der Status im MCU Monitor protokolliert wurde.
Schnelle Schritte
- Laden Sie die MCU-Skizze hoch: Verwenden Sie die Bridge-MCU-Skizze aus dem vorherigen Abschnitt (laden Sie sie zuerst hoch, falls noch nicht geschehen).
- Fügen Sie das Telegram-Skript ein: Kopieren Sie den Python-Code oben in die Python-Registerkarte Ihrer App in Arduino App Lab.
- Stellen Sie Ihr Token ein: Ersetzen Sie YOUR_BOT_TOKEN im Skript durch Ihr echtes Bot-Token.
- Führen Sie die App aus: Klicken Sie auf Run — der Bot beginnt, die LED zu steuern und auf Telegram-Nachrichten zu hören.
- Testen Sie es: Senden Sie /read — der Bot antwortet mit der aktuellen Entfernung und dem LED-Status.
App Lab-Python-Konsolenausgabe
ArduinoBot
OpenClaw-Integration
Sie können die OpenClaw an dieses Tutorial anpassen, indem Sie sich auf die Anleitung im Arduino UNO Q - OpenClaw-Tutorial beziehen.
Anwendungs-/Projektideen
- Näherungswarnung-Licht: Lassen Sie eine LED aufblinken, wenn sich ein Objekt nähert (kombinieren Sie mit Entfernungsschwellwerten)
- Automatisches Nachtlicht: Schalten Sie eine LED ein, wenn jemand einen Sensor in der Nacht nähert
- Hindernisanzeige: Verwenden Sie die LED, um anzuzeigen, dass sich ein Roboter zu nah an einer Wand befindet
- Sicherheitsmitteilung für Kinder: Befestigen Sie an einer Schublade oder einem Schrank — LED leuchtet, wenn jemand hineingreift
- Helligkeit-Auslöser: Aktivieren Sie eine Hintergrundbeleuchtung, wenn ein Benutzer in der Nähe erkannt wird
Herausforderung für Sie
- Einfach: Ändern Sie den DISTANCE_THRESHOLD von 50 cm auf 20 cm und beobachten Sie den Unterschied
- Mittel: Fügen Sie mehrere Schwellwerte hinzu — blinken Sie langsam bei 50 cm, blinken Sie schnell bei 30 cm, bleiben Sie bei 15 cm an
- Fortgeschrittene: Senden Sie den tatsächlichen Entfernungswert (in cm) direkt als Nachricht zurück an den Telegram-Benutzer