const int ssdNum[10][7] = {
{1,1,1,1,1,1,0}, // 0
{0,1,1,0,0,0,0}, // 1
{1,1,0,1,1,0,1}, // 2
{1,1,1,1,0,0,1}, // 3
{0,1,1,0,0,1,1}, // 4
{1,0,1,1,0,1,1}, // 5
{1,0,1,1,1,1,1}, // 6
{1,1,1,0,0,0,0}, // 7
{1,1,1,1,1,1,1}, // 8
{1,1,1,1,0,1,1} // 9
};
void setup() {
// Set pins 2 through 5 as outputs for LEDs
for (int i = 2; i < 6; i++) {
pinMode(i, OUTPUT);
}
// Set pins 6 through 12 as outputs for 7-segment display
for (int j = 6; j < 13; j++) {
pinMode(j, OUTPUT);
}
}
void loop() {
// Loop from 0 to 9
for (int count = 0; count < 10; count++) {
// Display count on LEDs
for (int i = 2; i < 6; i++) {
digitalWrite(i, (count >> (i - 2)) & 1); // Display count in binary on LEDs
}
// Display count on 7-segment display
displayNumber(count);
delay(1000); // Delay for 1 second
}
}
// Function to display a number (0-9) on the 7-segment display
void displayNumber(int number) {
for (int j = 6; j < 13; j++) {
digitalWrite(j, !ssdNum[number][j-6]); // Set segment pins according to the number to be displayed
}
}