SMART brädspelet (7 / 7 steg)

Steg 7: Den färdiga produkten



Detta är en kombinerad kodfil med spelenhet från huvudspelet av denna instrucable som detta instructable är en förlängd. Om denna del av spelet är att köras ensam, måste koden nedan tas bort av de spel som inte ingår.

Vars för Gameloop
#include < liquidcrystal.h >
int gameChooser = 0;
int ChoosenGame = 0;
LiquidCrystal lcd (7, 6, 5, 4, 3, 2);
int buttonGCPin = 10;
int buttonSelectPin = 11. < /liquidcrystal.h >< /p >< p > //Global vars
int liv = 3;
int TurnEnable = 1;
int Turn = 0;
booleska currentButtonState = låg;
booleska lastButtonState = låg; < /p >< p > //Vars för buzzwire
int wireRodPin = A3;
int wireFeedbackPin = 53;
int BuzzHit = 0; < /p >< p > //Vars för wirepuller
int wireOut1 = 31;
int wireIn1 = 32.
int wireOut2 = 33.
int wireIn2 = 34.
int wireOut3 = 35.
int wireIn3 = 36.
booleska current1 = låg;
booleska current2 = låg;
booleska current3 = låg;
booleska previous1 = låg;
booleska previous2 = låg;
booleska previous3 = låg;
int randNumber = 0; < /p >< p > //Vars för noisedetector
int micPin = A2;
int micValue = 0;
int micCounter = 1;
int micTimer = 0;
int micSeconds = 0; < /p >< p > //Vars för frågesport
LiquidCrystal lcdquiz (44, 45, 46, 47, 48, 49);
int buttonQuizPin = 52;
booleska currentQuizButtonState = låg;
booleska lastQuizButtonState = låg; < /p >< p > //Vars för Simon Says
#include < tone.h >
Tone speakerpin; < /tone.h >< /p >< p > int starttune [] = {NOTE_C4, NOTE_F4, NOTE_C4, NOTE_F4, NOTE_C4, NOTE_F4, NOTE_C4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_E4, NOTE_F4, NOTE_G4};
int Företagsvaraktighet 2 [] = {100, 200, 100, 200, 100, 400, 100, 100, 100, 100, 200, 100, 500};
int Observera [] = {NOTE_C4, NOTE_C4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_C5};
int längd [] = {100, 100, 100, 300, 100, 300};
int knappen [] = {26, 27, 28, 29}; Vier knop pins
int ledpin [] = {22, 23, 24, 25}; LED stift
int turnss = 0; turnss counter
int buttonstate = 0; knappen stat checker
int randomArray [100]. Verschillende volgorde
int inputArray [100]; < /p >< p > void setup() {
Serial.BEGIN(9600);
LCD.BEGIN (16, 2); < /p >< p > //GameLoop inställningar
pinMode (buttonGCPin, ingång);
pinMode(buttonSelectPin, INPUT); < /p >< p > //Buzzwire inställningar
pinMode (wireRodPin, ingång);
pinMode(wireFeedbackPin, OUTPUT); < /p >< p > //WirePuller inställningar
pinMode (wireOut1, produktionen);
pinMode (wireIn1, ingång);
pinMode (wireOut2, produktionen);
pinMode (wireIn2, ingång);
pinMode (wireOut3, produktionen);
pinMode (wireIn3, ingång);
randomSeed(analogRead(A7));
randNumber = random(3);
randNumber ++;
Serial.println(randNumber); < /p >< p > //Noisedetector inställningar
pinMode(micPin, INPUT); < /p >< p > //Quiz inställningar
lcdquiz.BEGIN (16, 2);
pinMode(buttonQuizPin, INPUT); < /p >< p > / / Simon säger Setup
speakerpin.BEGIN(30); talaren op stift 10 < /p >< p > för (int jag = 0; jag < 4; i ++) {
pinMode (ledpin [i], produktionen);
} < /p >< p > för (int jag = 0; jag < 4; i ++) {
pinMode (knappen [i], mata);
digitalWrite (knappen [i], hög);
} < /p >< p > randomSeed(analogRead(15)); Läggas till för att generera "mer slumpmässighet" med randomArray för funktionen output
för (int thisNote = 0; thisNote < 13; thisNote ++) {
spela nästa anteckning:
speakerpin.Play(starttune[thisNote]);
Håll anteckningen:
om (thisNote == 0 || thisNote == 2 || thisNote == 4 || thisNote == 6)
{
digitalWrite (ledpin [0], hög);
}
om (thisNote == 1 || thisNote == 3 || thisNote == 5 || thisNote == 7 || thisNote == 9 || thisNote == 11)
{
digitalWrite (ledpin [1], hög);
}
om (thisNote == 8 || thisNote == 12)
{
digitalWrite (ledpin [2], hög);
}
om (thisNote == 10)
{
digitalWrite (ledpin [3], hög);
}
Delay(duration2[thisNote]);
stopp för nästa anteckning:
speakerpin.stop();
digitalWrite (ledpin [0], låg);
digitalWrite (ledpin [1], låg);
digitalWrite (ledpin [2], låg);
digitalWrite (ledpin [3], låg);
Delay(25);
}
Delay(1000);
} < /p >< p > void loop() {
om (vända == 0 & & TurnEnable == 1) {
lcd.setCursor (0, 0);
LCD.Print ("Player 1 turn");
lcd.setCursor (0, 1);
LCD.Print ("väntan för spelet");
currentButtonState = digitalRead(buttonSelectPin);
om (currentButtonState == hög & & lastButtonState == låg) {
gameChooser = 1;
TurnEnable = 0;
LCD.Clear();
}
}
om (vända == 1 & & TurnEnable == 1) {
lcd.setCursor (0, 0);
LCD.Print ("spelare 2 turn");
lcd.setCursor (0, 1);
LCD.Print ("väntan för spelet");
currentButtonState = digitalRead(buttonSelectPin);
om (currentButtonState == hög & & lastButtonState == låg) {
gameChooser = 1;
TurnEnable = 0;
LCD.Clear();
}
} < /p >< p > om (gameChooser == 1) {
gamePicker();
}
lastButtonState = currentButtonState; < /p >< p > //Simon säger
om (ChoosenGame == 1) {
lcd.setCursor (0, 0);
LCD.Print("Playing:");
lcd.setCursor (0, 1);
LCD.Print ("Simon säger");
om (bor == 0) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("är Gameover!");
failsound();
Delay(2500);
ChoosenGame = 0;
turnss = 0;
TurnSwitch();
} else om (bor == 5) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("fick en punkt!");
victorysound();
Delay(2500);
ChoosenGame = 0;
turnss = 0;
TurnSwitch();
} annat {
SimonSays();
}
} < /P >< p > / / WirePuller
om (ChoosenGame == 2) {
lcd.setCursor (0, 0);
LCD.Print("Playing:");
lcd.setCursor (0, 1);
LCD.Print("Wirepuller");
wirepuller();
om (bor == 0) {
lcdquiz.Clear();
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("är Gameover!");
failsound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
} else om (bor == 5) {
lcdquiz.Clear();
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("fick en punkt!");
victorysound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
}
}
BuzzWire
om (ChoosenGame == 3) {
lcd.setCursor (0, 0);
LCD.Print("Playing:");
lcd.setCursor (0, 1);
LCD.Print("BuzzWire");
Buzzwire();
om (bor == 0) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("är Gameover!");
failsound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
} else om (bor == 5) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("fick en punkt!");
victorysound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
}
}
NoiseDetector
om (ChoosenGame == 4) {
lcd.setCursor (0, 0);
LCD.Print("Playing:");
lcd.setCursor (0, 1);
LCD.Print("Noisedetector");
noisedetector();
om (bor == 0) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("är Gameover!");
failsound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
} else om (bor == 5) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("fick en punkt!");
victorysound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
}
}
Frågesport
om (ChoosenGame == 5) {
Quiz();
om (bor == 0) {
LCD.Clear();
lcdquiz.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("är Gameover!");
failsound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
} else om (bor == 5) {
LCD.Clear();
lcdquiz.Clear();
lcd.setCursor (0, 0);
LCD.Print ("Spelaren" + sträng (Turn + 1));
lcd.setCursor (0, 1);
LCD.Print ("fick en punkt!");
victorysound();
Delay(2500);
ChoosenGame = 0;
TurnSwitch();
}
}
}</p><p>////////////////////////////////////////////////////////////////////////
// //
Spel Picker funktioner / /
// //
< /p >< p > void TurnSwitch() {
om (vända == 0) {
Vända = 1;
TurnEnable = 1;
bor = 3;
} else om (vända == 1) {
Vända = 0;
TurnEnable = 1;
bor = 3;
}
} < /p >< p > void gamePicker() {
int sensorValue = analogRead(A0);
spel kies-menyn
om (sensorValue < 200) {
lcd.setCursor (0, 0); //
LCD.Print ("> Simon Says <");
lcd.setCursor (0, 1);
LCD.Print ("WirePuller");
} else om (sensorValue > 200 & & sensorValue < 400) {
lcd.setCursor (0, 0);
LCD.Print ("> WirePuller <");
lcd.setCursor (0, 1);
LCD.Print ("BuzzWire");
} else om (sensorValue > 400 & & sensorValue < 600) {
lcd.setCursor (0, 0);
LCD.Print ("> BuzzWire <");
lcd.setCursor (0, 1);
LCD.Print ("NoiseDetector");
} else om (sensorValue > 600 & & sensorValue < 800) {
lcd.setCursor (0, 0);
LCD.Print ("> NoiseDetector <");
lcd.setCursor (0, 1);
LCD.Print ("Quiz");
} else om (sensorValue > 800) {
lcd.setCursor (0, 0);
LCD.Print ("> Quiz <");
lcd.setCursor (0, 1);
LCD.Print("");
} < /p >< p > currentButtonState = digitalRead(buttonGCPin);
om (currentButtonState == hög & & lastButtonState == låg & & sensorValue < 200) {
lcd.setCursor (0, 0);
LCD.Print ("start:");
lcd.setCursor (0, 1);
LCD.Print ("Simon säger");
Delay(2000);
LCD.Clear();
ChoosenGame = 1;
gameChooser = 0;
} else om (currentButtonState == hög & & lastButtonState == låg & & sensorValue > 200 & & sensorValue < 400) {
lcd.setCursor (0, 0);
LCD.Print ("start:");
lcd.setCursor (0, 1);
LCD.Print ("WirePuller");
Delay(2000);
LCD.Clear();
ChoosenGame = 2;
gameChooser = 0;
} else om (currentButtonState == hög & & lastButtonState == låg & & sensorValue > 400 & & sensorValue < 600) {
lcd.setCursor (0, 0);
LCD.Print ("start:");
lcd.setCursor (0, 1);
LCD.Print ("BuzzWire");
Delay(2000);
LCD.Clear();
ChoosenGame = 3;
gameChooser = 0;
} else om (currentButtonState == hög & & lastButtonState == låg & & sensorValue > 600 & & sensorValue < 800) {
lcd.setCursor (0, 0);
LCD.Print ("start:");
lcd.setCursor (0, 1);
LCD.Print ("NoiseDetector");
Delay(2000);
LCD.Clear();
ChoosenGame = 4;
gameChooser = 0;
} else om (currentButtonState == hög & & lastButtonState == låg & & sensorValue > 800) {
lcd.setCursor (0, 0);
LCD.Print ("start:");
lcd.setCursor (0, 1);
LCD.Print ("Quiz");
Delay(2000);
LCD.Clear();
ChoosenGame = 5;
gameChooser = 0;
}
lastButtonState = currentButtonState;
} < /p >< p > void victorysound() {
för (int thisNote = 0; thisNote < 6; thisNote ++) {
spela nästa anteckning:
speakerpin.Play(Note[thisNote]);
Håll anteckningen:
Delay(duration[thisNote]);
stopp för nästa anteckning:
speakerpin.stop();
Delay(25);
}
} < /p >< p > void failsound() {
för (int y = 0; y < = 2; y ++) {
speakerpin.Play (NOTE_G3, 300);
Delay(200);
speakerpin.Play (NOTE_C3, 300);
Delay(200);
}
}</p><p>////////////////////////////////////////////////////////////////////////
// //
Simon säger funktioner / /
// //
< /p >< p > void SimonSays() {
funktion för att skapa matrisen ska matchas av spelaren
digitalWrite (ledpin [0], hög);
digitalWrite (ledpin [1], hög);
digitalWrite (ledpin [2], hög);
digitalWrite (ledpin [3], hög); < /p >< p > för (int thisNote = 0; thisNote < 6; thisNote ++) {
spela nästa anteckning:
speakerpin.Play(Note[thisNote]);
Håll anteckningen:
Delay(duration[thisNote]);
stopp för nästa anteckning:
speakerpin.stop();
Delay(25);
} < /p >< p > digitalWrite (ledpin [0], låg);
digitalWrite (ledpin [1], låg);
digitalWrite (ledpin [2], låg);
digitalWrite (ledpin [3], låg);
Delay(1000); < /p >< p > för (int y = turnss, y < = turnss, y ++)
{//Limited av variabeln turnss
Serial.println(""); Vissa seriella produktionen att följa
Serial.Print ("vända:");
Serial.Print(y);
Serial.println("");
randomArray [y] = random (1, 5); Ge ett slumpmässigt nummer (1-4) randomArray [y], räkna y är turnss
för (int jag = 0; jag < = turnss; i ++)
{
Serial.Print(randomArray[i]); < /p >< p > för (int y = 0; y < 4; y ++)
{< /p >< p > om (randomArray [i] == 1 & & ledpin [y] == 22)
{//if deklarationer Visa lagrade värden i matrisen
digitalWrite (ledpin [y], hög);
speakerpin.Play (NOTE_G3, 100);
Delay(400);
digitalWrite (ledpin [y], låg);
Delay(100);
} < /p >< p > om (randomArray [i] == 2 & & ledpin [y] == 23)
{
digitalWrite (ledpin [y], hög);
speakerpin.Play (NOTE_A3, 100);
Delay(400);
digitalWrite (ledpin [y], låg);
Delay(100);
} < /p >< p > om (randomArray [i] == 3 & & ledpin [y] == 24)
{
digitalWrite (ledpin [y], hög);
speakerpin.Play (NOTE_B3, 100);
Delay(400);
digitalWrite (ledpin [y], låg);
Delay(100);
} < /p >< p > om (randomArray [i] == 4 & & ledpin [y] == 25)
{
digitalWrite (ledpin [y], hög);
speakerpin.Play (NOTE_C4, 100);
Delay(400);
digitalWrite (ledpin [y], låg);
Delay(100);
}
}
}
}
input(); < /p >< p >} < /p >< p > void input() {< /p >< p > för (int jag = 0; jag < = turnss;)
{
för (int y = 0; y < 4; y ++)
{< /p >< p > buttonstate = digitalRead(button[y]); < /p >< p > om (buttonstate == låg & & knappen [y] == 26)
{//Checking för knappen push
digitalWrite (ledpin [0], hög);
speakerpin.Play (NOTE_G3, 100);
Delay(200);
digitalWrite (ledpin [0], låg);
inputArray [i] = 1;
Delay(250);
Serial.Print("");
Serial.Print(1);
om (inputArray [i]! = randomArray[i]) {
Fail();
}
i ++;
}
om (buttonstate == låg & & knappen [y] == 27)
{
digitalWrite (ledpin [1], hög);
speakerpin.Play (NOTE_A3, 100);
Delay(200);
digitalWrite (ledpin [1], låg);
inputArray [i] = 2;
Delay(250);
Serial.Print("");
Serial.Print(2);
om (inputArray [i]! = randomArray[i]) {
Fail();
}
i ++;
} < /p >< p > om (buttonstate == låg & & knappen [y] == 28)
{
digitalWrite (ledpin [2], hög);
speakerpin.Play (NOTE_B3, 100);
Delay(200);
digitalWrite (ledpin [2], låg);
inputArray [i] = 3;
Delay(250);
Serial.Print("");
Serial.Print(3);
om (inputArray [i]! = randomArray[i]) {
Fail();
}
i ++;
} < /p >< p > om (buttonstate == låg & & knappen [y] == 29)
{
digitalWrite (ledpin [3], hög);
speakerpin.Play (NOTE_C4, 100);
Delay(200);
digitalWrite (ledpin [3], låg);
inputArray [i] = 4;
Delay(250);
Serial.Print("");
Serial.Print(4);
om (inputArray [i]! = randomArray[i])
{
Fail();
}
i ++;
}
}
}
Delay(500);
turnss ++;
om (turnss == 4) {
bor = 5;
}
} < /p >< p > void fail() {< /p >< p > för (int y = 0; y < = 2; y ++)
{//Flashes lights för misslyckande < /p >< p > digitalWrite (ledpin [0], hög);
digitalWrite (ledpin [1], hög);
digitalWrite (ledpin [2], hög);
digitalWrite (ledpin [3], hög);
speakerpin.Play (NOTE_G3, 300);
Delay(200);
digitalWrite (ledpin [0], låg);
digitalWrite (ledpin [1], låg);
digitalWrite (ledpin [2], låg);
digitalWrite (ledpin [3], låg);
speakerpin.Play (NOTE_C3, 300);
Delay(200);
}
Delay(500);
turnss--;
liv--;
Serial.println ("bor:" + String(lives));
}</p><p>////////////////////////////////////////////////////////////////////////
// //
WirePuller funktioner / /
// //
< /p >< p > void wirepuller() {
digitalWrite (wireOut1, hög);
digitalWrite (wireOut2, hög);
digitalWrite (wireOut3, hög);
current1 = digitalRead(wireIn1);
current2 = digitalRead(wireIn2);
current3 = digitalRead(wireIn3);
Serial.println(String(current1) + "" + String(previous1));
Serial.println(String(current2) + "" + String(previous2));
Serial.println(String(current3) + "" + String(previous3));
Serial.println(randNumber);
om (current1 == previous1 & & randNumber == 1) {< /p >< p > Serial.println ("le eerste win");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("rätt wire");
Delay(2500);
lcdquiz.Clear();
bor = 5;
} else om (current1 == previous1) {
Serial.println ("le eerste");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("fel wire");
Delay(2500);
lcdquiz.Clear();
bor = 0;
}
om (current2 == previous2 & & randNumber == 2) {< /p >< p > Serial.println ("le tweetste win");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("rätt wire");
Delay(2500);
lcdquiz.Clear();
bor = 5;
} else om (current2 == previous2) {< /p >< p > Serial.println ("le tweeste");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("fel wire");
Delay(2500);
lcdquiz.Clear();
bor = 0;
}
om (current3 == previous3 & & randNumber == 3) {< /p >< p > Serial.println ("le drieste win");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("rätt wire");
Delay(2500);
lcdquiz.Clear();
bor = 5;
} else om (current3 == previous3) {< /p >< p > Serial.println ("le drieste");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("fel wire");
Delay(2500);
lcdquiz.Clear();
bor = 0;
}
previous1 = current1;
previous2 = current2;
previous3 = current3; < /p >< p > digitalWrite (wireOut1, låg);
digitalWrite (wireOut2, låg);
digitalWrite (wireOut3, låg);
current1 = digitalRead(wireIn1);
current2 = digitalRead(wireIn2);
current3 = digitalRead(wireIn3);
om (current1 == previous1 & & randNumber == 1) {< /p >< p > Serial.println ("le eerste win kolla 2");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("rätt wire");
Delay(2500);
lcdquiz.Clear();
bor = 5;
} else om (current1 == previous1) {< /p >< p > Serial.println ("le eerste kontrollera 2");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("fel wire");
Delay(2500);
lcdquiz.Clear();
bor = 0;
}
om (current2 == previous2 & & randNumber == 2) {< /p >< p > Serial.println ("le tweerste win kolla 2");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("rätt wire");
Delay(2500);
lcdquiz.Clear();
bor = 5;
} else om (current2 == previous2) {< /p >< p > Serial.println ("le tweerste kontrollera 2");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("fel wire");
Delay(2500);
lcdquiz.Clear();
bor = 0;
}
om (current3 == previous3 & & randNumber == 3) {< /p >< p > Serial.println ("le driederste win kolla 2");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("rätt wire");
Delay(2500);
lcdquiz.Clear();
bor = 5;
} else om (current3 == previous3) {< /p >< p > Serial.println ("le driederste kontrollera 2");
lcdquiz.Clear();
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du drog");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("fel wire");
Delay(2500);
lcdquiz.Clear();
bor = 0;
}
previous1 = current1;
previous2 = current2;
previous3 = current3;
}</p><p>////////////////////////////////////////////////////////////////////////
// //
BuzzWire funktioner / /
// //
< /p >< p > void buzzwire() {
BuzzHit = analogRead(wireRodPin);
om (BuzzHit == 1023) {
Serial.println ("förlora hit");
digitalWrite (wireFeedbackPin, hög);
Delay(1500);
digitalWrite (wireFeedbackPin, låg);
liv--;
} annat {
digitalWrite (wireFeedbackPin, låg);
}
currentButtonState = digitalRead(buttonGCPin);
om (currentButtonState == hög & & lastButtonState == låg) {
Serial.println ("win hit");
bor = 5;
}
lastButtonState = currentButtonState;
}</p><p>////////////////////////////////////////////////////////////////////////
// //
NoiseDetector funktioner / /
// //
< /p >< p > void noisedetector() {
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("GO GO GO!");
om (micSeconds > 10) {
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du förlorar!");
micTimer = 0;
micCounter = 0;
micSeconds = 0;
Delay(1000);
bor = 0;
lcdquiz.Clear();
} annat {
om (micCounter > 500) {
micCounter = 0;
micTimer = 0;
micSeconds = 0;
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("du vinna!");
Delay(1000);
bor = 5;
lcdquiz.Clear();
}
micValue = analogRead(micPin);
Serial.println(micValue);
om (micValue > 95) {
micCounter ++;
lcdquiz.setCursor (0, 1);
lcdquiz.Print(micCounter);
}
micTimer ++;
om (micTimer == 150) {
micSeconds ++;
micTimer = 0;
}
}
}</p><p>////////////////////////////////////////////////////////////////////////
// //
Quiz funktioner / /
// //
////////////////////////////////////////////////////////////////////////</p><p>void quiz() {
int sensorValue = analogRead(A1);
lcd.setCursor (0, 0);
LCD.Print ("hur gammal är");
lcd.setCursor (0, 1);
LCD.Print("Floris?");
om (sensorValue < 250) {
lcdquiz.setCursor (0, 0); //
lcdquiz.Print ("> 20 < 21");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("22 23");
} else om (sensorValue > 250 & & sensorValue < 500) {
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("20 > 21 <");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("22 23");
} else om (sensorValue > 500 & & sensorValue < 750) {
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("20 21");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("> 22 < 23");
} else om (sensorValue > 750) {
lcdquiz.setCursor (0, 0);
lcdquiz.Print ("20 21");
lcdquiz.setCursor (0, 1);
lcdquiz.Print ("22 > 23 <");
} < /p >< p > currentQuizButtonState = digitalRead(buttonQuizPin);
om (currentQuizButtonState == hög & & lastQuizButtonState == låg & & sensorValue > 750) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print("correct!");
Delay(2500);
bor = 5;
} else om (currentQuizButtonState == hög & & lastQuizButtonState == låg & & sensorValue < 750) {
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print("Wrong!");
lcd.setCursor (0, 1);
LCD.Print ("försök igen!");
Delay(2500);
LCD.Clear();
liv--;
}
lastQuizButtonState = currentQuizButtonState;
} < /p >

