Arduino UNO Q - SW-420 Vibrationssensor
Das SW-420 Vibrationssensormodul erkennt Stöße oder Vibrationen und meldet sie als sauberes digitales Signal, sodass Ihr Programm nie eine verrauschte analoge Welle auswerten muss. Im Inneren des Moduls sitzt ein kleiner federbasierter Schalter dicht neben einem Metallkontakt; der integrierte LM393-Komparator überwacht diesen Schalter und schaltet seinen Ausgang in dem Moment um, in dem eine Vibration ihn stört, während ein kleines Potentiometer auf der Platine einstellen lässt, wie viel Erschütterung als Ereignis zählt. In Kombination mit der Bridge- und Telegram-Integration des Arduino UNO Q erhalten Sie sofort eine Benachrichtigung auf Ihr Handy, sobald etwas angestoßen, geschüttelt oder manipuliert wird.
In diesem Tutorial lernen Sie:
- Was ein SW-420 Vibrationssensor ist und wie er funktioniert
- Wie Sie den SW-420 Vibrationssensor mit der MCU des Arduino UNO Q verdrahten
- Wie Sie den digitalen Ausgang auslesen, um Vibrationen zu erkennen
- Wie Sie Bridge nutzen, um den Vibrationszustand und Ereignisse für die Linux-Seite (Python) bereitzustellen
- Wie Sie Telegram-Benachrichtigungen erhalten, wenn auf dem Arduino UNO Q eine Vibration erkannt wird
- Wie Sie OpenClaw auf dem Arduino UNO Q mit dem SW-420 Vibrationssensor verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den SW-420 Vibrationssensor
Das SW-420 Vibrationssensormodul ist um einen winzigen federbasierten Vibrationsschalter herum aufgebaut. Solange das Modul still liegt, bleibt der Schalter in einer Ruheposition; sobald eine Vibration oder ein Stoß ihn stört, wechselt der Kontaktzustand des Schalters. Ein integrierter LM393-Komparator wandelt diese mechanische Änderung in ein sauberes digitales Signal um, und ein kleines Potentiometer ermöglicht es, genau einzustellen, wie viel Erschütterung nötig ist, bevor der Ausgang auslöst. Das Modul gibt ein einfaches digitales Signal aus:
- LOW: Keine Vibration — das Modul ist im Ruhezustand
- HIGH: Vibration oder Stoß erkannt
Das Modul umfasst:
- VCC-Pin: Stromversorgung 3,3V bis 5V
- GND-Pin: Masse
- DO-Pin: Digitaler Ausgang — LOW = Ruhezustand, HIGH = Vibration erkannt
- PWR-LED: Betriebsanzeige
- Status-LED: Leuchtet, sobald der Ausgang auf HIGH geht

Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| SW-420 Vibrationssensor-Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 5V |
| DO | D8 |
Wie man den SW-420 Vibrationssensor programmiert
- Den Sensor-Pin als digitalen Eingang konfigurieren:
- Den digitalen Ausgang auslesen:
- Vibrationsereignisse durch Vergleich mit dem vorherigen Zustand erkennen:
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Die STM32-MCU liest den digitalen Ausgang des SW-420 Vibrationssensors aus und erkennt Vibrationsereignisse
- Die Qualcomm-MPU führt Debian Linux mit WLAN aus — in diesem Abschnitt wird nur die MCU programmiert. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Schnellanleitung
Zum ersten Mal mit dem Arduino UNO Q? Folgen Sie zunächst dem Tutorial Erste Schritte mit dem Arduino UNO Q, bevor Sie fortfahren.
- Verbinden: Verdrahten Sie den SW-420 Vibrationssensor wie im Schaltplan gezeigt mit der MCU des Arduino UNO Q.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis Ihr Arduino UNO Q erkannt wird.
- Eine neue App erstellen: Klicken Sie auf die Schaltfläche Create New App.

- Geben Sie der App einen Namen, zum Beispiel: SW420VibrationSensor
- Klicken Sie zur Bestätigung auf Create.

- Den Sketch einfügen: Kopieren Sie den obigen MCU-Code und fügen Sie ihn in sketch/sketch.ino ein.
- Hochladen: Klicken Sie in Arduino App Lab auf die Run-Schaltfläche.

