// Define the Arduino pins connected to the 7-segment display segments
const int segmentPins[8] = {2, 3, 4, 5, 6, 7, 8, 9};
// Define the digit patterns for the 7-segment display (common anode)
// A B C D E F G DP
const byte digitPatterns[10] = {
0b11000000, // 0
0b11111001, // 1
0b10100100, // 2
0b10110000, // 3
0b10011001, // 4
0b10010010, // 5
0b10000010, // 6
0b11111000, // 7
0b10000000, // 8
0b10010000 // 9
};
void setup() {
// Set all segment pins as output
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
digitalWrite(segmentPins[i], HIGH); // Ensure all segments are off initially
}
}
void loop() {
// Display digits 0-9
for (int digit = 0; digit < 10; digit++) {
displayDigit(digit);
delay(1000); // Wait for 1 second before displaying the next digit
}
}
void displayDigit(int digit) {
byte pattern = digitPatterns[digit];
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], (pattern >> i) & 0x01 ? HIGH : LOW);
}
}