Spritzen-Schieberegler

Medium · 20 min · Kostenlos

Ziel & Lerninhalt

Verwandle eine Einwegspritze in einen linearen Schieberegler – zwei einfache Varianten: mit Salzwasser-Füllung oder mit antistatischem Leitschaum.

  • Linearen Widerstand über Eintauchtiefe ableiten.
  • Stick-Slip-Effekt durch Schmierung minimieren.
  • ADC-Wert mit map() in eine ergonomische Größe (0–100 %, 0–180°) umrechnen.

Erklärung & Wissen

Basic

Eine Plastikspritze hat schon alles, was ein linearer Schieber braucht: einen geraden Zylinder, einen gleitenden Kolben und einen praktischen Griff. Wir machen daraus einen Regler, dessen Stellung das Mainboard direkt auslesen kann. Variante 1: Wir füllen die Spritze mit Salzwasser und stecken zwei Drähte hinein. Drückt der Kolben Wasser zwischen den Drähten weg, wird der elektrische Weg kürzer, der Widerstand sinkt. Variante 2: Wir stecken ein Stück antistatischen Schaumstoff in die Spritze – der Schaum wird beim Drücken zusammengepresst, sein Widerstand sinkt.

Medium

Beide Varianten ergeben einen variablen Widerstand, der zusammen mit einem 10 kΩ-Festwiderstand einen Spannungsteiler an A0 bildet. Der ADC liest 0–1023, im Code rechnest du das per map() in 0–100 % Stellung oder direkt in 0–180° Servo-Winkel um. Die Salzwasser-Variante ist sauberer linear, aber langsam dichtend (Wasser darf nicht auslaufen – Heißkleber an den Drahtdurchführungen). Die Schaum-Variante ist trocken und stabil, aber leicht nichtlinear: Druckverläufe von Schaum sind progressiv (anfangs weich, später hart). Mit kalibrierten Endpunkten links/rechts in map() funktioniert beides verlässlich.

Expert

Der größte Feind feinfühliger Spritzen-Slider ist die Haftreibung der Gummilippe (Stick-Slip-Effekt): Bei langsamen Bewegungen ruckt der Kolben, weil die Haftreibung größer ist als die Gleitreibung. Lösung: Die Spritze vorab innen ganz dünn mit Silikonöl oder Speiseöl ausreiben – die Bewegung wird seidenweich. Bei der Wasser-Variante außerdem wichtig: Wechselbetrieb der Spannung gegen Elektrolyse und Polarisation. Bei der Schaum-Variante achtest du auf Schaum mit gleichmäßiger Zellgröße – Verpackungsschaum ist oft zu inhomogen und gibt sprunghafte Werte.

Fun Fact

Genau dieses Prinzip steckt in vielen DIY-MIDI-Controllern und Spielcontrollern für Menschen mit Bewegungseinschränkung: Spritzen mit Leitschaum sind extrem robust, intuitiv 'analog' und kosten fast nichts.

Stick-Slip-Effekt
Ruckartige Bewegung durch Wechsel von Haft- zu Gleitreibung. Haftreibung $F_H = \mu_0 F_N$ ist meist größer als Gleitreibung $F_G = \mu_D F_N$. Sobald die Haftung 'reißt', beschleunigt der Kolben kurz, wird wieder langsamer, haftet erneut – das wiederholt sich rhythmisch. Schmierung egalisiert den Sprung.
Druckabhängiger Widerstand
Eigenschaft mancher Schaumstoffe, ihren Widerstand unter Druck stark zu verändern. Antistatik-Schaum (ESD-Foam) enthält leitfähigen Ruß. Beim Komprimieren rücken die Rußpartikel näher zusammen, neue Kontaktpfade entstehen, der Widerstand sinkt z.B. von 1 MΩ unbelastet auf wenige kΩ unter Druck.
map()
Arduino-Funktion zur linearen Skalierung eines Wertebereichs. `map(x, in_min, in_max, out_min, out_max)`. Sehr praktisch zur Umrechnung von ADC-Werten (0–1023) in physikalische Größen wie Prozent (0–100) oder Servo-Winkel (0–180). Achtung: map() klippt nicht – Werte außerhalb des Eingangsbereichs werden extrapoliert; ggf. mit `constrain()` begrenzen.
Lineares Potentiometer
Eingabeelement, das eine mechanische Position direkt in eine proportionale Spannung übersetzt. Das Ziel der Spritze ist ein 'lineares Poti': Kolbenstellung → Widerstand → Spannung am ADC. Ein echter Schiebe-Poti hat drei Anschlüsse: +5V, GND und Schleifer (= ADC). Zwischen Schleifer und Enden liegt der Widerstand linear verteilt. Die Spritze ahmt das nach: Eintauchtiefe der Elektrode ins Salzwasser oder Kompressionsgrad des Schaums verändert den Widerstand proportional zur Position — aber mit mehr Reibung und Hysterese als ein echtes Poti.

