Arduino UNO Q - Türsensor
Ein Türsensor verwendet einen Schiebeschalter und einen Magneten, um zu erkennen, ob eine Tür oder ein Fenster offen oder geschlossen ist. Auf Arduino UNO Q liest das MCU den Zustand des Schiebeschalters, und die Linux-Seite kann Telegram-Benachrichtigungen senden, wenn sich eine Tür öffnet oder schließt.
In diesem Tutorial erfahren Sie:
- Was ein Türsensor ist und wie er funktioniert
- So verbinden Sie den Türsensor mit dem Arduino UNO Q MCU
- So programmieren Sie das MCU (C/C++ Arduino-Code), um den Zustand des Türöffnens/Schließens zu erkennen
- So programmieren Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++), um Türereignisse über Bridge zu erkennen
- So erhalten Sie Telegram-Benachrichtigungen, wenn sich die Tür auf Arduino UNO Q öffnet oder schließt
- So verwenden Sie OpenClaw auf Arduino UNO Q mit dem Türsensor

Hardware erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den Türsensor
Pinbelegung
Der Türsensor besteht aus zwei Teilen:
- Schiebeschalter — zwei Metallkontakte (keine Polarität)
- Magnet — befestigt am beweglichen Teil (Tür oder Fenster)

Die beiden Stifte des Schiebeschalters sind austauschbar — es gibt keine Polarität zu beachten.
Wie es funktioniert
Der Magnet ist auf der Tür oder dem Fenster (dem beweglichen Teil) befestigt. Der Schiebeschalter ist auf dem Türrahmen (dem stationären Teil) befestigt.
- Wenn die Tür geschlossen ist, befindet sich der Magnet in der Nähe des Schiebeschalters — der Stromkreis ist geschlossen
- Wenn die Tür offen ist, entfernt sich der Magnet — der Stromkreis ist offen

※ Notiz:
Der Schiebeschalter gibt nicht direkt HIGH oder LOW aus. Verbinden Sie einen Stift des Schiebeschalters mit GND und den anderen mit einem Arduino UNO Q-Eingangspin, der mit INPUT_PULLUP konfiguriert ist. Dies vermeidet Floating-Werte:
- Tür geschlossen (Magnet in der Nähe) → Pin liest LOW
- Tür offen (Magnet entfernt) → Pin liest HIGH
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Türsensor Pin | Arduino UNO Q MCU |
|---|---|
| Pin 1 | GND |
| Pin 2 | D9 (mit INPUT_PULLUP) |
So programmieren Sie für den Türsensor
- Richten Sie den Arduino UNO Q MCU-Pin als digitalen Eingang mit Pull-up-Widerstand ein:
- Lesen Sie den Türzustand:
- Prüfen und reagieren Sie:
Arduino UNO Q Code
Der Arduino UNO Q verfügt über zwei zusammenarbeitende Prozessoren:
- Der STM32 MCU liest den Schiebeschalter über einen digitalen Pin — die gesamte Erfassung läuft auf dem MCU
- Der Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur das MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Das MCU liest den Türsensor alle 500 ms und gibt den Zustand auf dem Seriellen Monitor aus.
Schnelle Schritte
Erstes Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, bevor Sie fortfahren.
- Installation: Befestigen Sie den Magneten an der Tür und den Schiebeschalter am Türrahmen. Montieren Sie sie so, dass sie sich in der Nähe befinden, wenn die Tür geschlossen ist.
- Verbindung: Verbinden Sie den Türsensor mit dem Arduino UNO Q MCU wie im Schaltplan dargestellt.
- Ö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 App erstellen.

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

- Einfügen Sie die Skizze: 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 — der Türsensor verwendet nur die integrierte Funktion digitalRead().
- Upload: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab.

