MODE 10 — SPIRO
Hard · 2h · Fast kostenlos
Ziel & Anwendung
Zwei Servos — unendlich viele Muster! Der X-Arm und der Y-Arm bewegen sich in verschiedenen Geschwindigkeiten und erzeugen dadurch Spirograph-Muster und Lissajous-Kurven. Der Dreh-Regler steuert das Verhältnis der beiden Geschwindigkeiten — jedes Verhältnis ergibt ein anderes Muster. Der Joystick-Knopf senkt den Stift ab. Automatisches Kunst-Erstellen!
- Der X-Arm und der Y-Arm drehen mit verschiedenen Geschwindigkeiten — das Verhältnis bestimmt das Muster
- Der Dreh-Regler stellt das erste Verhältnis ein, mit gehaltener Berührungsfläche das zweite — hunderte verschiedene Muster möglich
- Der Joystick-Knopf senkt den Stift ab — der Schrittmotor schiebt das Papier weiter nach jeder Runde
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Zeichen-Arm X |
| S2 | 180°-Servo | Zeichen-Arm Y |
| S3 | 180°-Servo | Stift heben/senken |
| S4 | 360°-Servo | Verhältnis-Anzeige r1 |
| S5 | 360°-Servo | Verhältnis-Anzeige r2 |
| S6 | 180°-Servo | Stiftfarben-Wechsel |
| STEPPER | Schrittmotor | Papier-Vorschub |
| DC | DC-Motor | Vibration, folgt der Muster-Komplexität |
Materialliste
- Zwei Servo-Arme (je 8 cm) als Zeichen-Arme mit Filzstift am Ende
- Weißes Papier (A4) auf einem Holz- oder Karton-Untergrund
- Kleiner Filzstift oder Kugelschreiber am Ende des zweiten Arms
- Stepper mit Gummiband als Papier-Transport
- Heißkleber, Klebeband, doppelseitiges Klebeband fürs Papier
Step-by-Step Tutorial
Zeichen-Arm-System aufbauen
Plastik-Servo-Horn auf den X-Arm-Servo aufschrauben, ersten Arm (8 cm, verstärkt mit Holzstäbchen) flächig draufkleben. Am Ende von Arm 1: den Y-Arm-Servo mit Heißkleber befestigen. Plastik-Horn auf den Y-Arm-Servo, zweiten Arm (8 cm) draufkleben. Filzstift an der Spitze von Arm 2 befestigen — zeigt nach unten. Papier direkt darunter. Der Stift-Heber senkt den Stift auf das Papier ab oder hebt ihn wieder ab.
Check: Der X-Arm dreht frei, der Y-Arm am Ende des X-Arms dreht ebenfalls frei — Filzstift am Ende des Y-Arms schwebt über dem Papier
Tipp: Den Y-Arm-Servo am Ende des X-Arms montieren: so folgt er der Bewegung des X-Arms und addiert seine eigene Drehung dazu
Geschwindigkeits-Verhältnis per Encoder einstellen
Der Dreh-Regler stellt das Geschwindigkeits-Verhältnis des X-Arms ein. Mit gehaltener Berührungsfläche und Dreh-Regler wird das Verhältnis des Y-Arms eingestellt. Beide drehen sich kontinuierlich, jeweils proportional zu ihrem eigenen Verhältnis. Die Überlagerung der zwei Drehbewegungen erzeugt das Muster. Die beiden Verhältnis-Anzeigen zeigen die aktuellen Einstellungen als Zeiger-Skala.
Check: Dreh-Regler dreht: X-Arm und Y-Arm bewegen sich mit leicht unterschiedlichen Geschwindigkeiten — Muster ändert sich
Tipp: Verhältnis 2 zu 1 erzeugt eine Acht. 3 zu 2 ergibt ein Kleeblatt. 5 zu 3 eine Spirale. Einfach ausprobieren!
Papier-Transport mit Stepper
Der Schrittmotor-Mitnehmer trägt ein Gummiband als Walze. Papier unter der Walze durchschieben. Nach einer Zeichen-Runde: der Schrittmotor dreht ein kurzes Stück — Papier schiebt sich ein Stück weiter. Nächstes Muster auf dem neuen Feld. So entsteht eine Galerie verschiedener Muster auf einem Blatt. Mehrere Ausdrucke hintereinander zeigen verschiedene Dreh-Regler-Einstellungen.
Check: Schrittmotor schiebt Papier um wenige Millimeter weiter wenn der Joystick-Knopf gedrückt wird — neues Feld für nächstes Muster
Tipp: Gummiband als Antriebs-Walze auf dem Schrittmotor-Mitnehmer: Papier liegt direkt auf dem Gummiband und wird mitgenommen
Leichtgängigkeitstest der Zeichen-Arme
Bevor Strom eingeschaltet wird: den X-Arm manuell langsam drehen. Folgt der Y-Arm am Ende mit? Klemmt das Servo-Kabel? Kabel locker führen. Filzstift am Ende: berührt er das Papier gleichmäßig? Den Stift-Heber manuell auf Stift-unten stellen: Stift auf Papier. Auf Stift-oben: Stift gehoben. Erst nach OK Strom einschalten.
Check: Der X-Arm dreht frei über den vollen Bereich. Der Y-Arm am Ende des X-Arms dreht ebenfalls frei — kein Kabelzug
Tipp: Das Kabel des Y-Arm-Servos muss locker genug sein damit es die Rotation nicht behindert — Kabel mit Klebeband lose führen
Spirograph-Demo: Verschiedene Muster zeichnen
Strom einschalten. X-Arm und Y-Arm drehen sich automatisch. Stift gehoben: Arm-Bewegung beobachten. Dreh-Regler auf Verhältnis 2 zu 1 stellen. Joystick-Knopf: Stift senkt sich ab — Muster entsteht! Nach einer Runde: Joystick-Knopf nochmals drücken (Stift heben), Dreh-Regler auf 3 zu 2, neues Muster. Schrittmotor rückt das Papier weiter. Spirograph-Galerie!
Check: Stift auf Papier senken: nach einigen Sekunden entsteht ein erkennbares Muster
Tipp: Erst Muster bei gehobenem Stift beobachten (X-Arm und Y-Arm bewegen sich, kein Strich) — dann Stift absenken für Zeichnung
Troubleshooting
- Muster sieht wie ein Punkt aus statt einer Kurve — Die beiden Geschwindigkeits-Verhältnisse sind gleich eingestellt — unterschiedliche Werte einstellen; Verhältnis 2 zu 1 oder 3 zu 2 als Startpunkt
- Stift hinterlässt keine Linie auf dem Papier — Stift-Heber-Stellung prüfen: berührt der Stift wirklich das Papier? Stift-Druck erhöhen durch niedrigere Montage des zweiten Arms
- Arm dreht und dreht, aber kein erkennbares Muster — Muster bei sehr kleinen Verhältnis-Unterschieden sind sehr komplex — Verhältnisse auf 2:1 oder 3:1 stellen für klare Muster
Modifikationen & Sicherheit
- Pro-Tipp: Farbwechsel-Stifte am Arm und Drehtisch unter dem Papier — farbige Spirograph-Muster entstehen automatisch
- Pro-Tipp: Encoder-Button speichert das aktuelle Verhältnis — schöne Muster wieder abrufen
Wichtige Code-Teile
// Spirograph-Timer
spiroT += 0.04f;
// Verhältnisse per Encoder und touch
if(!touch1) {
ratio1 = constrain(ratio1 + (float)EncoderPos * 0.1f, 0.5f, 4.0f);
} else {
ratio2 = constrain(ratio2 + (float)EncoderPos * 0.1f, 0.5f, 4.0f);
}
EncoderPos = 0;
// Lissajous/Spirograph-Position
float rad1 = 400, rad2 = 150;
float x = sin(spiroT * ratio1) * rad1
+ sin(spiroT * ratio2 * 2.0f) * rad2 * 0.3f;
float y = cos(spiroT * ratio1) * rad1
+ cos(spiroT * ratio2 * 2.0f) * rad2 * 0.3f;
// S1/S2: Zeichen-Arme
servocontroller.setServoPulse(1, constrain(1500 + (int)x, 1000, 2000));
servocontroller.setServoPulse(2, constrain(1500 + (int)y, 1000, 2000));
// S3: Stift heben/senken
static bool penDown = false;
if(isButtonPressed(JoystickButton, lastJoyBtn)) penDown = !penDown;
if(!ismoving[3]) servocontroller.startMove(3, penDown ? 2000 : 1000, 200);
// S4/S5: Verhältnis-Anzeige
servocontroller.setServoPulse(4, map((int)(ratio1 * 100), 50, 400, 1000, 2000));
servocontroller.setServoPulse(5, map((int)(ratio2 * 100), 50, 400, 1000, 2000));
// Stepper: Papier-Vorschub
if(touch2 && stepper.distanceToGo() == 0) stepper.move(50);
stepper.run();Ähnliche Projekte
- MODE 7 — GENEVA — Das Malteserkreuz ist das genialste Getriebe der Mechanik: ein kontinuierlich drehender Antrieb erzeugt ruckweise Schritte! Eine Umdrehung des Antriebsrads = ein Schritt des Ausgangsrads. Der Schritt-Zeiger zeigt den aktuellen Index, der Antriebs-Zeiger die Antriebsdrehung. Der Dreh-Regler regelt die Schritt-Geschwindigkeit. So funktionieren Filmkameras!
- MODE 1 — CRANK ROCK — Die einfachste Gelenk-Magie der Mechanik: Eine Kurbel dreht sich endlos, die Schwinge pendelt hin und her — aus einer Drehbewegung wird eine Schaukelbewegung! Der Dreh-Regler steuert die Geschwindigkeit. Die Schwinge schaukelt, die Kurbel rotiert. Klassische Mechanik zum Anfassen.
- MODE 3 — GERADE — Eine gerade Linie — ganz ohne Schiene! Diese jahrhundertealte Mechanik-Erfindung erzeugt aus einer reinen Drehbewegung eine fast perfekt gerade Bahn. Ein Zeiger bewegt sich scheinbar linear hin und her, während im Hintergrund alles rund läuft. Ein Klassiker, bevor es Linearführungen aus Metall gab.