byte seven_seg_digits[19] =
{
B10000001, // 0
B11001111, // 1
B10010010, // 2
B10000110, // 3
B11001100, // 4
B10100100, // 5
B10100000, // 6
B10001111, // 7
B10000000, // 8
B10001100, // 9
B11111110, // -
B11110001, // L
B10100100, // S
B10110000, // E
B10100000, // G
B11000100, // Y
B10001000, // A
B11001000, // H
};
// for Player 1
byte dataPin1 = 12;
byte latchPin1 = 11;
byte clockPin1 = 9;
#define buttonPin1 7
void setup() {
// put your setup code here, to run once:
pinMode(latchPin1, OUTPUT);
pinMode(clockPin1, OUTPUT);
pinMode(dataPin1, OUTPUT);
pinMode(buttonPin1, INPUT_PULLUP);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[0]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[0]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[0]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[1]);
digitalWrite(latchPin1, HIGH);
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
for (int x = 9; x >= 0; x--) {
for (int y = 5; y >= 0; y--) {
for (int z = 9; z >= 0; z--) {
if (digitalRead(buttonPin1) == 1) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[z]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[y]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[x]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[0]);
digitalWrite(latchPin1, HIGH);
delay(1000);
}
else {
while (digitalRead(buttonPin1) != 1 ) {}
}
}
}
}
// ==============================================================
// Timer
// ==============================================================
// ==============================================================
// ==============================================================
// Forward Stopwatch
// ==============================================================
// for (int w = 0; w < 6; w++) {
// for (int x = 0; x < 10; x++) {
// for (int y = 0; y < 6; y++) {
// for (int z = 0; z < 10; z++) {
// if (digitalRead(buttonPin1)) {
// digitalWrite(latchPin1, LOW);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[z]);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[y]);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[x]);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[w]);
// digitalWrite(latchPin1, HIGH);
// delay(1000);
// }
// else {
// while (digitalRead(buttonPin1) != 1) {
// delay(0.001);
// }
// }
// }
// }
// }
// }
// ============================================================
// ==============================================================
// After Timer Ends:
// ==============================================================
// Uncomment to display 'Lose' whose timer ends
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[13]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[12]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[0]);
shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[11]);
digitalWrite(latchPin1, HIGH);
// in order to stop the loop for a very long time
delay(100000000);
// ==============================================================
// Prints YEAH After Opponent's Timer Ends:
// ==============================================================
// digitalWrite(latchPin1, LOW);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[17]);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[16]);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[13]);
// shiftOut(dataPin1, clockPin1, LSBFIRST, seven_seg_digits[15]);
// digitalWrite(latchPin1, HIGH);
// // in order to stop the loop for a very long time
// delay(100000000);
}