MODE 6 — LABYRINTH
Medium · 1h · Fast kostenlos
Ziel & Anwendung
Ein Kugel-Labyrinth das sich selbst neigt! Zwei Servos kippen eine Plattform mit Labyrinth — die Kugel rollt genau dorthin wo du lenkst. Steuerknüppel oder Neigungssensor: beide Steuermethoden möglich. Wie schnell schaffst du es von Eingang bis Ausgang ohne in ein Loch zu fallen?
- Zwei Servos kippen die Plattform in beide Richtungen — die Kugel folgt der Neigung
- Der Joystick-Knopf wechselt zwischen Steuerknüppel- und Neigungs-Steuerung
- Erreicht die Kugel das Ziel oder fällt sie in ein Loch, zählt der Schrittmotor die Versuche mit
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Plattform-Neigung X-Richtung |
| S2 | 180°-Servo | Plattform-Neigung Y-Richtung |
| S3 | 180°-Servo | Steuerungsmodus-Anzeige |
| S4 | 360°-Servo | Bewegungs-Rotor links |
| S5 | 360°-Servo | Bewegungs-Rotor rechts |
| S6 | 180°-Servo | Ziel-erreicht-Anzeige |
| STEPPER | Schrittmotor | Zählt Ziel-Treffer und Fehlversuche mit |
| DC | DC-Motor | Kurze Vibration, wenn die Kugel in ein Loch fällt |
Materialliste
- Flaches Karton-Tablett (20×20 cm) mit aufgeklebtem Labyrinth aus Holzstäbchen
- Holzstäbchen oder Strohhalme als Labyrinth-Wände (aufgeklebt)
- Kleine Murmel oder Kugel (1–2 cm Durchmesser)
- Zwei Karton-Arme (je 6 cm) als Verbindung zu S1 und S2
- Klebeband, Heißkleber
Step-by-Step Tutorial
Labyrinth-Tablett bauen
Flaches Karton-Tablett aufbauen. Labyrinth-Wände aus Holzstäbchen oder gefalteten Karton-Streifen aufkleben. Wände ca. 1 cm hoch, Gänge ca. 2–3 cm breit. Start und Ziel markieren. Optional: kleine Löcher in den Boden schneiden als Straf-Fallen. Murmel ins Labyrinth legen: rollt sie durch die Gänge?
Check: Kugel liegt ruhig auf dem Tablett — Labyrinth-Wände sind hoch genug um die Kugel zu führen
Tipp: Wände mindestens 1 cm hoch — Kugel darf bei normaler Neigung nicht darüber springen
Kippel-Mechanismus mit den Neigungs-Servos
Plastik-Servo-Horn auf den ersten Neigungs-Servo aufschrauben, Arm (6 cm) flächig draufkleben. Dieser Arm hebt eine Seite des Tabletts. Der zweite Neigungs-Servo hebt die andere Achse. Tablett sitzt auf einer Kardangelenk-Aufhängung: Kugel-Lager aus zwei sich kreuzenden Karton-Streifen mit Loch in der Mitte. Beide Servos dürfen sich nicht gegenseitig blockieren.
Check: Erster Servo weit gedreht: Tablett kippt nach rechts, in die andere Richtung: nach links. Der zweite Servo kippt vorne/hinten
Tipp: Kippwinkel nicht zu groß — bei zu viel Neigung rollt die Kugel zu schnell und lässt sich nicht kontrollieren
Steuerung kennenlernen
Im Steuerknüppel-Modus folgt das Tablett direkt der Auslenkung des Steuerknüppels, sanft geglättet für weiche Bewegung. Der Joystick-Knopf wechselt in den Neigungs-Modus: jetzt steuert das Kippen von ProtoPeaks selbst die Kugel — nach vorne kippen lässt sie vorwärts rollen. Die Steuerungsmodus-Anzeige zeigt, welcher Modus gerade aktiv ist.
Check: Steuerknüppel nach rechts: das Tablett kippt — Kugel rollt nach rechts. Im Neigungs-Modus steuert das Kippen von ProtoPeaks die Kugel
Tipp: Der Neigungs-Modus ist schwieriger aber intuitiver — wie ein echter Tilt-Controller
Ziel erreichen und Fehlversuche zählen
Am Ziel angekommen: eine Berührungsfläche am Zielfeld meldet den Erfolg, die Ziel-erreicht-Anzeige kippt kurz um und der Schrittmotor zählt einen Treffer. Fällt die Kugel stattdessen in ein Loch, meldet eine zweite Berührungsfläche den Fehlversuch, eine kurze Vibration markiert den Moment und der Schrittmotor zählt mit. So lässt sich die Erfolgsquote über mehrere Runden vergleichen.
Check: Kugel im Ziel: die Ziel-erreicht-Anzeige kippt kurz um. Kugel fällt in ein Loch: eine kurze Vibration meldet den Fehlversuch
Tipp: Start- und Zielfeld eindeutig markieren — so weiß man immer, wo die Runde beginnt und endet
Leichtgängigkeitstest des Kipp-Mechanismus
Vor dem Einschalten: Tablett langsam in alle Richtungen kippen. Kugel ins Labyrinth legen und durch alle Gänge rollen lassen. Klemmt sie irgendwo? Wände zu eng? Beide Neigungs-Servos freies Spiel? Tablett bewegt sich in beide Richtungen unabhängig? Erst nach OK Strom einschalten.
Check: Tablett manuell in alle Richtungen kippen — kein Klemmen, Kugel rollt frei durch alle Gänge
Tipp: Labyrinth-Gänge auf Reibungspunkte prüfen — Kugel darf nirgendwo festklemmen
Rennen gegen die Uhr
Strom einschalten. Kugel an den Start. Handy-Stoppuhr starten. Mit dem Steuerknüppel (oder im Neigungs-Modus) die Kugel durch das Labyrinth führen. Am Ziel: Stoppuhr stoppen. Zeit notieren. Zweiter Versuch: schneller? Profi-Challenge: Neigungs-Modus verwenden. Wer schafft das Labyrinth in unter 30 Sekunden?
Check: Kugel von Start zu Ziel führen — Handy-Stoppuhr messen. Schnellste Zeit gewinnt!
Tipp: Erst ohne Zeitdruck üben bis man das Labyrinth kennt — dann auf Zeit versuchen
Troubleshooting
- Kugel rollt zu schnell und lässt sich nicht kontrollieren — Steuerknüppel sanfter auslenken — kleine Bewegungen reichen für spürbare Neigung
- Tablett kippt nur in eine Richtung — Einer der Neigungs-Servos klemmt — Servo-Arme prüfen ob sie aneinander stoßen. Jeweils freies Spiel sicherstellen
- Der Neigungs-Modus kippt in die falsche Richtung — ProtoPeaks in die Gegenrichtung neigen zum Testen — bei dauerhaft falscher Richtung die Verkabelung des Neigungssensors prüfen
Modifikationen & Sicherheit
- Pro-Tipp: Zweites Tablett mit anderem Labyrinth zum Austauschen — so bleibt das Spiel immer neu
- Pro-Tipp: Zeit-Wettbewerb mit mehreren Spielern — wer hat nach fünf Runden die wenigsten Fehlversuche?
Wichtige Code-Teile
// Steuerung: Steuerknüppel oder Neigung wechseln
static bool useGyro = false;
if(isButtonPressed(RemoteJoystickBtn, lastJoyBtn)) useGyro = !useGyro;
float targetX = useGyro ? mapGyroX : mapJoystickX;
float targetY = useGyro ? mapGyroY : mapJoystickY;
// Sanfte Filterung
smX = filterAnalog(targetX, smX, 0.25f);
smY = filterAnalog(targetY, smY, 0.25f);
// S1/S2: Tablett-Neigung
servocontroller.setServoPulse(1, (uint16_t)smX);
servocontroller.setServoPulse(2, (uint16_t)smY);
// S3: Steuerungsmodus anzeigen
servocontroller.setServoPulse(3, useGyro ? 2000 : 1000);
// S6: Ziel erreicht (touch1, kurz gehalten)
if(isButtonPressed(touch1, lastT1)) { goalT = millis(); stepper.move(15); Buzzer.setMode(HEARTBEAT); }
servocontroller.setServoPulse(6, (millis() - goalT < 1000) ? 2000 : 1000);
// touch2: Kugel gefallen
if(isButtonPressed(touch2, lastT2)) { stepper.move(15); setMotorspeed(50); Buzzer.setMode(LONG_BLINK); }
stepper.run();Ähnliche Projekte
- MODE 3 — WAITER — Kannst du ruhiger sein als ein Roboter-Kellner? Zwei Servos halten ein Tablett automatisch gegen jede Neigung von ProtoPeaks waagerecht — dein Job ist es, ProtoPeaks so ruhig wie möglich zu tragen. Jedes Wackeln kostet Punkte. Wie lange hältst du die volle Punktzahl?
- MODE 5 — HOT WIRE — Der Klassiker auf jedem Jahrmarkt — jetzt mit ProtoPeaks-Bestrafungs-Mechanismus! Eine gebogene Drahtbahn, ein Ring der nicht berühren darf. Berührt der Ring den Draht, zuckt eine Anzeige wild, ein Ton kreischt und der Antriebsmotor dreht kurz als Strafe. Wie ruhig ist deine Hand?
- MODE 7 — FISHING — Wirft die Angel aus, wartet auf den Biss und zieht rechtzeitig! Ein Servo steuert den Angelruten-Winkel, der Antriebsmotor wickelt die Schnur auf. Erkennt der Infrarot-Sensor einen 'Fisch', hast du nur kurz Zeit, um die Berührungsfläche zu drücken — zu langsam und der Fisch entwischt! Angelglück mit ProtoPeaks!