// Pin definitions for 74HC595
const int dataPin = 11; // DS
const int latchPin = 8; // STCP
const int clockPin = 12; // SHCP
// 7-segment digit codes (common cathode)
// Segments: A B C D E F G (DP optional)
// Bit order: Q0 = A, Q1 = B, ..., Q6 = G
const byte digitCodes[10] = {
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00000111, // 7
0b01111111, // 8
0b01101111 // 9
};
void setup() {
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop() {
for (int i = 0; i < 10; i++) {
displayDigit(i);
delay(1000); // Wait 1 second
}
}
void displayDigit(int digit) {
digitalWrite(latchPin, HIGH);
shiftOut(dataPin, clockPin, MSBFIRST, digitCodes[digit]);
digitalWrite(latchPin, LOW);
}