MODE 10 — FOCUS PULL
Hard · 2h · Fast kostenlos
Ziel & Anwendung
Wie ein Kamera-Assistent beim Film: Ein Distanz-Sensor misst, wie weit ein Objekt entfernt ist, und der Schrittmotor zieht automatisch die Schärfe nach — je näher das Objekt, desto weiter fährt die Objektiv-Attrappe aus. Ein Fingertipp merkt sich die aktuelle Distanz als neuen Ziel-Fokus.
- Distanz-Sensor bestimmt automatisch die passende Schärfe-Position
- Fingertipp auf die Touch-Fläche speichert die aktuelle Distanz als neuen Ziel-Fokus
- Zwei Ringe drehen sichtbar solange die Schärfe noch sucht — eine Klappe bestätigt den eingerasteten Fokus
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Live-Distanz-Zeiger |
| S2 | 180°-Servo | Ziel-Fokus-Markierung |
| S3 | 180°-Servo | Schlitten-Positions-Anzeige |
| S4 | 360°-Servo | Blendenring — dreht während der Fokus-Suche |
| S5 | 360°-Servo | Blendenring gegenläufig |
| S6 | 180°-Servo | „Fokus eingerastet“-Fähnchen |
| STEPPER | Schrittmotor | Fokus-Schlitten — zieht die Objektiv-Attrappe nach |
| DC | DC-Motor | Vibrationswarnung, wenn die Schärfe lange sucht |
Materialliste
- Kartonröhre (leere Klopapierrolle) als Objektiv-Attrappe
- Kleiner Kartonschlitten mit zwei Löchern
- Zwei Strohhalme als Gleitschienen
- Feste Schnur als Zugseil
- Zwei kurze Karton-Ringe für die Blendenring-Servos
- Heißkleber, Klebeband
Step-by-Step Tutorial
Fokus-Schlitten auf Strohhalm-Schienen bauen
Klebe zwei Strohhalme parallel als Schienen auf eine Kartonbasis. Baue einen kleinen Kartonschlitten mit zwei Löchern, der über die Strohhalme geschoben wird. Klebe die Kartonröhre aufrecht auf den Schlitten — das ist die Objektiv-Attrappe.
Check: Schlitten gleitet von Hand leicht über die gesamte Schienenlänge, ohne zu klemmen
Tipp: Löcher im Schlitten mit einem Kugelschreiber etwas aufweiten und glätten — das reduziert die Reibung deutlich
Schrittmotor mit Zugschnur verbinden
Wickle eine feste Schnur mehrfach um den aufgeschraubten Mitnehmer und klebe beide Enden am Schlitten fest, eines zieht vorwärts, eines zurück. Dreht sich der Mitnehmer, zieht die Schnur den Schlitten samt Objektiv-Attrappe entlang der Schienen.
Check: Schnur läuft stramm um den Mitnehmer, ohne durchzuhängen oder zu rutschen
Tipp: Erst den Schrittmotor-Mitnehmer aus dem Kit fest aufschrauben — erst danach die Schnur mehrfach darum wickeln
Anzeige-Servos S1/S2/S3 montieren
Servo-Hörner auf S1, S2 und S3 schrauben, je einen kurzen Karton-Zeiger flächig aufkleben. Papier-Skalen dahinter zeichnen: S1 zeigt die gemessene Distanz, S2 den gespeicherten Ziel-Fokus, S3 die aktuelle Schlitten-Position.
Check: Alle drei Zeiger laufen frei über ihre komplette Skala
Tipp: Zeiger unter 8 cm halten, dann ist kein Gegengewicht nötig
Blendenring-Servos und Fähnchen anbauen
Klebe auf die Hörner von S4 und S5 je einen kurzen Karton-Ring — reiner Show-Effekt, der sich dreht solange die Schärfe noch sucht. Auf das S6-Horn ein kleines Fähnchen kleben, das eingeklappt startet.
Check: Beide Ringe drehen frei, das Fähnchen klappt ungehindert auf und zu
Leichtgängigkeitstest von Schlitten und Servos
Schiebe den Schlitten mehrfach manuell hin und her, drehe jeden Servo einzeln durch. Erst wenn alles leichtgängig läuft, Strom einschalten.
Check: Schlitten lässt sich von Hand über die komplette Strecke schieben — kein Ruckeln, kein Verkanten
Tipp: Verkantet der Schlitten: Schienen-Abstand minimal vergrößern oder Löcher nachschleifen
Ziel-Fokus einstellen und Teach-In testen
Dreh-Regler drehen: der Soll-Zeiger wandert, der Schlitten fährt zur passenden Position. Halte ein Objekt vor den Distanz-Sensor und tippe die Touch-Fläche an — die gerade gemessene Entfernung wird sofort zum neuen Ziel-Fokus.
Check: Dreh-Regler bewegt den Soll-Zeiger, Touch-Fläche übernimmt die aktuelle Distanz als neues Ziel
Fokus-Suche und eingerasteten Fokus beobachten
Bewege ein Objekt langsam näher und wieder weiter weg: der Schlitten fährt automatisch nach, die Blendenringe drehen währenddessen sichtbar. Bleibt das Objekt auf der Zieldistanz stehen, rastet der Fokus ein und das Fähnchen klappt auf.
Check: Das Fähnchen klappt erst auf, wenn Ist- und Soll-Distanz fast exakt übereinstimmen
Tipp: Objekt gleichmäßig bewegen — bei ruckartigen Sprüngen braucht der Schlitten länger zum Nachfahren
Troubleshooting
- Schlitten bleibt trotz neuer Zieldistanz stehen — Schnur rutscht am Mitnehmer durch — fester wickeln und Enden neu verkleben
- Fähnchen klappt nie auf — Ziel-Fokus liegt außerhalb des Messbereichs (5–100 cm) — Dreh-Regler oder Objekt-Abstand anpassen
- Schlitten ruckelt beim Fahren — Schienen-Reibung zu hoch — Strohhalme mit etwas Bleistift-Graphit einreiben oder Schlitten-Löcher weiter aufweiten
Modifikationen & Sicherheit
- Pro-Tipp: Echten Zahnriemen statt Schnur verwenden für spielfreie, präzisere Fokus-Übertragung
- Pro-Tipp: Mechanische Anschläge für Naheinstellgrenze und Unendlich einbauen
- Sicherheit: Schnur nicht zu stramm spannen — sonst blockiert der Schrittmotor am Anschlag und wird heiß
Wichtige Code-Teile
// Ziel-Fokus per Dreh-Regler (5–100 cm)
targetFocus = constrain(targetFocus + EncoderPos * 0.5f, 5.0f, 100.0f);
EncoderPos = 0;
// Teach-In: Touch-Fläche übernimmt aktuelle Distanz als Ziel
if (isButtonPressed(touch1, lastTouch1)) targetFocus = distanceCM;
// Fehler + Integral
float errF = distanceCM - targetFocus;
integF = constrain(integF + errF * dt, -200.0f, 200.0f);
// Stepper-Zielposition (näher = weiter ausgefahren)
int focusSteps = (int)constrain((100.0f - targetFocus) * 20.0f + integF * 0.2f, 0, 2000);
stepper.moveTo(focusSteps);
// Anzeigen
servocontroller.setServoPulse(1, mapDistanceCMshort); // Ist-Distanz
servocontroller.setServoPulse(2, map(constrain((int)targetFocus, 5, 100), 5, 100, 1000, 2000)); // Soll-Fokus
servocontroller.setServoPulse(3, map(focusSteps, 0, 2000, 1000, 2000)); // Schlitten-Position
// Blendenring-Simulation während der Suche
bool focusing = abs(errF) > 2;
servocontroller.setServoPulse(4, focusing ? (millis() % 250 < 125 ? 1700 : 1500) : 1500);
servocontroller.setServoPulse(5, focusing ? (millis() % 250 < 125 ? 1300 : 1500) : 1500);
// Fokus eingerastet
bool focusLocked = abs(errF) < 1.0f;
servocontroller.setServoPulse(6, focusLocked ? 2000 : 1000);
// Vibrationswarnung bei langer Fokus-Suche
setMotorspeed(abs(errF) > 5 ? 25 : 0);Ähnliche Projekte
- MODE 3 — DIST HOLD — Dein Karton-Fahrzeug hält automatisch Abstand! Ein Ultraschall-Sensor misst die Entfernung zum vorausfahrenden Objekt, die beiden Antriebsräder bremsen oder beschleunigen automatisch dagegen. Eine Berührungsfläche oder die Steuerknüppel-Taste lösen jederzeit einen sofortigen Notfall-Stopp aus.
- MODE 4 — YAW HOLD — Dein Fahrzeug hält automatisch seinen Kurs! Ein Fingertipp auf die Touch-Fläche speichert die aktuelle Ausrichtung als Soll-Kurs, der Kompass-Sensor erkennt jede Abweichung und der Antrieb lenkt sanft gegen. Drei Zeiger zeigen live Lenkausschlag, Soll-Kurs und Ist-Kurs.
- MODE 7 — GIMBAL — Steuere einen Gimbal aus zwei verschiedenen Quellen — und wechsle live zwischen ihnen! Eine Berührungsfläche schaltet auf den Bewegungssensor (Kopfbewegung nachahmen), die andere auf den Steuerknüppel. Eine starke Glättung sorgt für butterweiche Übergänge, zwei Anzeige-Servos zeigen, welche Quelle gerade aktiv ist.