MODE 6 — MEMORY

Medium · 1h · Fast kostenlos

Ziel & Anwendung

Das Kurzzeitgedächtnis-Spiel: JoystickButton generiert eine zufällige 4-Schritt-Sequenz aus touch1/touch2, spielt sie auf S1/S2 vor und der Spieler muss sie korrekt wiederholen. Jeder korrekte Schritt zählt zum Score (max. 4). Bei perfekter Wiederholung ertönt HEARTBEAT.

  • Sequenz-Anzeige und Eingabe-Erfassung für ein Gedächtnisspiel mit 4 Schritten implementieren.
  • Servo-Klappen als visülle Sequenz-Vorspieler und Eingabe-Rückmeldung nutzen.
  • Score-Vergleich zwischen gezeigter Sequenz und Spieler-Eingabe mit Buzzer-Rückmeldung.

Anschluss & Funktion

Motoren am Board

AnschlussMotorAufgabe
S1180°-ServoKlappe für Zeichen 1, öffnet beim Vorspielen und bei Eingabe
S2180°-ServoKlappe für Zeichen 2, öffnet beim Vorspielen und bei Eingabe
S3180°-ServoScore-Zeiger, zeigt Anzahl korrekt gemerkter Schritte
S4360°-ServoDreht während die Sequenz vorgespielt wird
S5360°-ServoDreht gegenläufig während der Eingabe-Phase
S6180°-ServoZeigt den Fortschritt innerhalb der Sequenz
STEPPERSchrittmotorZählt bei perfekt nachgespielter Sequenz mechanisch mit
DCDC-MotorKurze Vibration bei perfekter Wiederholung

Materialliste

  • Kartonstreifen je ca. 8 × 2 cm als Zeiger (3 Stück)
  • Zwei farbige Touch-Pads aus Karton (touch1=blau, touch2=rot) als Eingabe-Tasten
  • Kleines Anzeige-Panel für S1 und S2 (zwei Servo-Klappen nebeneinander)
  • Filzstift für Beschriftung
  • Klebeband und Heißkleber

Step-by-Step Tutorial

  1. Zwei-Klappen-Spielfeld aufbauen

    Karton-Spielfeld (20 × 15 cm). Links: S1-Klappe blau + touch1-Pad blau beschriftet. Rechts: S2-Klappe rot + touch2-Pad rot beschriftet. S3 unten als Score-Zeiger. Trennlinie zwischen beiden Seiten aus hochkant gestelltem Karton.

    Check: S1 (blau) und S2 (rot) als Klappen klar getrennt — touch1 links blau, touch2 rechts rot

    Tipp: Farbliche Zuordnung ist entscheidend: S1=blau=touch1, S2=rot=touch2. Spieler muss sofort sehen welche Klappe welcher Taste entspricht.

  2. Klappen S1 und S2 montieren

    S1 und S2 (180°) mit Plastik-Horn und Klappen-Karton (8 × 3 cm). Offen bei Signal, zu in Ruhe. Vorspiel-Phase: nacheinander jedes Element öffnen, entsprechenden Buzzer-Ton abspielen.

    Check: S1 öffnet bei Sequenz-Element 1. S2 öffnet bei Sequenz-Element 2. Klappen öffnen nacheinander, nie gleichzeitig.

    Tipp: Zwischen den Elementen kurze Pause — der Spieler braucht Zeit zum Einprägen.

  3. Eingabe-Phase und Score aufbauen

    Spieler drückt touch1 oder touch2 in der Reihenfolge, die vorgespielt wurde. S1/S2 zeigen aktuellen Tastendruck zurück. Nach 4 Eingaben: Vergleich mit der Vorgabe. Score = Anzahl korrekter Positionen (0–4). S3 zeigt Score als Zeiger.

    Check: In der Eingabe-Phase werden touch1/touch2-Tipps erfasst. Score zählt korrekte Positionen.

    Tipp: Nur kurzes Antippen zählt — nicht halten. Sonst werden mehrere Eingaben registriert.

  4. Leichtgängigkeits-Test ohne Strom

    S1 und S2 von Hand auf zu und offen: klar erkennbar? S3 von Hand drehen: kein Klemmen? Erst dann einschalten.

    Check: Beide Klappen öffnen und schließen frei. S3-Zeiger dreht leicht.

    Tipp: Klappen müssen in Ruhe komplett geschlossen aussehen — optisch klar ob Klappe auf oder zu ist.

  5. MODE 6 aktivieren — Sequenz merken

    Reaktionsspiele → MODE 6. JoystickButton: zufällige 4-Schritt-Sequenz wird auf Klappen vorgezeigt. Dann: Spieler muss dieselbe Reihenfolge mit touch1/touch2 eingeben. S3 zeigt Score (0–4 korrekte). Alle 4 richtig: HEARTBEAT.

    Check: JoystickButton: Sequenz wird vorgezeigt. Dann Spieler-Eingabe. Score-Anzeige danach.

    Tipp: Auf die Reihenfolge der Klappen konzentrieren: links=blau=touch1, rechts=rot=touch2. 4 Schritte merken.

  6. Schwierigkeit steigern

    Mehrere Runden spielen. Ziel: 4/4 Score. Nach 5 erfolgreichen Runden: Vorspielzeit verkürzen. Display zeigt Phase, Index und Score.

    Check: Sequenz-Länge mental verlängern oder Vorspielzeit verkürzen

    Tipp: Standard: 4 Elemente. Einfache Modifikation: Vorspielzeit reduzieren für schnelleres Vorspiel.

