// Define pin numbers for each segment (a, b, c, d, e, f, g)
const int segmentPins[] = {2, 3, 4, 5, 6, 7, 8};
// Define the segments required to display numbers 0 to 9
const byte digitPatterns[] = {
B00111111, // 0
B00000110, // 1
B01011011, // 2
B01001111, // 3
B01100110, // 4
B01101101, // 5
B01111101, // 6
B00000111, // 7
B01111111, // 8
B01101111 // 9
};
void setup() {
// Set segment pins as OUTPUT
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i <= 9; i++) {
displayNumber(i);
delay(1000); // Display each number for 1 second
}
}
void displayNumber(int number) {
// Display the specified number on the seven-segment display
if (number >= 0 && number <= 9) {
byte segments = digitPatterns[number];
for (int i = 0; i < 7; i++) {
digitalWrite(segmentPins[i], bitRead(segments, i));
}
}
}