- Klopfen Sie leicht auf den Sensor oder schütteln Sie ihn sanft — beobachten Sie die Ausgabe im Serial Monitor.
- Drehen Sie am integrierten Potentiometer, wenn der Sensor zu empfindlich oder nicht empfindlich genug erscheint.
App Lab Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite den Vibrationszustand auslesen und Vibrationsereignisse über Bridge empfangen kann:
- Der SW-420 Vibrationssensor ist mit der MCU verbunden — die MCU überwacht den digitalen Ausgang kontinuierlich und speichert den aktuellen Zustand zwischen
- Die MPU kann den Sensor-Pin nicht direkt auslesen — sie ruft Bridge-Funktionen auf, um den aktuellen Zustand abzufragen oder nach neuen Vibrationsereignissen zu suchen
- Die MPU hat WLAN — da sie ein vollständiges Debian Linux ausführt, kann sie Telegram-Benachrichtigungen senden, sobald eine Vibration erkannt wird
- Arduino_RouterBridge ermöglicht die RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind vom Router RESERVIERT — öffnen Sie sie niemals in Ihrem eigenen Code
Kurz gesagt: Die MCU erkennt eine Vibration über den DO-Pin → setzt ein Ereignis-Flag → die MPU fragt Bridge ab → die MPU sendet eine Telegram-Benachrichtigung.
MCU-Code (Bridge)
Python-Code (Bridge)
Schnellanleitung
- Verbinden: Verdrahten Sie den SW-420 Vibrationssensor wie im Schaltplan gezeigt mit dem Arduino UNO Q.
- Öffnen Sie Arduino App Lab und erstellen Sie eine neue App mit dem Namen VibrationSensorBridge.
- Fügen Sie den MCU-Sketch in sketch/sketch.ino ein.
- Fügen Sie den Python-Code in die Python-Datei 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.
- Hochladen: Klicken Sie auf die Run-Schaltfläche.

- Klopfen Sie auf den Sensor — beobachten Sie, wie das Ereignis in beiden Konsolen erscheint.
App Lab Konsolenausgabe
Telegram
Erhalten Sie sofortige Telegram-Benachrichtigungen, wenn der SW-420 Vibrationssensor am Arduino UNO Q eine Vibration erkennt.
MCU-Sketch: Behalten Sie denselben MCU-Sketch aus dem vorherigen Bridge-Abschnitt bei.
Python-Code (Telegram)
Schnellanleitung
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihr tatsächliches 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 bei).
- Klicken Sie auf die Run-Schaltfläche — klopfen Sie auf den Sensor oder schütteln Sie ihn, um eine Telegram-Benachrichtigung auszulösen.
App Lab Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Mit dem SW-420 Vibrationssensor und dem Arduino UNO Q können Sie viele nützliche Projekte bauen:
- Manipulationsalarm für Tür/Fenster: Befestigen Sie den Sensor an einer Tür oder einem Fenster — wenn jemand es aufbricht oder daran klopft, sendet die MPU sofort eine Telegram-Benachrichtigung, damit Sie es umgehend erfahren
- Stoßprotokoll für Pakete: Kleben Sie den Sensor in einen Versandkarton — die MPU versieht jedes Stoßereignis mit einem Zeitstempel und schreibt es in eine Logdatei unter Linux, sodass Sie erkennen können, ob ein Paket beim Transport unsachgemäß behandelt wurde
- Waschmaschinen-Wächter: Montieren Sie den Sensor an einem Gerät — die MPU verfolgt Vibrationsereignisse über Bridge und sendet eine Telegram-Nachricht, wenn die Maschine ungewöhnlich stark vibriert oder zur erwarteten Zeit nicht stoppt
- Erdbeben-/Aufprall-Demo-Spielzeug: Verwenden Sie den Sensor als einfache Frühwarn-Demo — die MCU meldet jeden plötzlichen Stoß sofort, und die MPU verschickt innerhalb weniger Augenblicke eine Telegram-Warnung
- Überwachung von Werkstattgeräten: Befestigen Sie den Sensor an einem laufenden Werkzeug oder einer Maschine — die MPU fragt Bridge kontinuierlich ab und benachrichtigt Sie per Telegram, sobald unerwartete Vibrationen darauf hindeuten, dass das Gerät Aufmerksamkeit benötigt