Arduino UNO Q - Relais

Dieses Tutorial zeigt Ihnen, wie Sie ein Relais mit Arduino UNO Q verwenden, um Geräte zu steuern, die mit Hochspannung oder hohem Strom betrieben werden, wie z. B. LED-Streifen, Ventilatoren, Glühbirnen, elektromagnetische Schlösser und Linearaktuatoren. Sie werden lernen:

Arduino UNO Q Relais

WARNING

Bei der Arbeit an Projekten, die mit der Stromversorgung verbunden sind, ist es wichtig, über das richtige Wissen zu verfügen, um Stromschläge zu vermeiden. Sicherheit ist sehr wichtig. Wenn Sie sich nicht ganz sicher sind, was Sie tun, versuchen Sie es bitte nicht. Wenden Sie sich stattdessen an jemanden mit Erfahrung.

Wir empfehlen die Verwendung eines Gleichstromgeräts (bis 24V) zum Testen, obwohl einige Relais mit Gleich- und Wechselstromgeräten funktionieren können.

Erforderliche Hardware

1×Arduino UNO Q
1×USB-Kabel für Arduino Uno Q
1×Relais
1×LED-Streifen
1×12V-Stromadapter
1×Gleichstrom-Stromanschluss
1×Steckbrett
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das Relais

Ein Relais ist ein programmierbarer Schalter, der von einem Mikrocontroller (wie Arduino UNO Q) gesteuert wird. Mit ihm können Sie Hochspannungsgeräte automatisch ein- oder ausschalten.

Relais-Pinbelegung

Relais-Pinbelegung

Ein Relais hat zwei Gruppen von Pins:

Eingangsgruppe (Niederspannung, verbunden mit Arduino UNO Q):

  • DC- Pin: Mit GND (0V) verbinden.
  • DC+ Pin: Mit VCC (5V) verbinden.
  • IN Pin: Steuersignal von Arduino UNO Q.

Ausgangsgruppe (Hochspannung, verbunden mit Ihrem Gerät):

  • COM Pin: Gemeinsamer Pin, wird in sowohl stromlos schließend als auch stromlos offen Modus verwendet.
  • NO Pin: Stromlos offen Pin - wird im stromlos offen Modus verwendet.
  • NC Pin: Stromlos schließend Pin - wird im stromlos schließend Modus verwendet.

Funktionsweise

Für Anfänger verwenden Sie HIGH-Level-Trigger + Stromlos offen (NO) Modus:

  • Wenn der IN-Pin HIGH empfängt → schließt das Relais den COM-NO-Stromkreis → Gerät wird EINGESCHALTET.
  • Wenn der IN-Pin LOW empfängt → öffnet das Relais den COM-NO-Stromkreis → Gerät wird AUSGESCHALTET.

※ Notiz:

Verschiedene Hersteller können die Relais-Modulpins unterschiedlich anordnen. Überprüfen Sie immer und befolgen Sie die Beschriftungen auf Ihrer Relaisplatine.

Hochspannungsgerät verbinden

Relais verbinden

Schaltplan

Arduino UNO Q Relais-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

MCU-Code

Die Arduino UNO Q hat zwei Prozessoren: die STM32 MCU (behandelt Echtzeitsteuerung der Hardware) und die Qualcomm MPU (führt Debian Linux aus). In diesem Abschnitt wird nur die STM32 MCU programmiert - die Linux-Seite bleibt inaktiv. Ein späterer Abschnitt zeigt, wie beide Prozessoren zusammenarbeiten.

Der untenstehende Code schaltet das Relais wiederholend jede 500 ms ein und aus:

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-relay */ #define RELAY_PIN 9 // The Arduino UNO Q pin connected to the IN pin of the relay void setup() { pinMode(RELAY_PIN, OUTPUT); } void loop() { digitalWrite(RELAY_PIN, HIGH); // turn relay on delay(500); digitalWrite(RELAY_PIN, LOW); // turn relay off delay(500); }

Schnelle Schritte

  • Zum ersten Mal mit Arduino UNO Q? Folgen Sie dem Erste Schritte mit Arduino UNO Q Tutorial, um Ihre Entwicklungsumgebung vorzubereiten, bevor Sie fortfahren.
  • Komponenten verdrahten: Verbinden Sie Relais IN → Pin 9, DC+ → 5V, DC- → GND.
  • Verbinden: Stecken Sie die 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 Ihre Arduino UNO Q erkennt.
  • Erstelle eine neue App: Klicken Sie auf die Schaltfläche App erstellen.
App erstellen in Arduino App Lab auf Arduino UNO Q
  • Geben Sie der App einen Namen, z. B.: DIYables_Relay
  • Klicken Sie auf Erstellen, um zu bestätigen.
  • Sie sehen einen Satz von Ordnern und Dateien, die in Ihrer neuen App generiert werden.
