Projekt A05 - Simon Says mit Arduino
Arduino Uno, 4x LEDs (rot, gelb, grün, blau), 4x Taster, Piezo-Summer
Das Spiel zeigt eine Sequenz von LEDs. Der Spieler muss sie nachspielen. Jedes Level fügt ein Element hinzu!
const int LED[] = {2, 3, 4, 5};
const int BTN[] = {6, 7, 8, 9};
const int TONES[] = {262, 330, 392, 523};
int sequence[20];
int level = 0;
void showSequence() {
for (int i = 0; i < level; i++) {
int led = sequence[i];
digitalWrite(LED[led], HIGH);
tone(10, TONES[led], 400);
delay(500);
digitalWrite(LED[led], LOW);
delay(200);
}
}
void addToSequence() {
sequence[level] = random(0, 4);
level++;
}Jede Farbe hat einen eigenen Ton: C (262Hz), E (330Hz), G (392Hz), C' (523Hz)
int getButtonPress() {
for (int i = 0; i < 4; i++) {
if (digitalRead(BTN[i]) == LOW) {
digitalWrite(LED[i], HIGH);
tone(10, TONES[i], 150);
while (digitalRead(BTN[i]) == LOW);
digitalWrite(LED[i], LOW);
return i;
}
}
return -1;
}
// In loop(): Eingabe vergleichen
if (button == sequence[position]) {
position++; // Richtig!
} else {
gameOver = true; // Falsch!
}Du hast ein Memory Game programmiert!
A06: Binary Counter