Arduino UNO Q - Elektromagnetisches Schloss
Ein elektromagnetisches Schloss (Magnetschloss) verwendet einen Elektromagneten, um eine Tür verschlossen zu halten — wenn es unter Strom steht, erzeugt es eine starke Magnetkraft, die die Tür verriegelt. Mit Arduino UNO Q und einem Relais können Sie eine Tür programmgesteuert sperren und entsperren. Fügen Sie Bridge und Telegram hinzu, um die vollständige Fernsteuerung von überall zu ermöglichen.
In diesem Tutorial lernen Sie:
- Was ein elektromagnetisches Schloss ist und wie es funktioniert
- Wie Sie ein elektromagnetisches Schloss und ein Relais mit der Arduino UNO Q MCU verkabeln
- Wie Sie die MCU programmieren (C/C++ Arduino-Code), um das elektromagnetische 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 remote über Telegram auf Arduino UNO Q sperren und entsperren
- Wie Sie OpenClaw auf Arduino UNO Q mit dem elektromagnetischen Schloss verwenden

Hardware erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das elektromagnetische Schloss
Pinbelegung
Ein elektromagnetisches Schloss besteht aus zwei Teilen:
- Elektromagnet — hat zwei Anschlüsse; Verbindung mit 12V-Stromversorgung über ein Relais
- Ankerplatte — wird an der Tür befestigt; keine Verkabelung erforderlich

Installieren Sie den Elektromagnet am Türrahmen (fester Teil) und die Ankerplatte an der Tür (beweglicher Teil). Wenn die Tür geschlossen ist, sollten die beiden Teile bündig aneinander anliegen.
Funktionsweise
- Wenn der Elektromagnet unter Strom steht → Magnetfeld wird erzeugt → Ankerplatte wird angezogen → Tür ist verriegelt
- Wenn der Elektromagnet keinen Strom mehr hat → kein Magnetfeld → Ankerplatte wird freigegeben → Tür ist entsperrt
※ Notiz:
Das elektromagnetische Schloss benötigt 12V DC — es darf NIEMALS direkt an einen Arduino UNO Q-Pin angeschlossen werden. Verwenden Sie immer ein Relais als Schnittstelle. Die MCU steuert das Relais, das die 12V-Stromversorgung zum Elektromagneten schaltet.
Wenn das Relais in einer Ruhe-Offen-Konfiguration verdrahtet ist:
- Relais offen (Pin LOW) → kein Strom zum Elektromagnet → Tür entsperrt
- Relais geschlossen (Pin HIGH) → Strom zum Elektromagnet → Tür verriegelt
Dies ist das Gegenteil eines Solenoidschlosses: unter Strom = verriegelt.
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Verbinden Sie den IN-Pin des Relaismoduls mit dem MCU-Pin D3. Verbinden Sie die COM- und NO-Anschlüsse des Relais zwischen der 12V-Stromversorgung und dem Elektromagneten. Verbinden Sie die VCC des Relais mit 5V und GND mit GND.
| Relais-Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 5V |
| IN | D3 |
Programmierung für elektromagnetisches Schloss
- Richten Sie den Relais-Pin als Ausgang ein:
- Sperren und entsperren Sie das elektromagnetische Schloss:
Arduino UNO Q Code
Die Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Die STM32 MCU steuert das Relais, das die Stromversorgung zum Elektromagneten schaltet — die gesamte Timing- und Zustandslogik läuft auf der MCU
- Der 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 über Bridge zusammenarbeiten.
Dieser Code sperrt das elektromagnetische Schloss für 5 Sekunden und entsperrt es dann — in Dauerschleife.
Schnelle Schritte
Erste Erfahrung mit Arduino UNO Q? Folgen Sie zuerst dem Tutorial Erste Schritte mit Arduino UNO Q.
- Installation: Befestigen Sie den Elektromagnet am Türrahmen und die Ankerplatte an der Tür.
- Verbindung: Verkabeln Sie das elektromagnetische Schloss, das Relais und die 12V-Stromversorgung mit der Arduino UNO Q MCU wie im Schaltplan gezeigt.
- Arduino App Lab öffnen: 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 Neue App erstellen.

- Geben Sie der App einen Namen, z. B.: ElectromagneticLock
- Klicken Sie zum Bestätigen auf Erstellen.

- Sketch einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie andere Dateien als Standard bei.
- Keine Bibliothek erforderlich — verwendet nur die integrierte digitalWrite()-Funktion.
- Upload: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.

