MODE 4 — STICK CATCH
Medium · 1h · Fast kostenlos
Ziel & Anwendung
Drei Servos halten gemeinsam einen Stab in der Luft. JoystickButton startet die Sequenz: 500 ms Vorwarnung (Buzzer), dann lassen alle drei gleichzeitig los. Der Spieler muss den fallenden Stab innerhalb von 800 ms mit touch1 oder touch2 fangen. Reaktionszeit wird gemessen und die Bestzeit gespeichert.
- Drei Servos synchron als Halterung und Auslöser eines Stabs einsetzen.
- Zeitfenster-basiertes Catch-Spiel (800 ms) mit Reaktionszeit-Messung aufbauen.
- Dreistufigen Zustandsautomat (Warten/Loslassen/Auswerten) mit Servo-Rückmeldung implementieren.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Halterung 1, hält den Stab gemeinsam mit S2 und S3 fest |
| S2 | 180°-Servo | Halterung 2, hält den Stab gemeinsam mit S1 und S3 fest |
| S3 | 180°-Servo | Halterung 3, hält den Stab gemeinsam mit S1 und S2 fest |
| S4 | 360°-Servo | Dreht kurz zur Vorwarnung, bevor die Servos loslassen |
| S5 | 360°-Servo | Dreht gegenläufig als zusätzliches Vorwarnsignal |
| S6 | 180°-Servo | Zeigt an, ob der letzte Fangversuch erfolgreich war |
| STEPPER | Schrittmotor | Zählt erfolgreiche Fänge mechanisch mit |
| DC | DC-Motor | Kurzer Vibrationsimpuls im Moment des Loslassens |
Materialliste
- Holzstäbchen oder Strohhalm ca. 20 cm lang als Fang-Stab
- Drei Karton-Halterungen (je 4 × 3 cm) die am Servo-Horn befestigt werden
- Karton-Basis ca. 20 × 10 cm als Servo-Träger
- Gummiband als Rückholmechanismus für Halterungen
- Klebeband und Heißkleber
Step-by-Step Tutorial
Dreifach-Halterung für den Stab aufbauen
Karton-Basis (20 × 10 cm) aufbauen. Drei Servos (S1, S2, S3) nebeneinander montieren. Jedes Horn trägt eine Karton-Halterung (4 × 3 cm, gebogen zu einem Halbkanal). In Wartestellung: Halbkanäle zeigen innen = Stab liegt drin. Beim Öffnen: Halbkanäle drehen nach außen = Stab fällt.
Check: Alle drei Servo-Hörner klemmen den Stab in Wartestellung. Beim Öffnen lassen alle gleichzeitig los.
Tipp: Halterungs-Karton so formen dass er in Wartestellung nach innen (greift) und beim Öffnen nach außen (lässt los) dreht — wie drei Finger die aufgehen.
Stab-Halte-Test ohne Strom
Holzstäbchen oder Strohhalm (20 cm) in Halterungen legen. Von Hand alle drei öffnen: fällt der Stab gleichmäßig? Kein Haken an einer Halterung? Stab wieder einlegen: sitzt er stabil? Erst dann einschalten.
Check: Stab liegt stabil in allen drei Halterungen. Beim Öffnen (von Hand) fällt er sofort heraus.
Tipp: Stab muss wirklich frei fallen können — keine Klemmung durch ungleichmäßige Halterungen. Alle drei Halterungen exakt auf gleicher Höhe montieren.
Spielablauf-Zustandsautomat verstehen
Phase 0: alle drei Halterungen halten, Stab liegt ruhig. JoystickButton: Phase 1, Buzzer und 500 ms Countdown. Phase 1 → 2: alle drei Halterungen gleichzeitig öffnen. Phase 2: touch1 oder touch2 innerhalb 800 ms = Treffer. Danach zurück zu Phase 0.
Check: Phase 0=Wartestellung, Phase 1=Vorwarnung (500 ms), Phase 2=Fang-Fenster (800 ms)
Tipp: Drei Phasen: Stab liegt ruhig, dann Buzzer-Vorwarnung mit Loslassen, dann Fang-Zeitfenster. Reaktion zu früh: Stab noch nicht gefallen — falsch.
Leichtgängigkeits-Test ohne Strom
S1/S2/S3 alle von Hand öffnen: Halterungen öffnen vollständig? Stab würde herausfallen? Zurück in Wartestellung: Stab sitzt wieder? Alle drei Servo-Zeiger klemmen nicht? Erst dann einschalten.
Check: Alle Halterungen öffnen und schließen frei. Stab fällt sauber wenn Halterungen öffnen.
Tipp: Halterungen müssen komplett nach außen kippen — nicht nur leicht öffnen. Hebelarm prüfen.
MODE 4 aktivieren — Stick-Catch spielen
Reaktionsspiele → MODE 4. Stab einlegen. Hand darunter positionieren. JoystickButton: Buzzer ertönt. Kurz danach: Stab fällt. touch1 oder touch2 drücken wenn Stab fällt. Reaktionszeit im Display. Nicht rechtzeitig gefangen: Buzzer SHORT_BLINK.
Check: Stab liegt in Halterungen. JoystickButton startet. Buzzer warnt. Stab fällt. Schnell fangen.
Tipp: Hand unter den Stab halten bevor JoystickButton gedrückt wird — nach Buzzer kommt Loslassen in etwa einem halben Wimpernschlag.
Bestzeit verbessern
Bestzeit im Display beobachten. Ziel: möglichst schnell fangen. 10 Runden spielen und Fortschritt beobachten.
Check: Display und S6 zeigen, ob der letzte Versuch ein Treffer war
Tipp: Antizipation trainieren: Buzzer abzählen und auf den Moment des Loslassens vorbereitet sein — nicht auf den Stab warten.
Troubleshooting
- Alle drei Halterungen öffnen nicht gleichzeitig — Stab fällt schief — Alle drei Servos werden mit gleicher Bewegungsdauer und gleichem Zielwert angesteuert. Mechanische Ausrichtung prüfen: Halterungen müssen beim selben Servo-Winkel öffnen.
- Catch wird nicht erkannt obwohl touch1 gedrückt — Der Druck muss als neue Berührung erkannt werden. Finger darf nicht schon vor dem Loslassen auf dem Pad liegen. Finger kurz wegnehmen dann drücken.
Modifikationen & Sicherheit
- Pro-Tipp: Stab aus Holzstäbchen (Ø 4 mm, 20 cm) für besseres Gewicht und Fallverhalten — Strohhalm fällt zu leicht.
- Erweiterung: Zufällige Vorwarnzeit statt fester 500 ms für höhere Schwierigkeit.
- Sicherheit: Stab darf maximal 20 cm lang sein — längere Stäbe entwickeln beim Fallen Hebelkraft die Halterungen beschädigen kann.
Wichtige Code-Teile
// Phase 0: Wartestellung
case 0:
servocontroller.setServoPulse(1, 2000);
servocontroller.setServoPulse(2, 2000);
servocontroller.setServoPulse(3, 2000);
break;
// Phase 1: Vorwarnung → Loslassen
case 1:
Buzzer.setValue(150);
if(millis() - dropTime3 > 500) {
servocontroller.startMove(1, 1000, 50); // Alle gleichzeitig loslassen
servocontroller.startMove(2, 1000, 50);
servocontroller.startMove(3, 1000, 50);
dropTime3 = millis(); stickStep = 2;
}
break;
// Phase 2: Fang-Fenster (800 ms)
case 2:
if(isButtonPressed(touch1, lastTouch3) || isButtonPressed(touch2, lastTouch3)) {
catchMs3 = millis() - dropTime3;
if(catchMs3 < bestCatch3) bestCatch3 = catchMs3;
Buzzer.setMode(HEARTBEAT); stickStep = 0;
} else if(millis() - dropTime3 > 800) {
Buzzer.setMode(SHORT_BLINK); stickStep = 0; // Nicht gefangen
}Ähnliche Projekte
- MODE 1 — LINKS/RECHTS — JoystickButton startet eine zufällige Verzögerung (1–4 Sekunden), dann zeigt entweder S1 oder S2 das Signal — der Spieler muss blitzschnell die richtige Seite drücken (touch1=links, touch2=rechts). Die Bestzeit bleibt als Schleppzeiger auf S3 stehen. Falsche Seite: Buzzer SHORT_BLINK als Strafe.
- MODE 5 — SERVO FLASH — S1 schießt mit stetig wachsender Puls-Position durch den vollen Hub — eine zufällige Zielposition wird auf S2 vorher angezeigt. Der Spieler muss touch1 oder touch2 drücken wenn S1 die Zielposition trifft. Je geringer die Abweichung, desto besser der Score. DC-Motor gibt kurzen Rückstoß-Impuls bei Präzisionstreffer.
- MODE 10 — ALL-IN-ONE — Der ultimative Reaktionstest kombiniert drei Sinne nacheinander: Erst ein optisches Signal, dann ein Ton, dann heißt es blitzschnell die richtige Taste treffen. Wer alle drei Phasen sauber durchläuft und trotzdem schnell reagiert, holt sich die Bestzeit.