Arduino App Lab App-Ordner und Dateien auf Arduino UNO Q
  • Suchen Sie die Datei sketch/sketch.ino - hier werden Sie den MCU-Sketch einfügen.
  • Sketch einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in die Sketch-Datei 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.
    Add sketch library in Arduino App Lab on Arduino UNO Q
    • Search for Arduino_RouterBridge created by Arduino and click the Install button.
    My Apps / DIYables Apps
    Run
    Bricks
    No bricks added...
    Sketch Libraries
    No sketch libra...
    Files
    python
    sketch
    .gitignore
    README.md
    app.yaml
    sketch.ino
    Add sketch library
    Arduino_RouterBridge Arduino

    This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

    0.4.1
    Install
    More Info
    • Hochladen: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab, um zu kompilieren und auf den STM32 hochzuladen.
    Klicken Sie auf die Run-Schaltfläche in Arduino App Lab auf Arduino UNO Q
    • Testen: Sie sollten das Relais alle 500 ms klickend ein- und ausschalten hören.

    Linux + MCU-Bridge-Programmierung

    Die Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten: die MPU (Qualcomm, führt Debian Linux aus) und die MCU (STM32, führt Zephyr OS mit Ihrem Arduino-Sketch aus). Sie kommunizieren mithilfe von RPC über die Arduino_RouterBridge-Bibliothek - nie über Raw-Serielle Anschlüsse.

    • Das Relais ist mit der MCU (STM32) verbunden - Relais IN an Pin 9.
    • Die MPU kann das Relais nicht direkt steuern - Sie ruft Bridge.call("relay_on") oder Bridge.call("relay_off") auf der MCU auf, die den Relais-Pin entsprechend setzt.
    • Die MPU hat Wi-Fi - Da die MPU vollständiges Debian Linux mit Wi-Fi ausführt, kann es Telegram-Befehle zum Remote-Steuern des Relais akzeptieren.
    • Kommunikation: Bridge.call() auf der Linux-Seite ruft Bridge.provide_safe() auf der MCU-Seite auf (da digitalWrite() zum Steuern des Relais verwendet wird)
    • ⚠️ Reserviert: /dev/ttyHS1 (Linux) und Serial1 (MCU) werden vom Arduino Router verwendet - öffnen Sie sie niemals direkt

    Kurz gesagt: MPU sendet Relaisbefehl → MCU setzt Relais-Pin → Gerät wird ein/aus.

    MCU-Sketch - Relaissteuerung mit Bridge:

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-relay */ #include "Arduino_RouterBridge.h" #define RELAY_PIN 9 void relay_on() { digitalWrite(RELAY_PIN, HIGH); Monitor.println("Relay: ON"); } void relay_off() { digitalWrite(RELAY_PIN, LOW); Monitor.println("Relay: OFF"); } void setup() { Bridge.begin(); Monitor.begin(); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // start with relay off Bridge.provide_safe("relay_on", relay_on); Bridge.provide_safe("relay_off", relay_off); Monitor.println("Relay Bridge ready"); } void loop() {}

    Python-Skript (Arduino App Lab) - Relais alle 0,5 Sekunden umschalten:

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-relay */ from arduino.app_utils import * import time def loop(): Bridge.call("relay_on") time.sleep(0.5) Bridge.call("relay_off") time.sleep(0.5) App.run(user_loop=loop)
    • Hinweis: Stellen Sie sicher, dass Bridge.begin() im MCU-Sketch aufgerufen wird und der Sketch hochgeladen wurde, 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 werden vom Arduino Router reserviert und der Zugriff darauf unterbricht die Bridge.

    Schnelle Schritte

    • MCU-Sketch hochladen: Öffnen Sie Arduino App Lab, erstellen Sie eine neue App, fügen Sie den Bridge-MCU-Sketch in sketch/sketch.ino ein, installieren Sie die Arduino_RouterBridge-Bibliothek und klicken Sie auf Run.
    • Python-Skript hinzufügen: Fügen Sie den Python-Code oben im Python-Tab derselben App ein.
    • App ausführen: Klicken Sie auf Run - Python schaltet das Relais alle 500 ms um.
    • Konsole überprüfen: Öffnen Sie die Registerkarte Konsole → Unterkarte MCU-Monitor, um den Relais-Status anzuzeigen.

    App Lab-Konsolenausgabe

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    Message (Enter to send a message to "Newbiely" on usb(2820070321))
    New Line
    9600 baud
    Relay Bridge ready Relay: ON Relay: OFF Relay: ON Relay: OFF

    Telegram-Integration

    Steuern Sie das Relais remote über Telegram mit den Befehlen /on und /off.

    Wenn Sie noch keinen Telegram-Bot haben, lesen Sie Wie man einen Telegram-Bot erstellt, um Ihr Bot-Token vor dem Fortfahren zu erhalten.

    MCU-Sketch: Behalten Sie den gleichen MCU-Sketch aus dem vorherigen Bridge-Abschnitt - keine Änderungen erforderlich. Stellen Sie sicher, dass er bereits hochgeladen und auf dem STM32 ausgeführt wird, bevor Sie fortfahren.

    Python-Skript (Arduino App Lab) - Telegram-Bot zur Relaissteuerung:

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-relay */ from arduino.app_utils import * import requests import time BOT_TOKEN = "YOUR_BOT_TOKEN" API_URL = f"https://api.telegram.org/bot{BOT_TOKEN}" last_update_id = 0 def send_message(chat_id, text): requests.post(f"{API_URL}/sendMessage", json={"chat_id": chat_id, "text": text}) def get_updates(): global last_update_id resp = requests.get(f"{API_URL}/getUpdates", params={"offset": last_update_id + 1, "timeout": 5}) return resp.json().get("result", []) def loop(): global last_update_id updates = get_updates() for update in updates: last_update_id = update["update_id"] msg = update.get("message", {}) chat_id = msg.get("chat", {}).get("id") text = msg.get("text", "").strip() if text == "/on": Bridge.call("relay_on") send_message(chat_id, "Relay is ON.") elif text == "/off": Bridge.call("relay_off") send_message(chat_id, "Relay is OFF.") else: send_message(chat_id, "Commands:\n/on — turn relay on\n/off — turn relay off") time.sleep(0.5) App.run(user_loop=loop)
    • Hinweis: Ersetzen Sie YOUR_BOT_TOKEN durch das Token, das Sie von @BotFather auf Telegram erhalten haben.
    • Senden Sie /on, um das Relais zu aktivieren; /off, um es zu deaktivieren.

    Schnelle Schritte

    • MCU-Sketch hochladen: Verwenden Sie den Bridge-MCU-Sketch aus dem vorherigen Abschnitt (laden Sie ihn zuerst hoch, wenn nicht bereits geschehen).
    • Telegram-Skript einfügen: Kopieren Sie den Python-Code oben in den Python-Tab Ihrer App in Arduino App Lab.
    • Token festlegen: Ersetzen Sie YOUR_BOT_TOKEN im Skript durch Ihr tatsächliches Bot-Token.
    • App ausführen: Klicken Sie auf Run - der Bot beginnt, auf Telegram-Nachrichten zu lauschen.
    • Testen Sie es: Senden Sie /on und /off, um das Relais zu steuern.

    App Lab-Python-Konsolenausgabe

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-04-29 12:00:01] Telegram: /on [2026-04-29 12:00:02] Relay is ON. [2026-04-29 12:01:30] Telegram: /off [2026-04-29 12:01:31] Relay is OFF.
    Telegram
    Telegram 12:45
    Welcome to Telegram!
    ArduinoBot 10:19
    Chatting with Arduino...
    telegram-botfather
    BotFather Yesterday
    Your bot has been created.

    ArduinoBot

    bot
    Today
    /on
    10:15 AM ✓✓
    Relay is ON.
    10:16 AM
    /off
    10:17 AM ✓✓
    Relay is OFF.
    10:18 AM

    OpenClaw-Integration

    Sie können die OpenClaw an dieses Tutorial anpassen, indem Sie die Anweisungen im Arduino Uno Q - OpenClaw Tutorial befolgen.

    Anwendungen / Projektideen

    • Remote-Gerätesteuerung: Schalten Sie Lichter, Ventilatoren oder Heizungen über Telegram von überall aus ein/aus
    • Geplantes Schalten: Verwenden Sie das Python-Modul datetime, um Geräte zu bestimmten Zeiten ein/aus zu schalten
    • Sicherheitssystem: Lösen Sie einen Alarm oder eine Alarmrelais aus, wenn Ihr Raspberry Pi einen Eindringling erkennt
    • Wasserpumpensteuerung: Schalten Sie eine Wasserpumpe für die Bewässerung über Ihr Telefon ein/aus

    Fordern Sie sich selbst heraus

    • Einfach: Ändern Sie das Umschaltintervall von 500 ms auf 2 Sekunden
    • Mittelschwer: Fügen Sie einen /toggle-Befehl hinzu, der das Relais in den entgegengesetzten Zustand schaltet
    • Fortgeschritten: Protokollieren Sie jede Relaisstatusänderung mit einem Zeitstempel in eine Datei auf der MPU

    Funktionsreferenzen

    ※ UNSERE NACHRICHTEN

    • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!