box-o-sand/arduino/msaqsg/ch03/DiceWithButton/DiceWithButton.ino

33 lines
737 B
C++

const unsigned int LED_BIT0 = 10;
const unsigned int LED_BIT1 = 11;
const unsigned int LED_BIT2 = 12;
const unsigned int BUTTON_PIN = 7;
int currentValue = 0;
int oldValue = 0;
void outputResult(const long result) {
digitalWrite(LED_BIT0, result & B001);
digitalWrite(LED_BIT1, result & B010);
digitalWrite(LED_BIT2, result & B100);
}
void setup() {
pinMode(LED_BIT0, OUTPUT);
pinMode(LED_BIT1, OUTPUT);
pinMode(LED_BIT2, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
randomSeed(analogRead(A0));
}
void loop() {
currentValue = digitalRead(BUTTON_PIN);
if (currentValue != oldValue && currentValue == HIGH) {
outputResult(random(1, 7));
delay(50);
}
oldValue = currentValue;
}