Troubleshooting

  • Score immer 0 obwohl richtige Sequenz eingegeben — Eingabe und Vorgabe werden verglichen. Finger nur kurz tippen (steigende Flanke nötig, kein langes Halten).
  • Vorspiel-Phase überspringt Elemente zu schnell — Zeitintervall der Vorspiel-Phase prüfen — sollte für jedes Element ausreichend Zeit lassen.

Modifikationen & Sicherheit

  • Pro-Tipp: Zufalls-Seed per Encoder ändern — gibt immer neue Sequenzen statt zufällig wiederholter.
  • Erweiterung: Drei Tasten (touch1, touch2, CapSensor) für höhere Varianz.
  • Sicherheit: Vorspiel-Phase nicht unterbrechen — touch-Eingaben während des Vorspiels werden ignoriert.

Wichtige Code-Teile

// JoystickButton: zufällige Sequenz generieren
if(isButtonPressed(JoystickButton, lastJoyBtn5) && seqPhase == 0) {
    for(int i = 0; i < 4; i++) seqTarget[i] = random(1, 3);
    seqPhase = 1; seqIdx = 0; seqTimer5 = millis();
}
// Phase 1: Sequenz vorzeigen (je 500ms)
case 1:
    if(millis() - seqTimer5 > 500) {
        servocontroller.setServoPulse(1, seqTarget[seqIdx] == 1 ? 2000 : 1000);
        servocontroller.setServoPulse(2, seqTarget[seqIdx] == 2 ? 2000 : 1000);
        Buzzer.setValue(seqTarget[seqIdx] == 1 ? 180 : 100);
        seqIdx++; seqTimer5 = millis();
    }
// Phase 2: Eingabe
case 2:
    if(isButtonPressed(touch1, lastT1_5)) { seqInput[seqIdx] = 1; seqIdx++; }
    if(isButtonPressed(touch2, lastT2_5)) { seqInput[seqIdx] = 2; seqIdx++; }
// Score berechnen
if(seqIdx >= 4) {
    seqScore = 0;
    for(int i = 0; i < 4; i++) if(seqInput[i] == seqTarget[i]) seqScore++;
    seqPhase = 3;
}
servocontroller.setServoPulse(3, map(seqScore, 0, 4, 1000, 2000));
if(seqScore == 4) Buzzer.setMode(HEARTBEAT);

Ähnliche Projekte

  • MODE 3 — CAP-PIANO — 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.
  • MODE 8 — SPRINT — Ein Sprint-Reaktionsspiel mit drei Zielen: touch1, touch2 und CapSensor werden in zufälliger Reihenfolge aktiv — S1/S2/S3 zeigen welches Ziel als nächstes gefragt ist. 8 Treffer in Folge so schnell wie möglich: Die Gesamtzeit in Sekunden wird gemessen und der Rekord gespeichert.
  • MODE 9 — TARGET SHOT — S1 dreht langsam durch den vollen Hub während eine zufällige Zielposition auf S2 angezeigt wird. touch1 oder touch2 stoppen S1 — Abweichung zum Ziel bestimmt den Score. S3 zeigt die Score-Güte. DC gibt kurzen Rückstoß bei Präzisionstreffer. Ähnlich wie Servo-Flash, aber mit langsamem linearem Lauf.