Arduino UNO Q - Kraftsensor
Ein Kraftsensor (FSR — Force Sensitive Resistor) ändert seinen Widerstand je nach Druckstärke. Verbunden mit dem 12-Bit-ADC des Arduino UNO Q mit einem Pull-Down-Widerstand erhalten Sie einen Wert von 0 (kein Druck) bis 4095 (maximales Drücken). Mit Bridge und Telegram können Sie sofortige Benachrichtigungen erhalten und Druckstufen aus der Ferne abfragen.
In diesem Tutorial lernen Sie:
- Wie ein Kraftsensor funktioniert
- Wie Sie den Kraftsensor mit einem Pull-Down-Widerstand an den Arduino UNO Q MCU anschließen
- Wie Sie Analogwerte auslesen und Druckpegel klassifizieren (12-Bit-ADC: 0–4095)
- Wie Sie Bridge verwenden, um Kraftdaten und Ereignisse an die Linux-Seite (Python) freizugeben
- Wie Sie Telegram-Benachrichtigungen erhalten, wenn Kraft auf Arduino UNO Q ausgeübt wird
- Wie Sie OpenClaw auf Arduino UNO Q mit dem Kraftsensor verwenden

Hardware erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den Kraftsensor
Der Kraftsensor (auch FSR genannt — Force Sensitive Resistor) ist ein dünnes, flexibles Bauteil, das wie ein variabler Widerstand wirkt:
- Kein Druck angewendet: Sehr hoher Widerstand (mehrere MΩ) → nahezu Nullspannung am analogen Pin
- Mehr Druck angewendet: Niedriger Widerstand → höhere Spannung → höherer ADC-Wert

Der Kraftsensor hat zwei identische Pins (er ist ein Widerstand — Polarität spielt keine Rolle). Er ist nicht für präzise Gewichtsmessungen in Gramm oder Pfund geeignet, aber hervorragend zum Erkennen von Berührungen, Drücken oder Druckereign issen.
Spannungsteiler-Verdrahtung
Da der FSR nur ein Widerstand ist, muss er in einem Spannungsteiler mit einem bekannten Pull-Down-Widerstand (10 kΩ) verdrahtet werden, um eine messbare Spannung zu erzeugen:
- Wenn der FSR-Widerstand hoch ist (kein Druck), liest A0 nahezu 0
- Wenn der FSR-Widerstand sinkt (Druck angewendet), liest A0 höher
12-Bit-ADC auf Arduino UNO Q
Der UNO Q MCU verwendet einen 12-Bit-ADC (0–4095) mit einer 3,3V-Referenz. Die Druckklassifizierungsschwellen in diesem Tutorial sind entsprechend skaliert (R4 verwendet 10-Bit 0–1023; alle Schwellen werden für UNO Q mit 4 multipliziert).
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Komponente | Arduino UNO Q MCU |
|---|---|
| Kraftsensor Pin 1 | 3.3V |
| Kraftsensor Pin 2 | A0 |
| 10 kΩ Widerstand Pin 1 | A0 |
| 10 kΩ Widerstand Pin 2 | GND |
Programmierung des Kraftsensors
- Lesen Sie die Analogspannung am Kraftsensor-Pin:
- Klassifizieren Sie die Druckpegel anhand des ADC-Werts (12-Bit, 0–4095):
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU liest den Analogwert des Kraftsensors jede Sekunde und klassifiziert die Druckpegel
- Der Qualcomm MPU führt Debian Linux mit Wi-Fi aus — in diesem Abschnitt wird nur der MCU programmiert. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Schnelle Schritte
Erste Schritte mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q bevor Sie fortfahren.
- Verbinden: Verdrahten Sie den Kraftsensor und Widerstand wie im Schaltplan gezeigt mit dem Arduino UNO Q MCU.
- Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
- Eine neue App erstellen: Klicken Sie auf die Schaltfläche Neue App erstellen.

- Geben Sie der App einen Namen, z.B.: ForceSensor
- 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.
- Hochladen: Klicken Sie in Arduino App Lab auf die Schaltfläche Ausführen.

