Arduino UNO Q - Steuert Lüfter

In diesem Leitfaden erfahren Sie, wie Sie einen Lüfter mit einem Relais mithilfe von Arduino UNO Q steuern. Das Relais fungiert als Schalter zwischen dem Arduino UNO Q MCU und der Stromversorgung des Lüfters.

Arduino UNO Q Controls Fan

WARNING

When working on projects connected to main electricity, it is critical to have proper knowledge to avoid electric shock. Safety is very important. If you are not completely sure about what you are doing, please do not attempt it. Instead, seek help from someone experienced.

We recommend testing with a DC fan (up to 24V) rather than an AC-powered fan.

Hardware erforderlich

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Relais
1×12V DC Kühlventilator
1×(Alternativ) 5V DC Kühlventilator
1×12V Netzteil
1×DC-Stromanschluss
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 DC-Lüfter

Pinout

Ein DC-Lüfter hat typischerweise zwei Drähte:

  • Negativ (−) Draht (schwarz): Mit dem Minuspol der Gleichstromversorgung verbinden
  • Positiv (+) Draht (rot): Mit dem Pluspol der Gleichstromversorgung verbinden
DC Fan Pinout

Stellen Sie sicher, dass die Spannung Ihrer Stromversorgung dem Bedarf des Lüfters entspricht (z. B. 5 V oder 12 V).

Wie man einen Lüfter steuert

  • Wenn ein DC-Lüfter direkt an eine Stromversorgung angeschlossen ist, läuft er kontinuierlich mit voller Geschwindigkeit.
  • Um den Lüfter vom MCU aus ein- und auszuschalten, verwenden Sie ein Relais zwischen dem Arduino UNO Q und der Stromversorgung des Lüfters.

In diesem Tutorial verwenden wir ein Relais, um den Lüfter zu schalten. Wenn Sie nicht mit Relais vertraut sind, lesen Sie zunächst das Tutorial Arduino UNO Q - Relais.

Schaltplan

Arduino UNO Q Controls Fan Wiring Diagram

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

Verbinden Sie den Lüfter über die COM- und NO-Anschlüsse des Relais mit der Stromversorgung. Der Relais-IN-Pin wird mit dem Arduino UNO Q MCU-Pin 9 verbunden.

MCU-Code

Der Arduino UNO Q hat zwei Prozessoren: die STM32 MCU (verwaltet die Echtzeitsteuerung der Hardware) und die Qualcomm MPU (läuft unter Debian Linux). In diesem Abschnitt wird nur die STM32 MCU programmiert – die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren zusammenarbeiten.

Der folgende Code schaltet den Lüfter 5 Sekunden ein und 5 Sekunden aus und wiederholt dies:

/* * 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-controls-fan */ #define RELAY_PIN 9 // The Arduino UNO Q pin connected to the IN pin of the relay (controls fan) void setup() { pinMode(RELAY_PIN, OUTPUT); } void loop() { digitalWrite(RELAY_PIN, HIGH); // turn fan on for 5 seconds delay(5000); digitalWrite(RELAY_PIN, LOW); // turn fan off for 5 seconds delay(5000); }

Schnelle Schritte

  • Zum ersten Mal mit Arduino UNO Q? Folgen Sie zunächst dem Tutorial Erste Schritte mit Arduino UNO Q, um Ihre Entwicklungsumgebung vorzubereiten.
  • Verbinden Sie die Komponenten: Relais IN → Pin 9, DC+ → 5V, DC- → GND. Verbinden Sie den Lüfter über das Relais mit der Stromversorgung.
  • Verbinden: Stecken Sie den Arduino UNO Q mit einem USB-C-Kabel an Ihren Computer an.
  • Ö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.
Create New App in Arduino App Lab on Arduino UNO Q
  • Geben Sie der App einen Namen, z. B.: DIYables_Fan
  • Klicken Sie auf Create, um zu bestätigen.
  • Sie sehen einen Satz von Ordnern und Dateien in Ihrer neuen App generiert.
