SMART brädspelet (3 / 7 steg)
Steg 3: Dice
Ursprungligen ville jag beställa en färdig dice modul (http://goo.gl/15SdVS) så jag hade tid att skapa andra moduler, men produkten inte var närvarande i lagret så jag beslöt att skapa min egen tärning modul.
För att spara I/O portar på min Arduino, grupperade jag lysdioderna i 4 grupper. De 4 grupperna är:
- Övre högra och nedre vänstra
- Övre vänstra och nedre högra
- Mitten till vänster och mitten höger
- Den sista ett i mitten
Dessa 4 grupper bör omfatta varje form som tärningen rullar från 1 till 6 form. När en knapp trycks ner, ett slumptal genereras och led i enligt grupperna lyser.
int Grupp1 = A0; < br > int Grupp2 = A1;
int group3 = A2;
int grupp4 = A3;
int buttonPin = 0;
booleska currentButtonState = låg;
booleska previousButtonState = låg;
int sprang = 0;
int tid = 2500; < br >< br > annullera setup () {
Serial.BEGIN(9600);
pinMode (Grupp1, produktionen);
pinMode (Grupp2, produktionen);
pinMode (grupp3, produktionen);
pinMode (grupp4, produktionen);
pinMode (buttonPin, ingång);
randomSeed(analogRead(0));
} < br >< br > void loop() {
currentButtonState = digitalRead(buttonPin);
om (currentButtonState == hög & & previousButtonState == låg) {
sprang = random (1, 7);
Serial.println(ran);
om (sprang == 1) {
digitalWrite (Grupp1, hög);
fördröjning (tid);
}
om (sprang == 2) {
digitalWrite (Grupp2, hög);
fördröjning (tid);
}
om (sprang == 3) {
digitalWrite (Grupp1, hög);
digitalWrite (Grupp2, hög);
fördröjning (tid);
}
om (sprang == 4) {
digitalWrite (Grupp2, hög);
digitalWrite (grupp3, hög);
fördröjning (tid);
}
om (sprang == 5) {
digitalWrite (Grupp1, hög);
digitalWrite (Grupp2, hög);
digitalWrite (grupp3, hög);
fördröjning (tid);
}
om (sprang == 6) {
digitalWrite (Grupp2, hög);
digitalWrite (grupp3, hög);
digitalWrite (grupp4, hög);
fördröjning (tid);
}
}
previousButtonState = currentButtonState;
digitalWrite (Grupp1, låg);
digitalWrite (Grupp2, låg);
digitalWrite (grupp3, låg);
digitalWrite (grupp4, låg);
}