- Drücken Sie sanft auf den Kraftsensor und dann stärker — beobachten Sie, wie die Messwerte im Seriellen Monitor ändern.
App Lab Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite Kraftwerte empfangen und Druckereignisse über Bridge empfangen kann:
- Der Kraftsensor ist mit dem MCU verbunden — der MCU liest den Analogwert alle 500 ms und speichert ihn
- Der MPU kann den analogen Pin nicht direkt auslesen — er ruft Bridge-Funktionen auf, um den Rohwert, Druckpegel oder ein neues Druckereignis zu erhalten
- Der MPU verfügt über Wi-Fi — mit vollständigem Debian Linux kann er Telegram-Benachrichtigungen im Moment senden, wenn Kraft ausgeübt wird
- Arduino_RouterBridge ermöglicht die RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router — öffnen Sie diese niemals in Benutzercode
MCU-Code (Bridge)
Python-Code (Bridge)
Schnelle Schritte
- Verbinden: Verdrahten Sie den Kraftsensor und Widerstand wie im Schaltplan gezeigt.
- Arduino App Lab öffnen und eine neue App mit dem Namen ForceSensorBridge erstellen.
- MCU-Sketch einfügen in sketch/sketch.ino.
- Python-Code einfügen in die Python-Datei.
- 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 Schaltfläche Ausführen.

- Drücken Sie auf den Kraftsensor — beobachten Sie das Ereignis und die Druckpegel in beiden Konsolen.
App Lab Konsolenausgabe
Telegram
Erhalten Sie Telegram-Benachrichtigungen, wenn Kraft auf den Arduino UNO Q Kraftsensor ausgeübt wird, und fragen Sie Druckpegel aus der Ferne ab.
MCU-Sketch: Behalten Sie denselben MCU-Sketch aus dem vorherigen Bridge-Abschnitt.
Python-Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihr echtes 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 Schaltfläche Ausführen — drücken Sie auf den Kraftsensor, 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
Sie können viele nützliche Projekte mit dem Kraftsensor und Arduino UNO Q erstellen:
- Smart Doorbell: Montieren Sie den FSR unter einer Fußmatte — wenn jemand darauf tritt, sendet der MPU eine Telegram-Benachrichtigung "Jemand ist an der Tür!", wodurch eine unsichtbare druckgesteuerte Türklingel entsteht
- Trainingsgerät für Griffstärke: Drücken Sie den FSR als Teil eines Griffstärke-Trainingsprogramms — Python verfolgt den Spitzenwert der Druckpegel jede Sitzung und sendet eine Telegram-Zusammenfassung mit Ihrem stärksten Drücken des Tages
- Paketgewicht-Monitor: Platzieren Sie den FSR unter einem Paket auf einem Regal — wenn das Paket entfernt wird (Druck fällt auf Null), sendet der MPU sofort eine "Paket entfernt"-Telegram-Benachrichtigung
- Druckzähler: Zählen Sie, wie oft Kraft pro Stunde erkannt wird — protokollieren Sie die Anzahl in einer CSV-Datei und senden Sie einen stündlichen Telegram-Bericht (nützlich für Tastendrücke in Kiosken oder Maschinen)
- Bettenbeleg-Sensor: Platzieren Sie mehrere FSRs unter einer Matratze — Python empfängt Druckereignisse und sendet eine Telegram-Benachrichtigung, wenn das Bett belegt oder verlassen ist (nützlich für die Überwachung älterer Menschen oder Patienten)
Herausford ere dich selbst
Bereit, weiter mit dem Kraftsensor auf Arduino UNO Q zu gehen? Probieren Sie diese Herausforderungen:
- Einfach: Fügen Sie einen /peak Telegram-Befehl hinzu: Python verfolgt den höchsten je seit dem Start gelesen Rohwert des ADC und gibt ihn auf Anfrage zurück — nützlich zum Finden der maximal ausgeübten Kraft während des Tests.
- Mittel: Implementieren Sie einen Tracker für Druckdauer: notieren Sie den Zeitstempel, wenn Druck beginnt (Wert ≥ 40) und wann er endet — senden Sie eine Telegram-Nachricht mit der Dauer jedes Mal, wenn Kraft freigegeben wird.
- Fortgeschritten: Erstellen Sie einen Tippen-Zähler mit Entprellfilter: erkennen Sie schnelle Druckpressen (Tippen) in Python, indem Sie überprüfen, ob das pressure_detected-Ereignis mehr als einmal innerhalb von 2 Sekunden auftritt — zählen Sie Tippsequenzen und senden Sie eine Telegram-Nachricht wie "3 Tippen erkannt!" für Muster, die Sie definieren.