Arduino UNO Q - Solenoid Schloss
Ein Solenoid-Schloss (auch Elektromegnet-Schloss genannt) wird mit 12V DC betrieben und durch ein Relais gesteuert. Arduino UNO Q kann eine Tür, ein Schrank oder eine Schublade automatisch sperren und entsperren — und mit Bridge und Telegram können Sie das Schloss von überall aus ferngesteuert bedienen.
In diesem Tutorial lernen Sie:
- Was ein Solenoid-Schloss ist und wie es funktioniert
- Wie Sie ein Solenoid-Schloss und ein Relais mit der Arduino UNO Q MCU verdrahten
- Wie Sie die MCU (C/C++ Arduino-Code) programmieren, um das Solenoid-Schloss zu steuern
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmieren, um das Schloss über Bridge zu sperren und zu entsperren
- Wie Sie das Schloss ferngesteuert über Telegram auf Arduino UNO Q sperren und entsperren
- Wie Sie OpenClaw auf Arduino UNO Q mit dem Solenoid-Schloss verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das Solenoid-Schloss
Pinbelegung
Das Solenoid-Schloss hat zwei Drähte:
- Positiv (+) roter Draht: Verbinden Sie mit der 12V DC-Stromversorgung
- Negativ (-) schwarzer Draht: Verbinden Sie mit GND der 12V DC-Stromversorgung

Funktionsweise
- Wenn das Solenoid-Schloss Strom erhält → die Verschlusszunge fährt aus → die Tür ist gesperrt
- Wenn das Solenoid-Schloss keinen Strom hat → die Verschlusszunge fährt ein → die Tür ist entsperrt
※ Notiz:
Das Solenoid-Schloss benötigt 12V DC — es darf niemals direkt an einen Arduino UNO Q Pin angeschlossen werden. Verwenden Sie immer ein Relais als Zwischenelement. Das Relais wird von der MCU gesteuert und schaltet die 12V-Versorgung zum Solenoid-Schloss.
Wenn das Relais in der Normalöffnung konfiguriert ist:
- Relais offen (Pin LOW) → kein Strom zum Schloss → Tür entsperrt
- Relais geschlossen (Pin HIGH) → Strom zum Schloss → Tür gesperrt
Für den Zustand entsperrt (HIGH) und gesperrt (LOW) siehe Code — die Zuordnung hängt von Ihrem Relaismodul-Typ ab (active-HIGH oder active-LOW).
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Verbinden Sie den Relais-Pin IN mit MCU-Pin D3. Verbinden Sie die COM- und NO-Anschlüsse des Relais zwischen der 12V-Versorgung und dem Solenoid-Schloss. Verbinden Sie VCC des Relais mit 5V und GND mit GND.
| Relais Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 5V |
| IN | D3 |
Wie man für Solenoid-Schloss programmiert
- Richten Sie den Relais-Pin als Ausgang ein:
- Entsperren und sperren Sie das Solenoid:
Arduino UNO Q Code
Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Die STM32 MCU steuert das Relais, das die Stromversorgung zum Solenoid-Schloss schaltet — alle Timing- und Zustandslogiken laufen auf der MCU
- Die Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur die MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren zusammenarbeiten via Bridge.
Dieser Code entsperrt das Solenoid-Schloss für 5 Sekunden, sperrt es dann wieder — wiederholt sich kontinuierlich.
Schnelle Schritte
Zum ersten Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, bevor Sie fortfahren.
- Verbinden Sie: Verdrahten Sie das Solenoid-Schloss, das Relais und die 12V-Stromversorgung mit der Arduino UNO Q MCU wie im Schaltplan gezeigt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihre Arduino UNO Q erkennt.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.

- Geben Sie der App einen Namen, z. B.: SolenoidLock
- Klicken Sie auf Erstellen, um zu bestätigen.

- Fügen Sie die Skizze ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie andere Dateien als Standard.
- Keine Bibliothek erforderlich — verwendet nur die integrierte Funktion digitalWrite().
- Upload: Klicken Sie auf den Ausführungsknopf in Arduino App Lab.

