Arduino UNO Q - Steuert Heizelement

In dieser Anleitung lernst du, wie man ein Heizelement mit einem Relais und Arduino UNO Q steuert. Das Relais fungiert als Schalter zwischen der Arduino UNO Q MCU und der Stromversorgung des Heizelementes.

Arduino UNO Q Steuert Heizelement

WARNING

Beim Arbeiten mit Heizelementen ist äußerste Vorsicht geboten. Heizelemente können sehr heiß werden und stellen Brand- und Verbrennungsgefahren dar. Lass ein Heizelement niemals unbeaufsichtigt, während es mit Strom versorgt wird.

Beim Arbeiten an Projekten, die mit Netzstrom verbunden sind, ist es wichtig, über das richtige Wissen zu verfügen, um Stromschläge zu vermeiden. Wenn du dir nicht vollständig sicher bist, was du tust, suche bitte Hilfe von jemandem mit Erfahrung.

Wir empfehlen das Testen mit einem niederspannigen DC-Heizelement aus Sicherheitsgründen.

Hardware erforderlich

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Relais
1×Heizelement
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 das Heizelement

Pinbelegung

Heizelement Pinbelegung

Ein Heizelement hat normalerweise zwei Drähte:

  • Positiver (+) Draht (rot): Mit dem Positiv der DC-Stromversorgung verbinden
  • Negativer (−) Draht (schwarz): Mit dem GND der DC-Stromversorgung verbinden

Wie man ein Heizelement steuert

Wenn ein 12V-Heizelement an eine 12V-Stromversorgung angeschlossen ist, erzeugt es Wärme. Um es von der MCU aus ein- und auszuschalten, verwenden wir ein Relais zwischen Arduino UNO Q und dem Heizelement. Arduino UNO Q steuert das Heizelement über das Relais. Wenn du nicht vertraut mit der Funktionsweise eines Relais bist, lese zunächst das Tutorial Arduino UNO Q - Relais.

Verdrahtungsdiagramm

Arduino UNO Q Steuert Heizelement Verdrahtungsdiagramm

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

Verbinde das Heizelement durch die COM- und NO-Anschlüsse des Relais mit der Stromversorgung. Der Relais IN-Pin verbindet sich mit Arduino UNO Q MCU Pin 9.

MCU-Code

Arduino UNO Q hat zwei Prozessoren: die STM32 MCU (verwaltet die Steuerung echter Hardware) und die Qualcomm MPU (führt Debian Linux aus). 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 Code unten schaltet das Heizelement 5 Sekunden lang ein und 5 Sekunden lang aus, wiederholt:

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

Schnelle Schritte

  • Zum ersten Mal mit Arduino UNO Q? Folge dem Tutorial Erste Schritte mit Arduino UNO Q, um deine Entwicklungsumgebung vorzubereiten, bevor du fortfährst.
  • Verdrahte die Komponenten: Verbinde Relais IN → Pin 9, DC+ → 5V, DC- → GND. Verbinde das Heizelement über das Relais mit der Stromversorgung.
  • Verbinde: Schließe Arduino UNO Q mit einem USB-C-Kabel an deinen Computer an.
  • Öffne Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis Arduino UNO Q erkannt wird.
  • Erstelle eine neue App: Klicke auf die Schaltfläche Neue App erstellen.
Neue App in Arduino App Lab auf Arduino UNO Q erstellen
  • Gebe der App einen Namen, zum Beispiel: DIYables_Heater
  • Klicke auf Erstellen, um zu bestätigen.
  • Es werden automatisch Ordner und Dateien in deiner neuen App generiert.
