MODE 3 — CAP-PIANO
Easy · 45 min · Fast kostenlos
Ziel & Anwendung
touch1 und touch2 sind Klaviertasten: jede öffnet eine eigene Servo-Klappe und erzeugt einen anderen Buzzer-Ton. Beide zusammen (Chord) aktivieren alle Klappen gleichzeitig, treiben den DC-Motor als Rhythmus-Shaker und lösen den HEARTBEAT-Buzzer aus. CapSensor als dritte Taste spielt einen weiteren Akkord.
- Touch-Eingaben als musikalische Trigger für Servo-Klappen und Buzzer-Töne einsetzen.
- Chord-Logik (beide Tasten gleichzeitig) mit eigenem Klang und DC-Motor-Rhythmus implementieren.
- startMove()-Funktion für weiche, latenzfreie Klappe-Bewegung nutzen.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Klappe für Ton A, öffnet bei erster Taste |
| S2 | 180°-Servo | Klappe für Ton B, öffnet bei zweiter Taste |
| S3 | 180°-Servo | Klappe für Akkord bzw. dritte Taste, dreistufig |
| S4 | 360°-Servo | Resonanz-Dreher bei Ton A |
| S5 | 360°-Servo | Resonanz-Dreher bei Ton B |
| STEPPER | Schrittmotor | Zählt gespielte Töne mechanisch mit |
| DC | DC-Motor | Rhythmus-Shaker bei gleichzeitigem Akkord |
Materialliste
- Kartonstreifen je ca. 8 × 3 cm als Klappen (3 Stück)
- Kleines Karton-Instrument-Gehäuse ca. 20 × 12 cm
- Beschriftungsstreifen als Tasten-Label (Note A, Note B, Chord, Cap)
- Kleiner Propeller aus Karton (4 Blätter à 4 cm) für DC-Motor-Rhythmus-Shaker
- Klebeband und Heißkleber
Step-by-Step Tutorial
Piano-Gehäuse aufbauen
Karton-Gehäuse (20 × 12 cm) aufbauen. Drei Klappen (S1, S2, S3) oben in einer Reihe. Darunter Beschriftung: 'A' (touch1), 'B' (touch2), 'Chord' (beide), 'Cap' (CapSensor). DC-Motor mit Propeller seitlich montieren als Rhythmus-Shaker bei Chord.
Check: Instrument-Gehäuse mit drei Servo-Klappe-Positionen und klarer Tasten-Beschriftung
Tipp: Klappen oben (senkrecht stehend), Tasten (touch-Pads) darunter beschriften — intuitives Piano-Layout.
Klappe S1 (Note A) und S2 (Note B) aufbauen
S1 und S2 (180°) mit Plastik-Horn bestücken. Karton-Klappe (8 × 3 cm) flächig auf Horn kleben. Klappe in Ruhe senkrecht (zu), bei Tastendruck waagerecht (offen).
Check: S1 öffnet bei touch1. S2 öffnet bei touch2. Beide schließen wenn Taste losgelassen.
Tipp: Klappen-Mechanik: geschlossen (senkrecht) in Ruhe, offen (waagerecht) beim Tastendruck. Kurze, weiche Bewegung für schnelle Reaktion.
Klappe S3 (Chord + Cap) und DC-Shaker aufbauen
S3 mit drei Positionen: zu, halb (CapSensor), ganz offen (Chord). Kleiner Propeller (4 × 4 cm Kartonblätter) auf DC-Motor-Mitnehmer kleben — dreht bei Chord als rhythmisches Element. S4/S5 (360°) als Resonanz-Dreher: S4 bei Note A, S5 bei Note B.
Check: S3 öffnet komplett bei Chord (beide Tasten) oder halb bei CapSensor. DC-Motor dreht bei Chord.
Tipp: S3 kennt drei Zustände: zu, halb offen (Cap-Taste), ganz offen (Chord).
Leichtgängigkeits-Test ohne Strom
Alle drei Klappen von Hand auf zu und offen drehen: kein Klemmen? Propeller von Hand drehen: frei? Erst dann ProtoPeaks einschalten.
Check: Alle drei Klappen öffnen und schließen frei. Propeller dreht ungehindert.
Tipp: Klappen müssen in Ruhe wirklich senkrecht stehen (nicht schräg hängen) — Hebelarm ausbalancieren.
MODE 3 aktivieren — Piano spielen
Reaktionsspiele → MODE 3. touch1 drücken: S1 öffnet, Ton A erklingt. touch2: S2 öffnet, Ton B erklingt. Beide gleichzeitig: alle Klappen auf, DC-Shaker an, Buzzer HEARTBEAT. CapSensor berühren: S3 halb offen, dritter Ton. Verschiedene Muster spielen.
Check: touch1 öffnet S1 + Buzzer-Ton. touch2 öffnet S2 + anderen Ton. Beide gleichzeitig: alle Klappen + DC-Shaker + HEARTBEAT.
Tipp: Buzzer-Unterschied deutlich hörbar: touch1 höherer Ton, touch2 tieferer Ton, Chord rhythmisch, CapSensor mittlerer Ton.
Musik-Muster entwickeln
Eigene Rhythmus-Muster ausprobieren: Alle 4 Eingaben kombiniert. 'Wer kann das komplizierteste Muster ohne Fehler spielen?' als Mini-Spiel. DC-Motor gibt dem Chord seinen charakteristischen Rhythmus-Shaker-Feel.
Check: Sequenz aus touch1/touch2/Chord erzeugt erkennbares Rhythmusmuster
Tipp: Einfache Muster: A-B-A-B (Wechsel), A+B-Pause-A+B (Chord-Betonung).
Troubleshooting
- Klappen reagieren träge — Verzögerung zwischen Touch und Bewegung — startMove() wird nur ausgeführt wenn die vorherige Bewegung abgeschlossen ist. Bewegungsdauer verkürzen für schnellere Reaktion.
- Chord wird nicht erkannt — beide Tasten gleichzeitig funktioniert nicht — Chord erfordert touch1 und touch2 gleichzeitig. Falls S1 und S2 nicht gleichzeitig reagieren: Pads näher zusammen positionieren für einfachere gleichzeitige Berührung.
Modifikationen & Sicherheit
- Pro-Tipp: Klappen mit buntem Papier überziehen für Piano-Look — jede Taste eine eigene Farbe.
- Erweiterung: Simon-Says-Muster mit dieser Mechanik — ProtoPeaks spielt Sequenz vor, Spieler wiederholt.
- Sicherheit: DC-Motor-Propeller mit Karton-Gitter abdecken da er bei Chord unerwartet startet — Fingerqütschgefahr minimal aber vorhanden.
Wichtige Code-Teile
// Tasten-Zustand
bool noteA = touch1;
bool noteB = touch2;
bool chord = touch1 && touch2;
bool capNote = RemoteCapTouch;
// Klappen mit startMove (nur wenn nicht in Bewegung)
if(!ismoving[1]) servocontroller.startMove(1, noteA ? 2000 : 1000, 100);
if(!ismoving[2]) servocontroller.startMove(2, noteB ? 2000 : 1000, 100);
if(!ismoving[3]) servocontroller.startMove(3, chord ? 2000 : (capNote ? 1700 : 1000), 100);
// S4/S5 (360°): Resonanz-Dreher
servocontroller.setServoPulse(4, noteA ? 1700 : 1500);
servocontroller.setServoPulse(5, noteB ? 1300 : 1500);
// DC: Rhythmus-Shaker bei Chord
setMotorspeed(chord ? 50 : 0);
// Buzzer: verschiedene 'Töne'
if(chord) Buzzer.setMode(HEARTBEAT);
else if(noteA) Buzzer.setValue(180);
else if(noteB) Buzzer.setValue(100);
else if(capNote) Buzzer.setValue(220);
else Buzzer.setValue(0);Ä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 4 — STICK CATCH — 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.
- MODE 7 — A/B TRAINER — JoystickButton wählt zufällig A (touch1) oder B (touch2) und gibt das Signal nach zufälliger Verzögerung. Der Spieler muss blitzschnell die richtige Taste drücken. S1 zeigt A, S2 zeigt B, S3 die Trefferquote als Zeiger. Trefferquote und Bestzeit werden über alle Runden akkumuliert.