Kurzfassung für Eilige: Ein FSR (Force Sensitive Resistor) ist ein flacher, flexibler druckempfindlicher Widerstand. Mit einem einfachen Spannungsteiler misst du am Analog-Pin deines Arduino/ESP die Druckstärke. Für exakte Werte brauchst du eine Kalibrierung.
Key Takeaways
- FSR = Widerstand sinkt bei Druck → ideal für Touch/Belegung/Force-Input
- Anschluss als Spannungsteiler mit 10–47 kΩ Referenzwiderstand
- Nichtlinear → relative Stufen ok, absolute Kräfte nur mit Kalibrierung
- Beispielsketch für Arduino inklusive Glättung & Druckstufen
Was ist ein FSR?
Ein Force Sensitive Resistor (FSR) ist ein Sensor, dessen Widerstand mit zunehmendem Druck stark abnimmt. Er ist flach, leicht, robust und damit perfekt für User-Interfaces, Musikinstrumente, Robotik-Greifer oder Sitz-/Belegungssensoren. Für Bastelprojekte ist z. B. der Interlink FSR-402 verbreitet.
Typische Einsatzfälle
- Druckabhängige Tasten/Trigger (sanft ↔ stark)
- Velocity-Pads für Musikcontroller
- Griffkraft-Erkennung in Robotik/Wearables
- Belegungssensor in Stuhl/Sitzauflage
So funktioniert der FSR
Der FSR ist piezoresistiv: Durch Druck vergrößert sich die leitende Kontaktfläche im Sensoraufbau. Ergebnis: R↓ bei F↑ (stark nichtlinear). Ohne Druck ist der Widerstand sehr groß (quasi „offen“), bei leichter Berührung im 100-kΩ‑Bereich, bei starkem Druck bis in den kΩ/100‑Ω‑Bereich. Genauigkeitswunder ist er nicht – qualitative Messungen sind seine Stärke.
Bauteile & Daten
- Formen: rund (Ø ≈ 18 mm), rechteckig/streifenförmig, Matten/Arrays
- Dicke: ~0,45 mm, leicht flexibel
- Arbeitsbereich: reagiert ab sehr kleinen Kräften; sinnvoll bis ca. 10 N (modellabhängig)
- Lebensdauer: viele 100k–Mio. Betätigungen (je nach Hersteller/Typ)
- Charakteristik: logarithmisch, temperatur- und mechanikabhängig → Kalibrieren!
Schaltung: Spannungsteiler
Ziel: Die Knotenspannung steigt mit Druck und wird am Analog-Pin gemessen.
Vcc ── FSR ──●── Rfix ── GND
│
A0 (Analog)
Empfehlungen
- Rfix: 10–47 kΩ (für leichte Berührungen eher 47–100 kΩ, für harte Drücke 10–22 kΩ)
- Vcc: 5 V (Arduino Uno) oder 3,3 V (ESP32/ESP8266)
- Noise: 100 nF vom Messpunkt nach GND kann helfen
- Leitungen kurz halten, saubere Masseführung
Arduino-Beispielcode
Der Sketch liest den FSR, glättet den Wert mit einem gleitenden Mittel und teilt die Messung in Druckstufen ein.
// FSR am A0, Spannungsteiler mit 10k–47k nach GND
const int fsrPin = A0;
const float vcc = 5.0; // 5V beim UNO
const int adcMax = 1023; // 10 Bit
// Gleitender Mittelwert
const int N = 10; // Puffergröße
int buf[N]; int idx=0; long sum=0;
void setup() {
Serial.begin(115200);
for (int i=0;i<N;i++) buf[i]=0;
}
int smoothRead() {
int val = analogRead(fsrPin);
sum -= buf[idx];
buf[idx] = val;
sum += val;
idx = (idx+1)%N;
return sum / N;
}
void loop() {
int raw = smoothRead();
float voltage = (raw * vcc) / adcMax;
// Grobe Druckstufen – Schwellen ggf. anpassen
const float soft = 0.5; // leichte Berührung
const float medium = 1.5; // mittlerer Druck
const float hard = 3.0; // starker Druck
const char* level = "kein Druck";
if (voltage > soft) level = "soft";
if (voltage > medium) level = "medium";
if (voltage > hard) level = "hard";
Serial.print("ADC="); Serial.print(raw);
Serial.print(" U="); Serial.print(voltage,2); Serial.print("V ");
Serial.println(level);
delay(10);
}
ESP32-Hinweis: ADC ist 12‑Bit (0…4095) und typ. 3,3 V Referenz → Konstanten anpassen.
Kalibrierung (Kraft abschätzen)
Willst du aus der Spannung N (Newton) ableiten, brauchst du eigene Referenzmessungen.
So geht’s in 5 Schritten
- Sensor mechanisch sauber lagern (flache Auflage, ggf. Gummipad)
- Bekannte Gewichte/Kräfte nacheinander auflegen (z. B. 0, 0,5, 1, 2, 5, 10 N)
- Je Punkt 20–50 Messwerte mitteln → Tabelle (Kraft ↔ Spannung)
- In Excel/Python Kurve fitten (oft Potenzfunktion) oder Lookup-Tabelle anlegen
- Im Sketch Werte in Kraftbereiche umrechnen (z. B. if/else oder Interpolation)
Pro‑Tipp: Lieber Bereiche (z. B. „leicht/mittel/stark“) als exakte N‑Werte anzeigen – stabiler und praxistauglich.
Tipps & häufige Fehler
- Nichtlinearität & Drift: Temperatur/Alterung beachten → gelegentlich neu kalibrieren
- Kraft verteilen: Weiche Deckschicht (Schaum/Gummi) verhindert Hot‑Spots
- Vorspannung: Für „belegt/unbelegt“ eine kleine Grundlast einplanen
- Rfix passend wählen: Ziel‑Spannungsbereich an den ADC anpassen
- Präzision nötig? → Wägezelle/Dehnungsmessstreifen statt FSR
Praxisbeispiele
- Druck‑DJ‑Pad: Lautstärke/Filter je nach Druck
- Roboter-Greifer: Schließt bis Druck > Schwellwert
- Sitzsensor: Belegung + „Zappelfaktor“
- Game-Controller: Analoge Trigger statt On/Off
Einkaufsliste
- 1× FSR, z. B. Interlink FSR‑402 (rund)
- 1× Widerstand 10–47 kΩ (ein paar Werte zum Testen)
- Kabel, Breadboard, 100 nF Kondensator (optional)
- Arduino Uno/Nano oder ESP32/ESP8266
Downloads
- Schaltplan (PNG): /wp-content/uploads/fsr_wiring_diagram.png
- Schaltplan (SVG): /wp-content/uploads/fsr_wiring_diagram.svg
- Hero-Bild (PNG): /wp-content/uploads/fsr_hero_banner.png
ALT‑Texte (Empfehlung)
- fsr_hero_banner.png → „Druckempfindlicher Sensor (FSR) – Funktionsprinzip und Anschluss“
- fsr_wiring_diagram.png → „FSR an Arduino als Spannungsteiler mit Rfix und A0“
- fsr_wiring_diagram.svg → „Schaltplan: Force Sensitive Resistor mit Arduino“
FAQ
Wie schließe ich einen FSR an Arduino an?
Als Spannungsteiler: FSR an Vcc, Knoten an A0, Rfix (10–47 kΩ) nach GND.
Ist ein FSR ein präziser Kraftsensor?
Nein, er ist nichtlinear und driftet. Für relative Messungen top; für präzise Kräfte lieber Wägezellen.
Welche Versorgung nutze ich?
5 V beim Arduino Uno, 3,3 V bei ESP32/ESP8266. Passe die ADC‑Konstanten im Sketch an.
Wie kalibriere ich einen FSR?
Mehrere Referenzgewichte messen, Kurve/Lookup erstellen und im Code hinterlegen.
Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs


Wann wird die Seite vervollständigt?
Finde die kurze Erklärungsweise super.
Einzige was fehlt ist ev. Dimensionierungsformeln wie beim Peltier-Element ^^