// Define the pins for each segment of the 7-segment display
const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};
// Define the segment mapping for each digit (0-9)
const byte segmentMap[10] = {
0b0111111, // 0
0b0000110, // 1
0b1011011, // 2
0b1001111, // 3
0b1100110, // 4
0b1101101, // 5
0b1111101, // 6
0b0000111, // 7
0b1111111, // 8
0b1101111 // 9
};
void setup() {
// Initialize the segment pins as outputs
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
// Count from 0 to 9 and display each digit
for (int digit = 0; digit <= 9; digit++) {
displayDigit(digit);
delay(1000); // Wait for 1 second before displaying the next digit
}
}
// Function to display a digit on the 7-segment display
void displayDigit(int digit) {
byte segmentValue = segmentMap[digit];
for (int i = 0; i < 7; i++) {
digitalWrite(segmentPins[i], (segmentValue >> i) & 1);
}
}