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 >