SMART brädspelet (4 / 7 steg)
Steg 4: Wire avdragare modul
Jag ville göra en bomb-stil tråd fräs spel, men detta skulle kräva utbytbara delar. Jag remebered jag hade kvinnliga headers på några kablar, vilket ger oss möjlighet att lämna anslutning av 2 kablar synliga dras isär.
Den använder en slumpmässig tråd som rätt mål och ständigt kontrollerar huruvida fel ingång mäts som inte skickas via denna tråd.
int wireOut1 = 6. < br > int wireIn1 = 7.
int wireOut2 = 8;
int wireIn2 = 9;
int wireOut3 = 10;
int wireIn3 = 13.
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; < br >< br > void setup() {
Serial.BEGIN(9600);
pinMode (wireOut1, produktionen);
pinMode (wireIn1, ingång);
pinMode (wireOut2, produktionen);
pinMode (wireIn2, ingång);
pinMode (wireOut3, produktionen);
pinMode (wireIn3, ingång);
Serial.println ("programmet börjat");
randomSeed(analogRead(A1));
randNumber = random(3);
randNumber ++;
Serial.println(randNumber);
} < br >< br > void loop() {
digitalWrite (wireOut1, hög);
digitalWrite (wireOut2, hög);
digitalWrite (wireOut3, hög);
current1 = digitalRead(wireIn1);
current2 = digitalRead(wireIn2);
current3 = digitalRead(wireIn3);
om (current1 == previous1 & & randNumber == 1) {
Serial.println("win");
} else om (current1 == previous1) {
Serial.println("lose");
}
om (current2 == previous2 & & randNumber == 2) {
Serial.println("win");
} else om (current2 == previous2) {
Serial.println("lose");
}
om (current3 == previous3 & & randNumber == 3) {
Serial.println("win");
} else om (current3 == previous3) {
Serial.println("lose");
}
previous1 = current1;
previous2 = current2;
previous3 = current3;
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) {
Serial.println("win");
} else om (current1 == previous1) {
Serial.println("lose");
}
om (current2 == previous2 & & randNumber == 2) {
Serial.println("win");
} else om (current2 == previous2) {
Serial.println("lose");
}
om (current3 == previous3 & & randNumber == 3) {
Serial.println("win");
} else om (current3 == previous3) {
Serial.println("lose");
}
previous1 = current1;
previous2 = current2;
previous3 = current2;
}