kk logo

Dieses Projekt kombiniert präzises Timing mit technischer Analyse. Ziel des Spiels ist es, sechs aufeinanderfolgende Level zu meistern, wobei die Anforderungen an das Reaktionsvermögen stetig steigen. Drücke den Taster immer wenn die LED leuchtet (+/ - 5%), hast du es geschafft, blinkt die nächste LED und zwar schneller... 

Spiel 4 aus der 200 Arduino Spiele Sammlung.

3 Arduino Millisekunden Master Spiel

Der Spielablauf

  • Sequenzieller Fortschritt: Das Spiel besteht aus sechs Stufen. Die Intervalle verkürzen sich dabei schrittweise von 800 ms bis auf hochfrequente 100 ms.
  • Visueller Taktgeber: Pro Level blinkt eine NeoPixel-LED in einem festen Rhythmus. Der Spieler muss den Taster genau in dem Moment betätigen, in dem die LED leuchtet.
  • Die 5%-Hürde: Um ein Level erfolgreich abzuschließen, darf die Abweichung vom Idealzeitpunkt maximal 5 % der aktuellen Intervallzeit betragen. Bei 100 ms entspricht dies einem Zeitfenster von lediglich 5 Millisekunden.
  • Manipulationsschutz: Um ein unkontrolliertes Drücken des Tasters zu verhindern, ist eine Sperre aktiv. Der Druck wird erst gewertet, nachdem die LED mindestens einen vollständigen Blink-Zyklus durchlaufen hat.

Der Hardware Anschluss

millis master arduino led zeit spiel

Analyse und Feedback

Nach jedem Tastendruck liefert das System eine detaillierte Auswertung auf dem LCD:

  • Differenzanzeige: Das Display zeigt die Abweichung auf die Tausendstelsekunde genau an (z. B. +0,008s).
  • Fehleranalyse: Ein negatives Vorzeichen signalisiert eine zu frühe Reaktion, ein positives Vorzeichen eine zu späte.

1. Das Herzstück: Die 5%-Präzisionsprüfung

Hier wird entschieden, ob du ein "Master" bist oder "Daneben" liegst.

Code:

float toleranz = zielZeit * 0.05;

if (pressTime >= (0 - (long)toleranz) && pressTime <= (long)(zielZeit + toleranz)) {
// Treffer innerhalb der 5% Zone!
}


Erklärung: Dies ist die mathematische Hürde des Spiels. Das Programm berechnet für jedes Level dynamisch ein Zeitfenster. Bei deinem schnellsten Level von 100 ms bedeutet das ein winziges Fenster von gerade einmal 5 Millisekunden vor oder nach dem Leuchten. Diese Zeilen machen den Unterschied zwischen einem einfachen Kinderspiel und einem professionellen Reaktionstest aus.

 2 Arduino Millisekunden Master Spiel deine time skills

2. Die Blink-Sperre (Anti-Spam-Logik)

Damit niemand durch bloßes "Dauerhämmern" gewinnt, haben wir diese Sicherheitsabfrage eingebaut.

Code:

if (jetzt - levelStartZeit < zyklusDauer) {
buttonPressed = false; // Ignorieren, da zu früh gedrückt
}

Erklärung: Diese Logik erzwingt Fairness. Sie prüft, wie viel Zeit seit dem Start des aktuellen Levels vergangen ist. Wenn du drückst, bevor die LED mindestens einmal komplett aufgeleuchtet und wieder erloschen ist (), wird der Druck einfach ignoriert. Der Spieler wird so gezwungen, sich auf den Rhythmus einzulassen, anstatt den Zufall entscheiden zu lassen.

3. Die Highspeed-Analyse (Feedback-System)

Das Spiel sagt dir nicht nur "getroffen", sondern analysiert deine menschliche Verzögerung.

Code:

float mitte = zielZeit / 2.0;
float abweichungSekunden = (pressTime - mitte) / 1000.0;

if (abweichungSekunden >= 0) lcd.print("+");
lcd.print(abweichungSekunden, 3); 


Erklärung: Um dich zu verbessern, musst du wissen, wie du daneben lagst. Dieser Code berechnet die exakte Mitte der Leuchtphase als Nullpunkt. Ein minus (-) zeigt dir, dass du zu hektisch warst, ein plus (+) zeigt eine langsame Reaktion. Durch die Umrechnung in Sekunden mit drei Nachkommastellen erhältst du ein Feedback auf die Tausendstelsekunde genau – das ist Profi-Niveau.

Der Arduino Code für das Spiel

 

Ronnie

schwäbischer tüftler und bastler, kraftsportler, neurodivers, 45 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

1.2 ronnie berzins

Kontakt

visitenkarte