- Öffnen und schließen Sie die Tür, während Sie den Seriellen Monitor beobachten.
App Lab Console Output
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite Türereignisse über Bridge erkennen kann:
- Der Türsensor ist mit dem MCU-Digitalpin verbunden — das MCU überwacht Zustandsänderungen in loop() und setzt Ereignisflags, wenn sich die Tür öffnet oder schließt
- Der MPU kann den digitalen Pin nicht direkt lesen — er ruft Bridge-Funktionen auf, um den aktuellen Zustand abzufragen oder das Türereignis zu verarbeiten
- Der MPU hat Wi-Fi — mit vollständigem Debian Linux kann er auf Türereignisse reagieren und sofort Telegram-Benachrichtigungen senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den zwei Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router — öffnen Sie diese niemals in Benutzercode
Kurz gesagt: MCU erkennt Türöffnungs-/Schließungsereignisse in loop() → MPU ruft über Bridge ab → MPU löst Telegram-Benachrichtigungen über Wi-Fi aus.
MCU Code (Bridge)
Python Code (Bridge)
Schnelle Schritte
- Verbindung: Verbinden Sie den Türsensor mit dem Arduino UNO Q wie im Schaltplan dargestellt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis die Platine erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf App erstellen, geben Sie den Namen DoorSensorBridge ein, und klicken Sie auf Erstellen.
- Einfügen Sie die MCU-Skizze: Kopieren Sie den MCU Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Einfügen Sie den Python-Code: 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 die Schaltfläche Ausführen in Arduino App Lab.

- Öffnen und schließen Sie die Tür. Beobachten Sie die Zustandsänderungen in der Python-Konsole.
App Lab Console Output
Telegram
Erhalten Sie sofortige Telegram-Benachrichtigungen, wenn sich die Tür öffnet oder schließt.
MCU Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt bei.
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 die gleiche MCU-Skizze bei).
- Klicken Sie auf die Schaltfläche Ausführen. Öffnen und schließen Sie die Tür — überprüfen Sie Telegram auf sofortige Benachrichtigungen.
App Lab Console Output
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 Türsensor und Arduino UNO Q bauen:
- Home Security Alert: Montieren Sie den Sensor an Ihrer Haustür — der MPU sendet sofort eine Telegram-Benachrichtigung, wenn sich die Tür öffnet, mit einem in einer Linux-Datei protokollierten Zeitstempel für die Überwachung
- Package Delivery Notifier: Befestigen Sie den Sensor an einer Paketablagebox — wenn der Deckel geöffnet wird, erhalten Sie eine Telegram-Nachricht, die Sie benachrichtigt, dass eine Lieferung angekommen ist
- Child Safety Monitor: Montieren Sie den Sensor an einem Schrank, Tor oder eingeschränktem Bereich — erhalten Sie Telegram-Benachrichtigungen, wenn sich die Tür öffnet, mit optionalem automatischem Sperren über ein Relais, das durch Bridge ausgelöst wird
- Energy Saver: Erkennen Sie, wenn ein Fenster geöffnet wird, und schalten Sie automatisch das HVAC-System über ein Relais aus, das durch Bridge gesteuert wird — Energie sparen und Wärmeverlust vermeiden
- Smart Access Log: Protokollieren Sie jedes Türöffnungs- und Schließungsereignis mit einem Zeitstempel mit Python auf der Linux-Seite — generieren Sie täglich oder wöchentliche Zugriffsberichte, die an Telegram gesendet werden
Fordern Sie sich selbst heraus
Bereit, mit dem Türsensor auf Arduino UNO Q noch weiter zu gehen? Versuchen Sie diese Herausforderungen:
- Leicht: Fügen Sie einen Türöffnungstimer hinzu: Die Python-Seite registriert den Zeitstempel, wenn sich die Tür öffnet, und sendet eine Telegram-Benachrichtigung, wenn die Tür länger als 30 Sekunden offen bleibt.
- Mittel: Implementieren Sie eine tägliche Eingabezählung: Die Python-Seite zählt die Anzahl der Türöffnungsereignisse pro Tag und sendet um Mitternacht eine Telegram-Zusammenfassung mit der Gesamtzahl.
- Fortgeschritten: Bauen Sie ein Multi-Zone-Sicherheitssystem auf: Verbinden Sie drei Türsensoren mit drei verschiedenen digitalen Pins, legen Sie jeden über eine eindeutige Bridge-Funktion offen, und lassen Sie die Python-Seite alle drei gleichzeitig überwachen — senden Sie eine Telegram-Benachrichtigung, die anzeigt, welche Zone ausgelöst wurde.