// Pins for 7-segment display 1
int a1 = 2;
int b1 = 3;
int c1 = 4;
int d1 = 5;
int e1 = 6;
int f1 = 7;
int g1 = 8;
// Pins for 7-segment display 2
int a2 = 9;
int b2 = 10;
int c2 = 11;
int d2 = 12;
int e2 = 13;
int f2 = A0;
int g2 = A1;
// Define the common cathode 7-segment display patterns for numbers 0 to 9
byte numbers[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,0,0,1,1} // 9
};
void setup() {
// Initialize all the pins as OUTPUT
pinMode(a1, OUTPUT);
pinMode(b1, OUTPUT);
pinMode(c1, OUTPUT);
pinMode(d1, OUTPUT);
pinMode(e1, OUTPUT);
pinMode(f1, OUTPUT);
pinMode(g1, OUTPUT);
pinMode(a2, OUTPUT);
pinMode(b2, OUTPUT);
pinMode(c2, OUTPUT);
pinMode(d2, OUTPUT);
pinMode(e2, OUTPUT);
pinMode(f2, OUTPUT);
pinMode(g2, OUTPUT);
}
void displayNumber(int number) {
int firstDigit = number / 10;
int secondDigit = number % 10;
// Display the first digit
digitalWrite(a1, numbers[firstDigit][0]);
digitalWrite(b1, numbers[firstDigit][1]);
digitalWrite(c1, numbers[firstDigit][2]);
digitalWrite(d1, numbers[firstDigit][3]);
digitalWrite(e1, numbers[firstDigit][4]);
digitalWrite(f1, numbers[firstDigit][5]);
digitalWrite(g1, numbers[firstDigit][6]);
// Display the second digit
digitalWrite(a2, numbers[secondDigit][0]);
digitalWrite(b2, numbers[secondDigit][1]);
digitalWrite(c2, numbers[secondDigit][2]);
digitalWrite(d2, numbers[secondDigit][3]);
digitalWrite(e2, numbers[secondDigit][4]);
digitalWrite(f2, numbers[secondDigit][5]);
digitalWrite(g2, numbers[secondDigit][6]);
}
void loop() {
// Display numbers from 0 to 99 in sequence
for (int i = 0; i < 100; i++) {
displayNumber(i);
delay(1000); // Adjust the delay as needed
}
}