Se Steg
Relaterade Ämnen

Smart board-spel

För ett skolprojekt gör jag och en kurskamrat en smart spel. Vi båda gör olika delar av det smarta brädspelet. Jag kommer att göra spelet huvudenheten. Han wil göra något komplicerat minispelen. Spelet är fullt fungerande utan DLC som andra studenten...

Erbbie - Desktop Smart trädgård

Erbbie, uttalas Kirby med ett "H", är en DIY skrivbordet smarta trädgård utformad för att ge alla gröna fingrar. Tillverkad av en upp-cyklade murare burk, plast vattenflaska, akryl och en Arudino, är Erbbie ett stort projekt för skaparna av alla...

Chronobot: En Smart alarm klocka

Chronobot är en smart väckarklocka som kan känna av sin egen inriktning. Det är en analog klocka med en awesome letar fall. Klockan är ganska lätt att bygga och ställa in. Det är gjorts med hjälp av en ardunio mini och en TFT-skärm. Chronobot är anpa...

Idiotsäker Smart Alarm klocka

Någonsin vakna till din väckarklocka bara att stänga av, lägga tillbaka ner, blunda för bara några sekunder... och hamna vakna upp mycket senare än du ville? Detta projekt syftar till att lösa det problemet genom att bygga en smart väckarklocka som k...