Praktischer Versuch: Spritzen-Slider mit Leitschaum

Antistatikschaum in der Spritze, Kontakte oben und unten, Auswertung am Analogeingang.

  • 1 Einwegspritze 5–10 ml (ohne Nadel)
  • 1 Stück antistatischer Verpackungsschaum (schwarz, leitfähig)
  • 2 Drähte, 1 dünner Metallstift als Stempelkontakt am Kolben
  • 1 Widerstand 10 kΩ (Referenz)
  • Heißkleber, dünnes Speiseöl als Schmierung
  1. Schaum zuschneiden

    Schneide ein Schaumstück so zu, dass es exakt den Innendurchmesser der Spritze hat. Schiebe es ganz an die Unterseite (Düsenseite).

    Check: Stück passt eng aber gleitend in die Spritze.

    Tipp: Lieber etwas zu groß und seitlich beschneiden als zu klein – kein Spiel im Zylinder.

  2. Kontakte einbauen

    Boden: einen Draht so durch die Düsenöffnung führen, dass er flächig am Schaum anliegt, mit Heißkleber abdichten. Stempel: einen Metallstift mittig in die Vorderseite des Kolbens drücken/kleben – er kontaktiert den Schaum von oben.

    Check: Multimeter zeigt: zwischen Bodenkontakt und Stempel sinkt der Widerstand, wenn du den Kolben drückst.

    Tipp: Der Bodenkontakt sollte flächig anliegen (Drahtschlaufe oder kleiner Alukreis).

  3. Bewegung manuell prüfen

    Drücke den Kolben vorsichtig – er muss weich gleiten. Beobachte am Multimeter, ob der Wert kontinuierlich sinkt/steigt.

    Check: Sanfte Bewegung des Kolbens – keine ruckenden Sprünge.

    Tipp: Bei Stick-Slip einen Tropfen Speiseöl an die Gummilippe geben, einige Male durchziehen.

  4. Spannungsteiler bauen

    Spritzen-Drähte + 10 kΩ-Referenzwiderstand in Reihe zwischen 5V und GND. Mittelabgriff → A0.

    Check: ADC liefert klar unterschiedliche Werte in 'offen' und 'gedrückt'.

    Tipp: Wenn der Wert immer gleich bleibt, sitzt der Stempelkontakt nicht auf dem Schaum oder ist von der Plastikwand isoliert.

  5. map() und Kalibrierung

    ADC-Werte für 'voll gezogen' und 'voll gedrückt' notieren, in map() als Eingabe-Grenzen eintragen, Ausgabe als 0–100 %.

    Check: Im Monitor zeigt 'Position' verlässlich 0 % bis 100 %.

    Tipp: Endpunkte selbst eingeben! 'ADC unten/oben' nie mit den theoretischen 0/1023 verwechseln.

5V → Bodenkontakt → Schaum → Stempel → 10 kΩ → GND. Mittelabgriff (Stempel + 10 kΩ) → A0.

// ProtoPeaks - Spritzen-Schieberegler
const int sensorPin = A0;
const int adcMin = 120;  // selbst ermitteln (voll gedrueckt)
const int adcMax = 880;  // selbst ermitteln (voll gezogen)

void setup() { Serial.begin(9600); }

void loop() {
  long sum = 0;
  for (int i = 0; i < 16; i++) sum += analogRead(sensorPin);
  int adc = sum / 16;
  int prozent = map(constrain(adc, adcMin, adcMax), adcMin, adcMax, 0, 100);
  Serial.print("ADC: "); Serial.print(adc);
  Serial.print("  Position: "); Serial.print(prozent); Serial.println(" %");
  delay(50);
}
  • Wert ruckelt sprunghaft. — Stick-Slip am Kolben oder ungleichmäßiger Schaum. Speiseöl an die Gummilippe, gleichmäßigeren Schaum nehmen.
  • Werte ändern sich kaum. — Stempel berührt den Schaum nicht. Stempelstift weiter vorstehen lassen oder dickeren Schaum verwenden.
  • Position springt rückwärts beim Loslassen. — Schaum drückt sich nicht voll zurück. Weicheren Schaum nehmen oder eine kleine Druckfeder hinter den Kolben setzen.

Kurzzusammenfassung

Aus einer Einwegspritze, etwas Leitschaum und zwei Drähten entsteht ein robuster linearer Schieberegler. Die Auswertung läuft über einen klassischen Spannungsteiler und map() – ideal als günstiger, ergonomischer Eingabe-Hebel.

Ähnliche Themen