#define DATA_PIN 8
#define LATCH_PIN 9
#define CLOCK_PIN 10
#define COMMON_PIN 2 // Common pin for SSDs
#define MAX_SSD 4
// Segment byte maps for numbers 0-9
const byte digitMap[10] = {
0b11000000, // 0
0b11111001, // 1
0b10100100, // 2
0b10110000, // 3
0b10011001, // 4
0b10010010, // 5
0b10000010, // 6
0b11111000, // 7
0b10000000, // 8
0b10010000 // 9
};
void setup() {
// Set pin modes
pinMode(DATA_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(LATCH_PIN, OUTPUT);
pinMode(COMMON_PIN, OUTPUT);
}
void displayDigit(int digit) {
digitalWrite(LATCH_PIN, LOW);
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, digitMap[digit / 10]);
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, digitMap[digit % 10]);
digitalWrite(LATCH_PIN, HIGH);
digitalWrite(COMMON_PIN, HIGH);
}
void loop() {
for (int count = 0; count < 100; count++)
{
displayDigit(count);;
delay(900);
}
}