#define latchPin 1
#define clockPin 2
#define dataPin 0
#define buttonPin 4
const byte pattern[7] = {
0b00000001, // 0 blank
0b00010000, // 1
0b00100010, // 2
0b00110010, // 3
0b10101010, // 4
0b10111010, // 5
0b11101110 // 6
};
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
randomSeed(analogRead(A3)); // Initializing the random generator
}
void displayDigit(byte d) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, pattern[d]);
digitalWrite(latchPin, HIGH);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
delay(20);
displayDigit(random(1, 7));
while(digitalRead(buttonPin) == LOW);
delay(1500);
} else {
displayDigit(0);
}
// for (byte d=0; d<7; d++) {
// displayDigit(d);
// delay(500);
// }
}
Press the button.