// int i = 45;
// int j = 30;
// int k = 15;
// int l = 15;
// int count = 0;
// ............................................................. //
int pin1_1 = 1;
int pin1_2 = 2;
int pin1_3 = 3;
int pin1_4 = 4;
int pin1_5 = 5;
int pin1_6 = 6;
int pin1_7 = 7;
int D1_1 = 9;
int D1_2 = 10;
unsigned long previousMillis = 0;
const long interval = 1000;
int count = 0;
// // ............................................................. //
// int pin2_1 = 14;
// int pin2_2 = 15;
// int pin2_3 = 16;
// int pin2_4 = 17;
// int pin2_5 = 18;
// int pin2_6 = 19;
// int pin2_7 = 20;
// int D2_1 = 0;
// int D2_2 = 21;
// // ............................................................. //
// int pin3_1 = 22;
// int pin3_2 = 23;
// int pin3_3 = 24;
// int pin3_4 = 25;
// int pin3_5 = 26;
// int pin3_6 = 27;
// int pin3_7 = 28;
// int D3_1 = 29;
// int D3_2 = 30;
// // ............................................................. //
// int pin4_1 = 31;
// int pin4_2 = 32;
// int pin4_3 = 33;
// int pin4_4 = 34;
// int pin4_5 = 35;
// int pin4_6 = 36;
// int pin4_7 = 37;
// int D4_1 = 38;
// int D4_2 = 39;
// // ............................................................. //
// int r1 = 40;
// int y1 = 41;
// int g1 = 42;
// int r2 = 43;
// int y2 = 44;
// int g2 = 45;
// int r3 = 46;
// int y3 = 47;
// int g3 = 48;
// int r4 = 49;
// int y4 = 50;
// int g4 = 51;
int a1 = 9; // index array in first segment digit 1
int a2 = 1; // index array in first segment digit 2
// int b1 = 0; // index array in second segment digit 1
// int b2 = 0; // index array in second segment digit 1
// int i = 0;
// int j = 0;
int DELAY =1; // Delay light segment
int TIME = 0; // time loading
// Matrix Number of 7 segment
int Arduino_Pins[7] = {pin1_1, pin1_2, pin1_3, pin1_4, pin1_5, pin1_6, pin1_7}; // an array of pin numbers to which LEDs
int Segment_Pins[10][7] = {{0,0,0,0,0,0,1}, // 0
{1,0,0,1,1,1,1}, // 1
{0,0,1,0,0,1,0}, // 2
{0,0,0,0,1,1,0}, // 3
{1,0,0,1,1,0,0}, // 4
{0,1,0,0,1,0,0}, // 5
{0,1,0,0,0,0,0}, // 6
{0,0,0,1,1,1,1}, // 7
{0,0,0,0,0,0,0}, // 8
{0,0,0,0,1,0,0}, // 9
};
void setup()
{
// ............................................................. //
pinMode(pin1_1, OUTPUT);
pinMode(pin1_2, OUTPUT);
pinMode(pin1_3, OUTPUT);
pinMode(pin1_4, OUTPUT);
pinMode(pin1_5, OUTPUT);
pinMode(pin1_6, OUTPUT);
pinMode(pin1_7, OUTPUT);
pinMode(D1_1, OUTPUT);
pinMode(D1_2, OUTPUT);
// ............................................................. //
}
//================================================================================================================= void s1d2
void s1d1()
{
for(int j=0;j<7;j++)
{
digitalWrite(Arduino_Pins[j],Segment_Pins[a1][j]);
} // End J Loop
digitalWrite(D1_1 ,1);
digitalWrite(D1_2, 0);
delay(DELAY);
}
//================================================================================================================= void s2d1
void s1d2()
{
for(int j=0;j<7;j++)
{
digitalWrite(Arduino_Pins[j],Segment_Pins[1][j]);
} // End J Loop
digitalWrite(D1_1, 0);
digitalWrite(D1_2, 1);
delay(DELAY);
}
//================================================================================================================= void s2d2
void loop()
{
unsigned long currentMillis = millis();
// Check if the specified interval has passed
if (currentMillis - previousMillis >= interval)
{
// Save the current time
previousMillis = currentMillis;
}
for (int n = 0; n < 500; n++)
{
// Display the first digit
for (int j = 0; j < 7; j++)
{
digitalWrite(Arduino_Pins[j], Segment_Pins[a1][j]);
}
digitalWrite(D1_1, 0);
digitalWrite(D1_2, 1);
delay(300);
// Display the second digit
for (int j = 0; j < 7; j++)
{
digitalWrite(Arduino_Pins[j], Segment_Pins[a2][j]);
}
digitalWrite(D1_1, 1);
digitalWrite(D1_2, 0);
delay(1000);
// Update the indices for the next iteration
a1--;
if (a1 < 0)
{
a1 = 10;
a2--;
}
if (a2 < 0)
{
a2 = 1;
}
// if (count == 0)
// {
// if (a2 == 0)
// {
// a2 = 0;
// count = 1;
// }
// }
// if (count == 1)
// {
// if (a2 == 0)
// {
// a2 = 1;
// }
// count = 0;
// }
}
}