Arduino App Lab App folders and files on Arduino UNO Q
  • Suchen Sie die Datei sketch/sketch.ino – hier fügen Sie die MCU-Skizze ein.
  • Fügen Sie die Skizze ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in die Skizzendatei 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
    • Upload: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab, um in die STM32 zu kompilieren und hochzuladen.
    Click Run button in Arduino App Lab on Arduino UNO Q
    • Test: Der Lüfter sollte 5 Sekunden lang eingeschaltet sein und sich 5 Sekunden lang wiederholend ausschalten.

    Linux + MCU Bridge-Programmierung

    Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten: die MPU (Qualcomm, läuft unter Debian Linux) und die MCU (STM32, läuft unter Zephyr OS mit Ihrer Arduino-Skizze). Sie kommunizieren über RPC über die Arduino_RouterBridge-Bibliothek – niemals über rohe serielle Anschlüsse.

    • Das Relais (und der Lüfter) ist mit der MCU (STM32) verbunden – Relais IN an Pin 9.
    • Die MPU kann das Relais nicht direkt steuern – sie ruft Bridge.call("fan_on") oder Bridge.call("fan_off") auf der MCU auf, die den Relais-Pin setzt.
    • Die MPU hat Wi-Fi – da die MPU vollständiges Debian Linux mit Wi-Fi ausführt, kann sie Telegram-Befehle empfangen, um den Lüfter ferngesteuert zu steuern.
    • 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 nie direkt

    Kurz gesagt: MPU sendet Lüfterobefehl → MCU setzt Relais-Pin → Lüfter schaltet sich ein oder aus.

    MCU-Skizze – Lüftersteuerung 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-controls-fan */ #include "Arduino_RouterBridge.h" #define RELAY_PIN 9 void fan_on() { digitalWrite(RELAY_PIN, HIGH); Monitor.println("Fan: ON"); } void fan_off() { digitalWrite(RELAY_PIN, LOW); Monitor.println("Fan: OFF"); } void setup() { Bridge.begin(); Monitor.begin(); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); Bridge.provide_safe("fan_on", fan_on); Bridge.provide_safe("fan_off", fan_off); Monitor.println("Fan Bridge ready"); } void loop() {}

    Python-Skript (Arduino App Lab) – Schalten Sie den Lüfter 5 Sekunden ein, 5 Sekunden 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-controls-fan */ from arduino.app_utils import * import time def loop(): Bridge.call("fan_on") time.sleep(5) Bridge.call("fan_off") time.sleep(5) App.run(user_loop=loop)
    • Hinweis: Stellen Sie sicher, dass Bridge.begin() in der MCU-Skizze aufgerufen wird und die Skizze hochgeladen ist, bevor Sie das Python-Skript auf der Linux-Seite ausführen.
    • ⚠️ Warnung: Öffnen Sie niemals direkt /dev/ttyHS1 (unter Linux) oder verwenden Sie Serial1 (auf MCU) in Ihrem Code – diese sind vom Arduino Router reserviert und der Zugriff auf sie 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 Arduino_RouterBridge-Bibliothek, und klicken Sie auf Run.
    • Fügen Sie das Python-Skript hinzu: Fügen Sie den obigen Python-Code auf der Python-Registerkarte derselben App ein.
    • Führen Sie die App aus: Klicken Sie auf Run – Python schaltet den Lüfter alle 5 Sekunden ein und aus.
    • Überprüfen Sie die Konsole: Öffnen Sie die Registerkarte Konsole → Unterkarte MCU Monitor, um den Lüfterzustand 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
    Fan Bridge ready Fan: ON Fan: OFF Fan: ON Fan: OFF

    Telegram-Integration

    Steuern Sie den Lüfter remote über Telegram mit /on- und /off-Befehlen.

    Wenn Sie noch keinen Telegram-Bot haben, lesen Sie How to Create a Telegram Bot, um Ihren 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 den STM32 hochgeladen und ausgeführt wird, bevor Sie fortfahren.

    Python-Skript (Arduino App Lab) – Telegram-Bot zur Lüftersteuerung:

    /* * 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-controls-fan */ 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("fan_on") send_message(chat_id, "Fan is ON.") elif text == "/off": Bridge.call("fan_off") send_message(chat_id, "Fan is OFF.") else: send_message(chat_id, "Commands:\n/on — turn fan on\n/off — turn fan off") time.sleep(0.5) App.run(user_loop=loop)
    • Hinweis: Ersetzen Sie YOUR_BOT_TOKEN durch das von @BotFather auf Telegram erhaltene Token.
    • Senden Sie /on, um den Lüfter zu starten; /off, um ihn zu stoppen.

    Schnelle Schritte

    • Laden Sie die MCU-Skizze hoch: Verwenden Sie die Bridge MCU-Skizze aus dem vorherigen Abschnitt (laden Sie sie zuerst hoch, falls nicht bereits geschehen).
    • Fügen Sie das Telegram-Skript ein: Kopieren Sie den obigen Python-Code auf die Python-Registerkarte Ihrer App in Arduino App Lab.
    • Legen Sie Ihr Token fest: Ersetzen Sie YOUR_BOT_TOKEN im Skript durch Ihr tatsächliches Bot-Token.
    • Führen Sie die App aus: Klicken Sie auf Run – der Bot beginnt, auf Telegram-Nachrichten zu warten.
    • Testen Sie: Senden Sie /on und /off, um den Lüfter zu steuern.

    App Lab-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:01] Fan is ON. [2026-04-29 12:05:30] Telegram: /off [2026-04-29 12:05:31] Fan 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 ✓✓
    Fan is ON.
    10:16 AM
    /off
    10:17 AM ✓✓
    Fan is OFF.
    10:18 AM

    OpenClaw-Integration

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

    Anwendungs-/Projektideen

    • Smart Cooling System: Schalten Sie den Lüfter automatisch ein, wenn die Temperatur einen Schwellenwert überschreitet
    • Belüftungssteuerung: Planen Sie den Lüfter so ein, dass er zu bestimmten Tageszeiten läuft
    • Ferngesteuerter Schlafzimmerlüfter: Steuern Sie einen Schlafzimmerlüfter vom Telefon über Telegram, bevor Sie nach Hause kommen
    • Servraumkühlung: Triggern Sie den Lüfter basierend auf CPU-Temperaturablesungen

    Fordern Sie sich selbst heraus

    • Einfach: Ändern Sie das Ein-/Ausschalter-Intervall von 5 Sekunden auf 10 Sekunden
    • Mittel: Fügen Sie einen /toggle-Befehl hinzu, der den Lüfter in den gegenteiligen Zustand umschaltet
    • Fortgeschritten: Kombinieren Sie mit einem Temperatursensor, um den Lüfter automatisch einzuschalten, wenn die Temperatur hoch ist

    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!