Simon Game - xylofoon versie


een beetje spelinterface maak ik... Kortom, het zal het spel simon... behalve veel harder en xylofoon stijl :)

(Voor degenen die niet weten, simon spel is het volgende:
http://www.YouTube.com/watch?v=4YhVyt4q5HI)

Materialen / gereedschappen zijn vrij ongecompliceerd...

Ik gebruikte een laser cutter, maar u kunt dit handmatig doen
Multiplex
Acryl
Arduino UNO
8 Piezo sensoren
8 LEDS

Tijdelijke code heeft gelegd, het ontbreken van geluid maar dat komt snel genoeg

Snelle video, dag en nacht
http://www.YouTube.com/watch?v=ZcibT5wFgy4&feature=Youtu.be

Opmerking: Tenzij je comfortabel voelt met codering en spelen rond met verschillende weerstand, zou ik avise zodat deze in een grotere schaal!
Goed voorbeeld: door

[code]
Const int buttonSensor = A5;

int led1 = 5; LED pinnen
int led2 = 4;
int led3 = 3;
int led4 = 2;
int draaien = 0;
int inputRead = 0;
/ * int Ingang2 = laag;
int input3 = laag;
int input4 = laag; * /

int randomArray [50]; Opzettelijk lang voor het opslaan van maximaal 100 ingangen (twijfelachtig iedereen krijgt dit ver)
int inputArray [50];

VOID Setup {}

Serial.begin(9600);

pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);

randomSeed(analogRead(0)); Met de randomArray voor de uitgangsfunctie voor het genereren van "meer willekeur" toegevoegd

voor (int y = 0; y < = 99; y ++) {//For verklaring lus via de output en input functies
output();
input();
}

}

void loop {//Unused void loop, maar om wat voor reden niet het compileren zonder deze /shrug

}

VOID output() {//function voor het genereren van de array worden geëvenaard door de speler

voor (int y = beurt; y < = beurt; y ++) {//Limited door de draai-variabele
Serial.println(""); Sommige uitgang voor seriële volgen
Serial.Print ("draaien:");
Serial.Print(y);
Serial.println("");
randomArray [y] = willekeurige (1, 5); Een willekeurig getal (1-4) toe te wijzen aan de randomArray [y], tellen y wordt de beurt
voor (int x = 0; x < = beurt; x ++) {}

Serial.Print(randomArray[x]);

Als (randomArray [x]
== 1) {//if verklaringen om weer te geven van de opgeslagen waarden in de matrix
digitalWrite (led1, hoge);
delay(500);
digitalWrite (led1, laag);
delay(100);
}

Als (randomArray [x]
== 2) {
digitalWrite (led2, hoge);
delay(500);
digitalWrite (led2, laag);
delay(100);
}

Als (randomArray [x]
== 3) {
digitalWrite (led3, hoge);
delay(500);
digitalWrite (led3, laag);
delay(100);
}

Als (randomArray [x]
== 4) {
digitalWrite (led4, hoge);
delay(500);
digitalWrite (led4, laag);
delay(100);
}
}
}
}



VOID input() {//Function voor het toestaan van gebruikersinvoer en controleren van de invoer tegen de gegenereerde matrix

voor (int x = 0; x < = beurt ;){//Statement beheerd door beurt tellen
/ * Ingang1 = digitalRead(switch1);
Ingang2 = digitalRead(switch2);
input3 = digitalRead(switch3);
input4 = digitalRead(switch4); * /

inputRead = analogRead(buttonSensor);
Serial.println(inputRead);
delay(100);

Als (inputRead > 685) {//Checking voor knop duwen
digitalWrite (led1, hoge);
playTone(1915, 200); //Passes Toon waarde en de duur van de Toon naar de playTone-functie
delay(200);
digitalWrite (led1, laag);
inputArray [x] = 1;
delay(50);
Serial.Print("");
Serial.Print(1);
Als (inputArray [x]! = randomArray[x]) {//Checks waarde input door gebruiker en controleert het tegen
Fail();                              de waarde op dezelfde plek op de gegenereerde array
} //The fail functie wordt aangeroepen als het niet overeenkomt met
x ++;
}

Als ((inputRead > 600) & & (inputRead < 680)) {}
digitalWrite (led2, hoge);
delay(200);
digitalWrite (led2, laag);
inputArray [x]
= 2;
delay(50);
Serial.Print("");
Serial.Print(2);
Als (inputArray [x]
! = randomArray [x]
) {
Fail();
}
x ++;

}

Als ((inputRead > 535) & & (inputRead < 590)) {}
digitalWrite (led3, hoge);
delay(200);
digitalWrite (led3, laag);
inputArray [x]
= 3;
delay(50);
Serial.Print("");
Serial.Print(3);
Als (inputArray [x]
! = randomArray [x]
) {
Fail();
}
x ++;

}

Als ((inputRead > 400) & & (inputRead < 525)) {}

digitalWrite (led4, hoge);
delay(200);
digitalWrite (led4, laag);
inputArray [x]
= 4;
delay(50);
Serial.Print("");
Serial.Print(4);
Als (inputArray [x]
! = randomArray [x]
) {
Fail();

Serial.Print("Failed");
}
x ++;

}

}
delay(500);
beurt ++; Verhoogt de beurt tellen, ook de laatste handeling voordat de uitgangsfunctie opnieuw
}