3D Hologram projektor för smarta telefonen/tablett

Lista:-Strån-Tunn klar plast(Vi använde plast skär från klar plast cups, som dessa:http://www.amazon.com/gp/product/B00GWXDQIM?keywor...)-Tydliga tejp-Sax-Smarta telefonen med skärmen minst 4,5 x 2,5 inches och YouTube kapacitet-Laptop med bildskärm...

Förstärkt verklighet med hjälp av Unity3D och Vuforia – Smart terräng

Mer Augmented Reality finns tutorials här:1.2.3.4.5.6.7.8.9.10.11.12.13.Steg 1: Hämta allt nedan och följ instruktionerna i videonHämta # Unity3D (Hämta och installera den, om du inte har det redan) (*.exe-fil)Unity3D finns också att ladda ner från h...

Dubbla Stator Smart Drive vindkraftverk (självstudie)

detta är en handledning för min bas skarp driva vindkraftverk. Detta är ett komplext projekt och jag hade redan byggt det innan jag började denna tutorial så det brukar gå i allt men jag ska försöka.Steg 1: Material och verktyg. Material:50mmX75mmX60...

Sista minuten Halloween kostym--Smarties byxor

Halloweenfest? Inga idéer? Smarties byxorna är utan tvekan en av de enklaste kostymerna att göraSteg 1: material -Smarties (ca 25)-Limpistol-Gamla byxor (kolla lokala Goodwill)Steg 2: Steg 1 Lägga ut din Smarties att få en ungefärlig uppfattning om d...

Bekämpa SAD med smarta lampor (App-kontrollerade Wake-up Light)

SAD (Seasonal Affective Disorder) är en förstämningssyndrom som normalt sker under vintern och i dystrare klimat (Portland, jag tittar på dig). Den presenterar sig med trötthet, screwey sömnmönster och även depression, i vissa fall (mer info här). Sa...

HackerBoxes 0001: Robotic Smart Car, NodeMCU, 3D LED-julgran

Detta instructable delar grunderna i arbetar med HackerBoxes #0001. HackerBoxes är den månatliga box prenumerationstjänsten för elektronik hobbyister, beslutsfattare och hackare. Om du vill få en box som denna rätt till din brevlåda varje månad, kan...

Smart Ads-systemet (Intel IoT) #IntelMaker

Annonseringen är en av de största företagen idag. Några av de största företag som Google och Facebook tjäna från annonser. Varför? Eftersom annonserna är SMART och målinriktad. De är kundfokuserad... Annonsera allt kan det vara ett billigt flyg, en l...

Smart Robot Kit församling

i grunden en charmig, montering krävs, arbetslösa rumba Inscrutable för dem som inte läser instruktioner som inte är Instructables eftersom A: Penis, B: du inte lita på systemet så mycket som en random kille på internet eller C: färgglada bilder / vi...

Arduino kontrollerade smart coaster

Den Smart Coaster är en intelligent och dalbana för dina drycker. Den känner igen olika typer av drycker placeras ovanpå det, med en cocktail i Smart Coaster glöder i vissa atmosfäriska och långsamt föränderliga färger. Om du placerar en kopp varmt t...

Smart hemautomation webserver på OpenWRT router WR703N kopplats ihop till Arduino, jämfört med Raspberry Pi och Ubuntu

Hämta WR703N Digest (340MB zip-fil):https://sourceforge.net/projects/wr703n/---------------------------------------------------------------------------------------------------------------------------------Kära läsare,Det finns många Linux styrelser p...

BLUETOOTH kontrollerad ROBOCAR med ANDROID SMART PHONE

Syftet med detta projekt för att kontrollera saker via trådlöst i ett band som Bluetooth. Nu en dagar Android smart telefon är ett modeord och många saker kan styras av Android via Bluetooth, WiFi. Så, mitt motiv är att göra ett kommunikationssystem...

Blå Smart Socket - enhet/App(smart surge protector)

Blå Smart uttaget är ett smart eluttag som kan styras med blå Smart uttag, en smart telefon app bygga för enheten.Syftet med projektet är att fjärrstyra hem apparater, kontrollera ljuset synbarhet och styra fans och a/c baserat på nuvarande rumstempe...

En få Smart stil sko telefon (gen 2)

detta är en annan i min Get Smart serie, som även omfattar min första arbetande wearable sko telefon, en kon av tystnad och en telefonkiosk.Denna äkta arbetande sko telefonen, med telefonen i en sko och bluetooth-headsetet i den andra, var grunden fö...

Flygplan biljett Smart telefonhållare

du ombord på din plan.Du pressa förbi 2 gråtande spädbarn, 3 arg affärsmän och 1 rund man i ljusa orange chip smulor.Du är utmattad!Det sista du behöver är att ha att hålla telefonen samtidigt fånga upp säsongen 49 av vänner (vad? Varför vänner?)Vad...

Bygg en Smart telefon vagga för $4,00

/ * formatmallsdefinitioner * / bord. MsoNormalTable {mso-stil-namn: "Tabell Normal"; mso-tstyle-rowband-storlek: 0; mso-tstyle-colband-storlek: 0; mso-stil-noshow:yes; mso-stil-prioritet: 99; mso-stil-qformat:yes; mso-stil-förälder: ""...