- Beobachten Sie das Solenoid-Schloss, das alle 5 Sekunden zwischen Gesperrt und Entsperrt wechselt.
App Lab Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite das Solenoid-Schloss über Bridge sperren und entsperren kann:
- Das Solenoid-Schloss ist über ein Relais mit der MCU verbunden — die MCU steuert den Relais-Ausgangspin
- Die MPU kann das Relais nicht direkt steuern — sie ruft Bridge-Funktionen auf, um zu sperren oder zu entsperren
- Die MPU hat Wi-Fi — da sie vollständiges Debian Linux ausführt, kann sie Befehle von Telegram oder einem beliebigen Web-Service akzeptieren und in Sperr-/Entsperraktionen übersetzen
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router — öffnen Sie sie niemals in Benutzercode
Kurz gesagt: MPU empfängt Sperr-/Entsperrbefehle → ruft Bridge auf → MCU steuert Relais → Solenoid-Schloss aktiviert sich.
MCU Code (Bridge)
Python Code (Bridge)
Schnelle Schritte
- Verbinden Sie: Verdrahten Sie das Solenoid-Schloss, das Relais und die 12V-Stromversorgung mit dem Arduino UNO Q wie im Schaltplan gezeigt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie auf die Erkennung der Platine.
- Erstellen Sie eine neue App: Klicken Sie auf Neue App erstellen, benennen Sie sie SolenoidLockBridge, und klicken Sie dann auf Erstellen.
- Fügen Sie die MCU-Skizze ein: Kopieren Sie den MCU Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Fügen Sie den Python-Code ein: Kopieren Sie den Python Bridge-Code oben und fügen Sie ihn in die Python-Datei in der App 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 den Ausführungsknopf in Arduino App Lab.

- Beobachten Sie den Schloss-Zyklus: Entsperren → 5 Sekunden warten → Sperren → 1 Sekunde warten → Wiederholen.
App Lab Konsolenausgabe
Telegram
Steuern Sie das Solenoid-Schloss ferngesteuert über Telegram — sperren und entsperren Sie von überall mit einem einfachen Befehl.
MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.
Python Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren echten Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram Chat-ID.
- Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie die gleiche MCU-Skizze).
- Klicken Sie auf den Ausführungsknopf. Senden Sie /unlock von Telegram, um das Schloss zu öffnen, und dann /lock, um es zu schließen.
App Lab Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Sie können viele nützliche Projekte mit dem Solenoid-Schloss und Arduino UNO Q bauen:
- Telegram-gesteuerte Türsperre: Steuern Sie Ihre Haustür oder Bürotür ferngesteuert über Telegram — /unlock, um jemanden einzulassen, und /lock, um sie zu sichern, mit allen Ereignissen protokolliert mit Zeitstempel
- Zeitbasierte Auto-Sperre: Programmieren Sie die MPU (Linux Python), um automatisch um 22:00 Uhr zu sperren und um 07:00 Uhr jeden Tag freizugeben — using der Systemuhr auf der Linux-Seite, um Bridge-Befehle auszulösen
- Zahlenpad-Zugriffssystem: Kombinieren Sie das Solenoid-Schloss mit einem 4x4-Zahlenpad auf der MCU — entsperren Sie bei Eingabe der korrekten PIN, und senden Sie eine Telegram-Benachrichtigung, wenn dreimal hintereinander eine falsche PIN versucht wurde
- Zugriffsprotokolliersystem: Protokollieren Sie jedes Sperr- und Entsperrereignis in einer CSV-Datei auf Linux — einschließlich Zeitstempel, Befehlsquelle (Telegram oder automatisch), und erzeugen Sie tägliche Berichte, die an Telegram gesendet werden
- Gast-Zugriffsverwaltung: Erstellen Sie einen zeitlich begrenzten Zugriff über Telegram — /unlock_5min entsperrt die Tür und sperrt sie nach 5 Minuten automatisch wieder, mit einer Telegram-Bestätigung, wenn der Timer abläuft
Fordern Sie sich selbst heraus
Bereit, noch weiter mit dem Solenoid-Schloss auf Arduino UNO Q zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Fügen Sie einen Telegram-Befehl /unlock_10s hinzu, der das Schloss für genau 10 Sekunden entsperrt, indem Sie time.sleep(10) auf der Python-Seite verwenden, bevor Sie Bridge.call("lock") aufrufen.
- Mittel: Implementieren Sie einen Telegram-Befehl /schedule, der ein Zeitargument (z. B. /schedule 23:00) analysiert und die Tür automatisch zu dieser Zeit sperrt, indem Sie die Linux-Systemuhr auf der MPU verwenden.
- Fortgeschritten: Bauen Sie ein Multi-User-Zugriffssystem: Speichern Sie eine Liste autorisierter Telegram-Benutzer-IDs in einer Python-Datei — nur diese Benutzer können /unlock-Befehle senden, und alle nicht autorisierten Versuche lösen eine Telegram-Benachrichtigung an die Admin-Chat-ID aus.