VOID fail() {//Function gebruikt als de speler niet overeenkomt met de reeks opdrachten

voor (int y = 0; y < = 5; y ++) {//Flashes verlichting voor mislukking
digitalWrite (led1, hoge);
digitalWrite (led2, hoge);
digitalWrite (led3, hoge);
digitalWrite (led4, hoge);
delay(200);
digitalWrite (led1, laag);
digitalWrite (led2, laag);
digitalWrite (led3, laag);
digitalWrite (led4, laag);
delay(200);
}
delay(500);
Draai = -1; Hiermee herstelt u terecht waarde het spel opnieuw gestart zonder noodzaak van een reset-knop
} [/ code]

Gerelateerde Artikelen

Simon Game

Simon Game

Description:Dit is een door holes versie van Sparkfun van populaire surface mount Simon kit. Deze nieuwere versie wordt geleverd met een ATmega328 in plaats van de ATmega168. Alle componenten zijn via-hole, waardoor deze kit grote voor beginners. Bij
How to: Simon Game

How to: Simon Game

Dit is een instructable op hoe samen te stellen het Simon spel - door-Hole solderen Kit bracht uit Sparkfun.com volgens hun instructiesStap 1: Stap 1: apparatuurIn de kit die u verdient• 1 x ATmega328-voorgeprogrammeerd met Simon firmware• 1 x Buzzer
Vrij Simple Simon - de evolutie van een Arduino-game

Vrij Simple Simon - de evolutie van een Arduino-game

belangrijke mededeling: (d.w.z. relevant) eindversie is bij de laatste stap van dit instructable.Als u bouwen van een Simon wilt, is dat de aanbevolen versie.De rest van de show van de stappen hoe dit zich ontwikkeld van een kale spel voor LED 13 en
Totale Recall - Arduino Simon Says op steroïden!

Totale Recall - Arduino Simon Says op steroïden!

Total Recall is een Simon gebaseerd spel voor de Arduino. Uw elementaire Arduino Simon Game bestaat uit 4 knoppen, 4 LEDs, een Arduino, wat code en misschien een spreker en geluidseffecten. Total Recall neemt dingen een stap verder door het toevoegen
DIY spel & horloge

DIY spel & horloge

Terug in de jaren 80 toen ik een kind was, mijn ouders kochten me een spel en horloge spel genaamd ongedierte. Het was eigenlijk een TimeOut verdelger. Het was een heel eenvoudig spel met alleen links en rechts besturingselementen en het idee was om
Tetris geïnspireerd schoenen

Tetris geïnspireerd schoenen

waarom niet Toon uw liefde voor retro games door het dragen van hen op je voeten. Maken van schoenen als deze kost tijd, maar zal kijken awesome zodra u wordt gedaan!Dit is mijn tweede Instructable ooit, dus ik hoop dat het een verbetering is :)Stap
Beleg van het kasteel! (De "tapijt versie" van de 'Artillerie' PC-game)

Beleg van het kasteel! (De "tapijt versie" van de 'Artillerie' PC-game)

Ik ben een ernstige artilery game fan; Dit is het spel met die kleine tanks schieten met elkaar zijn verbonden in 2 dimensies op mooie ballistische bogen. Misschien is de meest bekende titel 'Schorched aarde' of het 'houwitser'. Sommige van hen zijn
Simon zegt Narnia kledingkast Game

Simon zegt Narnia kledingkast Game

dit jaar op de Trunk O behandelen in mijn kerk maakte ik het spel "Simon zegt Narnia". Dit is de elektronische spel die Simon door Hasbro ingebouwd in een houten kast zoals in de film The Chronicles of Narnia, "The Lion, the Witch and the W
How to Play DOS Games op nieuwe versies van Windows.

How to Play DOS Games op nieuwe versies van Windows.

De oude DOS gebaseerde games zijn niet langer compatibel met de nieuwere Windows-besturingssysteem, maar u kunt nog steeds de oude games spelen met een DOS-emulator. Deze instructies kunt u deze simulatie voor DOS in ongeveer een uur instellen. Kenni
Mathemagic Brain Game (kleine en middelgrote versie)

Mathemagic Brain Game (kleine en middelgrote versie)

hier is een spel van de hersenen die we gebruikt om te spelen in onze school dagen. Het was nogal verwarrend te maken wanneer de nummers groter krijgen. Hier is de eenvoudige 10 cijferig basisversie met het medium een thats 55 cijfers versie.Als u To
Game Boy Advance Dock (Italiaanse versie)

Game Boy Advance Dock (Italiaanse versie)

Questo é il mio dok costruito con un Game Boy Advance! Connesso con una presa usb, può ricaricare la maggior parte degli iPod/iPhone. Prossimamente la guida passo dopo passo.
Hoe te spelen van geïmporteerde games op uw N64 met behulp van een N64 paspoort plus versie 3

Hoe te spelen van geïmporteerde games op uw N64 met behulp van een N64 paspoort plus versie 3

deze video ziet u hoe u kunt spelen PAL op NTSC N64s en vice versa.
Hoe te downloaden van de originele versie van Angry Birds Game App van Google Play?

Hoe te downloaden van de originele versie van Angry Birds Game App van Google Play?

Angry Birds is uitgegroeid tot een van's werelds meest gespeelde games. Alles wat u nodig hebt is de toegang tot breedbandinternet, via uw smartphone. Voor degenen onder u het originele spel spelen op uw smartphone willen zou, wil ik stel voor dat je
Simon Says game

Simon Says game

Ik heb een elektronisch geheugenspel gemaakt in de stijl van "Simon Says" (een icoon van de jaren 70). Het gebaseerd op een ARM cortex M0 microcontroller. U vindt een gedetailleerde bouw handleiding, schakelschema's en broncode op mijn website.