Arduino App Lab App-Ordner und Dateien auf Arduino UNO Q
  • Finde die sketch/sketch.ino-Datei – hier fügst du die MCU-Skizze ein.
  • Füge die Skizze ein: Kopiere den MCU-Code oben und füge ihn in die Skizzendatei ein. Behalte 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: Klicke die Run-Schaltfläche in Arduino App Lab, um zum STM32 zu kompilieren und hochzuladen.
    Klicke die Run-Schaltfläche in Arduino App Lab auf Arduino UNO Q
    • Test: Das Heizelement sollte 5 Sekunden lang eingeschaltet sein und 5 Sekunden lang ausgeschaltet, wiederholt.

    Linux + MCU Bridge-Programmierung

    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 deinem Arduino-Sketch aus). Sie kommunizieren mit RPC über die Arduino_RouterBridge-Bibliothek – niemals über rohe serielle Anschlüsse.

    • Das Relais (und das Heizelement) sind mit der MCU (STM32) verbunden – Relais IN auf Pin 9.
    • Die MPU kann das Relais nicht direkt steuern – sie ruft Bridge.call("heater_on") oder Bridge.call("heater_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 akzeptieren, um das Heizelement ferngesteuert zu steuern.
    • Kommunikation: Bridge.call() auf der Linux-Seite ruft Bridge.provide_safe() auf der MCU-Seite auf (da digitalWrite() verwendet wird, um das Relais zu steuern)
    • ⚠️ Reserviert: /dev/ttyHS1 (Linux) und Serial1 (MCU) werden vom Arduino Router verwendet – öffne sie niemals direkt.

    Kurz gesagt: MPU sendet Heizbefehl → MCU setzt Relais-Pin → Heizelement schaltet sich ein oder aus.

    MCU-Sketch – Heizelement-Steuerung 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-heating-element */ #include "Arduino_RouterBridge.h" #define RELAY_PIN 9 void heater_on() { digitalWrite(RELAY_PIN, HIGH); Monitor.println("Heating element: ON"); } void heater_off() { digitalWrite(RELAY_PIN, LOW); Monitor.println("Heating element: OFF"); } void setup() { Bridge.begin(); Monitor.begin(); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); Bridge.provide_safe("heater_on", heater_on); Bridge.provide_safe("heater_off", heater_off); Monitor.println("Heating Element Bridge ready"); } void loop() {}

    Python-Skript (Arduino App Lab) – Heizelement 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-heating-element */ from arduino.app_utils import * import time def loop(): Bridge.call("heater_on") time.sleep(5) Bridge.call("heater_off") time.sleep(5) App.run(user_loop=loop)
    • Hinweis: Stelle sicher, dass Bridge.begin() im MCU-Sketch aufgerufen wird und der Sketch hochgeladen ist, bevor du das Python-Skript auf der Linux-Seite ausführst.
    • ⚠️ Warnung: Öffne /dev/ttyHS1 (auf Linux) oder verwende Serial1 (auf MCU) niemals direkt in deinem Code – diese sind vom Arduino Router reserviert und der Zugriff darauf unterbricht die Bridge.

    Schnelle Schritte

    • Lade den MCU-Sketch hoch: Öffne Arduino App Lab, erstelle eine neue App, füge den Bridge MCU-Sketch in sketch/sketch.ino ein, installiere die Arduino_RouterBridge-Bibliothek und klicke Run.
    • Füge das Python-Skript hinzu: Füge den Python-Code oben in die Python-Registerkarte der gleichen App ein.
    • Führe die App aus: Klicke Run – Python schaltet das Heizelement alle 5 Sekunden ein und aus.
    • Überprüfe die Konsole: Öffne die Registerkarte Konsole → Unterregisterkarte MCU-Monitor, um den Heizzustand zu sehen.

    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
    Heating Element Bridge ready Heating element: ON Heating element: OFF Heating element: ON Heating element: OFF

    Telegram-Integration

    Steuere das Heizelement remote über Telegram mit /on und /off Befehlen.

    Wenn du noch keinen Telegram-Bot hast, sieh dir How to Create a Telegram Bot an, um deinen Bot-Token vor dem Fortfahren zu erhalten.

    MCU-Sketch: Behalte den gleichen MCU-Sketch aus dem vorherigen Bridge-Abschnitt – keine Änderungen erforderlich. Stelle sicher, dass er bereits hochgeladen ist und auf dem STM32 läuft, bevor du fortfährst.

    Python-Skript (Arduino App Lab) – Telegram-Bot für Heizelement-Steuerung:

    /* * 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-heating-element */ 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("heater_on") send_message(chat_id, "Heating element is ON.") elif text == "/off": Bridge.call("heater_off") send_message(chat_id, "Heating element is OFF.") else: send_message(chat_id, "Commands:\n/on — turn heating element on\n/off — turn heating element off") time.sleep(0.5) App.run(user_loop=loop)
    • Hinweis: Ersetze YOUR_BOT_TOKEN mit dem Token, den du von @BotFather auf Telegram erhalten hast.
    • Sende /on, um das Heizelement zu aktivieren; /off, um es zu deaktivieren.

    Schnelle Schritte

    • Lade den MCU-Sketch hoch: Verwende den Bridge MCU-Sketch aus dem vorherigen Abschnitt (lade ihn zuerst hoch, falls noch nicht geschehen).
    • Füge das Telegram-Skript ein: Kopiere den Python-Code oben in die Python-Registerkarte deiner App in Arduino App Lab.
    • Stelle deinen Token ein: Ersetze YOUR_BOT_TOKEN im Skript mit deinem tatsächlichen Bot-Token.
    • Führe die App aus: Klicke Run – der Bot lauscht auf Telegram-Nachrichten.
    • Teste es: Sende /on und /off, um das Heizelement 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] Heating element is ON. [2026-04-29 12:05:30] Telegram: /off [2026-04-29 12:05:31] Heating element 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 ✓✓
    Heating element is ON.
    10:16 AM
    /off
    10:17 AM ✓✓
    Heating element is OFF.
    10:18 AM

    OpenClaw-Integration

    Du kannst OpenClaw an dieses Tutorial anpassen, indem du die Anleitung unter Arduino Uno Q - OpenClaw Tutorial befolgst.

    Anwendungs-/Projektideen

    • Intelligenter Thermostat: Kombiniere mit einem Temperatursensor, um eine Zieltemperatur automatisch zu halten
    • Inkubatorsteuerung: Halte einen Ei-Inkubator mit Rückkopplungssteuerung auf einer genauen Temperatur
    • Gewächshausheizung: Heize ein Gewächshaus automatisch, wenn die Temperatur unter einen festgelegten Punkt fällt
    • Fernwärmung: Schalte einen Raumheizer mit Telegram ein, bevor du nach Hause kommst

    Herausforderung für dich

    • Einfach: Ändere das Ein-/Ausschalt-Intervall von 5 Sekunden auf 30 Sekunden
    • Mittel: Füge einen /toggle-Befehl hinzu, der das Heizelement in den entgegengesetzten Zustand schaltet
    • Fortgeschritten: Kombiniere mit einem Temperatursensor – schalte den Heizer automatisch ein, wenn unter dem Schwellenwert und aus, wenn darüber

    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!