MODE 6 — CRUISE
Medium · 1h 30 min · Fast kostenlos
Ziel & Anwendung
Encoder stellt eine konstante Ziel-Geschwindigkeit ein — das Auto hält diesen Kurs ohne Joystick-Halten. Joystick X lenkt weiterhin, EncoderButton setzt Speed zurück auf Null.
- Encoder als permanenten Geschwindigkeits-Setpoint-Regler nutzen.
- Konstante Sollwertvorgabe mit überlagerter Lenksteuerung kombinieren.
- Cruise-Reset-Logik per Tastendruck implementieren.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Lenkung — Joystick X |
| S2 | 180°-Servo | Heckspoiler — Winkel steigt mit der Ziel-Geschwindigkeit |
| S3 | 180°-Servo | „On Target“-Fähnchen — schaltet um, sobald Zielgeschwindigkeit erreicht ist |
| S4 | 360°-Servo | Antrieb links — hält die Cruise-Geschwindigkeit |
| S5 | 360°-Servo | Antrieb rechts — hält die Cruise-Geschwindigkeit |
| S6 | 180°-Servo | Bremsklappe — klappt beim Zurücksetzen kurz hoch |
| STEPPER | Schrittmotor | Zeiger auf einer Skala — zeigt den Sollwert |
| DC | DC-Motor | Frontpropeller — dreht passend zur Ziel-Geschwindigkeit mit |
Materialliste
- Chassis wie MODE 1 (Karton, S4/S5 Antrieb, S1 Lenkung)
- Ausreichend freie Fahrbahn für geradeaus-Tests
Step-by-Step Tutorial
Chassis aufbauen (identisch MODE 1)
Chassis identisch zu MODE 1 aufbauen. ProtoPeaks fest montieren. Räder leichtgängig testen.
Check: Chassis stabil, S4/S5 Antrieb, S1 Lenkung montiert
Tipp: Wenn MODE 1-Auto bereits existiert direkt weiterverwenden — nur Mode wechseln.
Leichtgängigkeits-Test
Auto auf Boden stellen und schieben. Müssen leicht rollen. Dann ProtoPeaks einschalten.
Check: Auto rollt frei auf Boden, kein Widerstand
Tipp: Cruise Control funktioniert nur gut wenn das Auto gleichmäßig läuft — kein Hakeln.
MODE 6 aktivieren — Cruise Speed setzen
Autos → MODE 6. Encoder langsam nach rechts drehen: cruiseSpd steigt, Auto fährt vorwärts. Weiter drehen: schneller. Encoder nach links: langsamer / rückwärts. Joystick X lenkt weiterhin unabhängig.
Check: Encoder drehen erhöht/senkt cruiseSpd (−300 bis +300). Display zeigt Set-Wert.
Tipp: Jede Encoder-Raste = ±5 µs Geschwindigkeits-Offset. 300 Schritte = ca. 60% Vollgas.
Cruise-Reset testen
Bei fahrendem Auto: EncoderButton drücken → cruiseSpd = 0 → Auto stoppt sofort. Encoder erneut drehen um Fahrt wieder aufzunehmen.
Check: EncoderButton drücken setzt cruiseSpd sofort auf 0 — Auto stoppt
Tipp: Ideal als Notbremse beim Cruise-Control-Test. Immer erreichbar halten.
Zusatz-Anzeigen anbringen
Baue einen Heckspoiler, dessen Winkel mit der Ziel-Geschwindigkeit steigt, ein Fähnchen, das umschaltet sobald die Zielgeschwindigkeit erreicht ist, eine Bremsklappe beim Zurücksetzen und einen Skalen-Zeiger für den Sollwert.
Check: Heckspoiler, „On Target“-Fähnchen, Bremsklappe und Skalen-Zeiger bewegen sich frei
Lenken während Cruise testen
Cruise-Speed auf ca. 150 einstellen. Auto fährt geradeaus. Joystick X langsam nach rechts: Auto biegt ab ohne Geschwindigkeit zu ändern. Joystick zurück zur Mitte: Auto fährt wieder geradeaus.
Check: Joystick X lenkt das Auto während Cruise-Speed gehalten wird
Tipp: Lenkung ist additiv: cruiseSpd bleibt konstant, Steering-Wert wird dazu addiert/subtrahiert.
Troubleshooting
- Auto fährt bei 0 cruiseSpd trotzdem langsam — 360°-Servo-Nullpunkt variiert. Deadzone auf 1500µs kalibrieren oder applyDeadzone für cruiseSpd einsetzen.
- Encoder dreht aber cruiseSpd ändert sich nicht — EncoderPos-Variable wird in jedem Frame nach der Verwendung auf 0 zurückgesetzt. Sehr schnelles Drehen zwischen zwei Updates (250ms) kann Inkremente verlieren.
Modifikationen & Sicherheit
- Pro-Tipp: Encoder-Schrittgröße von 5 auf 10 erhöhen für schnellere Speed-Einstellung.
- Erweiterung: Ultraschall-Sensor als automatische Notbremse einbinden — bei Hindernis < 30 cm: cruiseSpd = 0.
- Erweiterung: Minimale Cruise-Geschwindigkeit von 0 auf 50 setzen — verhindert unbeabsichtigtes Rückwärtsfahren.
Wichtige Code-Teile
// Encoder stellt konstante Ziel-Geschwindigkeit
static int cruiseSpd = 0;
cruiseSpd = constrain((int)(cruiseSpd + EncoderPos * 5), -300, 300);
EncoderPos = 0;
if(EncoderButton) cruiseSpd = 0; // Reset auf Null
// Cruise + Lenkung kombiniert
uint16_t cL = constrain(1500 + cruiseSpd + steering, 1000, 2000);
uint16_t cR = constrain(1500 - cruiseSpd + steering, 1000, 2000);
servocontroller.setServoPulse(1, map(constrain((int)JoystickX, 0, 4095), 0, 4095, 1100, 1900));
servocontroller.setServoPulse(4, cL);
servocontroller.setServoPulse(5, cR);Ähnliche Projekte
- MODE 1 — RC-CAR — Dein Karton-Flitzer mit allem Drumherum: Der Steuerknüppel gibt Gas und lenkt, während Heckspoiler, Kurvenlicht und Bremslicht wie bei einem echten Sportwagen ganz von allein mitspielen. Die Animation oben zeigt, wie die beiden Antriebsräder Gas und Lenkung mischen — genau dieses Auto rollt gleich durch dein Wohnzimmer.
- MODE 7 — PRECISION — Der Stepper-Motor ermöglicht millimetergenaus Vor- und Rückwärtsfahren per Joystick — S1 lenkt, S4/S5 stehen still. EncoderButton setzt die Nullposition zurück.
- MODE 2 — GYRO DRIVE — Steck den Steuerknüppel weg — hier lenkst du, indem du die ganze Fernsteuerung kippst: nach vorne lehnen gibt Gas, zur Seite neigen dreht das Auto auf der Stelle. Die Animation oben zeigt, wie aus deiner Handbewegung Fahrbewegung wird.