- Bringen Sie die Ankerplatte in die Nähe des Elektromagneten und beobachten Sie, wie sie alle 5 Sekunden gehalten und freigegeben wird.
App Lab Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite das elektromagnetische Schloss über Bridge sperren und entsperren kann:
- Das elektromagnetische Schloss ist über ein Relais mit der MCU verbunden — die MCU steuert den Relais-Ausgangspin
- Der MPU kann das Relais nicht direkt steuern — er ruft Bridge-Funktionen auf, um zu sperren oder zu entsperren
- Der MPU hat Wi-Fi — mit vollständigem Debian Linux läuft es und kann Befehle von Telegram oder einem Webdienst akzeptieren und diese in Sperr-/Entsperrmaßnahmen umwandeln
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT durch den Router — öffnen Sie diese niemals in Benutzercode
Kurz gesagt: MPU empfängt Sperr-/Entsperrbefehl → ruft Bridge auf → MCU steuert Relais → elektromagnetisches Schloss aktiviert sich.
MCU-Code (Bridge)
Python-Code (Bridge)
Schnelle Schritte
- Verbindung: Verkabeln Sie das elektromagnetische Schloss, das Relais und die 12V-Stromversorgung mit der Arduino UNO Q wie im Schaltplan gezeigt.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis das Board erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf Neue App erstellen, geben Sie ihr den Namen ElectromagneticLockBridge, und klicken Sie dann auf Erstellen.
- MCU-Sketch einfügen: Kopieren Sie den MCU-Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Python-Code einfügen: Kopieren Sie den Python-Bridge-Code oben und fügen Sie ihn in die Python-Datei 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 die Run-Schaltfläche in Arduino App Lab.

- Beobachten Sie den Schloss-Zyklus: Sperren → 5 Sekunden warten → Entsperren → 1 Sekunde warten → Wiederholen.
App Lab Konsolenausgabe
Telegram
Steuern Sie das elektromagnetische Schloss remote über Telegram — sperren und entsperren Sie eine Tür von überall mit einem einfachen Befehl.
MCU-Sketch: Behalten Sie denselben MCU-Sketch aus dem vorherigen Bridge-Abschnitt.
Python-Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren tatsächlichen 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 denselben MCU-Sketch).
- Klicken Sie auf die Run-Schaltfläche. Senden Sie /lock von Telegram, um die Tür zu sperren, dann /unlock, um sie freizugeben.
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 elektromagnetischen Schloss und Arduino UNO Q bauen:
- Telegram-gesteuerte Türsperre: Sperren und entsperren Sie eine Bürotür oder einen Lagerraum remote über Telegram — /lock zum Sichern und /unlock, um jemanden hereinzulassen, alles protokolliert mit Zeitstempeln auf der Linux-Seite
- Zeitbasierte Autosperre: Programmieren Sie den MPU, um sich nachts automatisch zu sperren (z. B. 22 Uhr) und morgens zu entsperren (7 Uhr), indem Sie die Linux-Systemuhr verwenden — keine manuelle Intervention erforderlich
- Tastatur-Sicherheitssystem: Kombinieren Sie das elektromagnetische Schloss mit einem 4x4-Tastenfeld auf der MCU — entsperren Sie bei korrektem PIN-Eintrag, senden Sie einen Telegram-Alarm bei drei aufeinanderfolgenden fehlgeschlagenen Versuchen
- RFID-Zugriffskontrolle: Kombinieren Sie mit einem RFID-Leser auf der MCU — scannen Sie ein registriertes Tag zum Entsperren, protokollieren Sie jeden Zugriffsereignis in eine Datei auf Linux mit der Tag-ID und dem Zeitstempel
- Remote-Zugriffsprotokolldashboard: Jedes Sperr-/Entsperrevent wird in eine CSV-Datei auf Linux mit Zeitstempel und Quelle (Telegram, automatisch oder Tastenfeld) protokolliert — Python sendet einen täglichen Zusammenfassungsbericht an Telegram
Fordern Sie sich selbst heraus
Bereit, weiter mit dem elektromagnetischen Schloss auf Arduino UNO Q zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Fügen Sie einen /unlock_10s-Telegram-Befehl hinzu, der die Tür für genau 10 Sekunden entsperrt, indem Sie time.sleep(10) auf der Python-Seite verwenden, bevor Sie Bridge.call("lock") aufrufen, um den Elektromagnet erneut zu aktivieren.
- Mittel: Implementieren Sie einen Auto-Lock-Timer: Wenn /unlock über Telegram aufgerufen wird, starten Sie einen Python-Timer — wenn die Tür nicht innerhalb von 60 Sekunden manuell erneut gesperrt wird, ruft das System automatisch Bridge.call("lock") auf und sendet eine Telegram-Bestätigung.
- Fortgeschritten: Bauen Sie ein Multi-User-Zugriffssystem, in dem eine Admin-Datei autorisierte Telegram-Benutzer-IDs auflistet — nur diese Benutzer können /unlock senden, nicht autorisierte Versuche lösen einen Telegram-Alert an den Admin aus, und alle Zugriffversuche werden mit Benutzer-ID und Zeitstempel protokolliert.