byte D1 = 2;
byte D2 = 3;
byte D3 = 4;
byte D4 = 5;
byte A = 6;
byte B = 7;
byte C = 8;
byte D = 9;
byte E = 10;
byte F = 11;
byte G = 12;
byte DP = 13; // decimal point
int timer = 1000;
int tbn = 1;
int tbdn = 1;
// Define the input pins for the 7-segment display segments.
const int segmentPins[] = {A, B, C, D, E, F, G, DP};
// Define the input pins for the 7-segment display digits.
const int digitPins[] = {D1, D2, D3, D4};
// For common cathode
uint8_t digitON = LOW;
uint8_t digitOFF = HIGH;
uint8_t segmentON = HIGH;
uint8_t segmentOFF = LOW;
void setup() {
// Pin initialization.
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
}
for (int i = 0; i < 4; i++) {
pinMode(digitPins[i], OUTPUT);
digitalWrite(digitPins[i], digitOFF);
}
}
void resetdis(void)
{
// reset
// digits
digitalWrite(D1, digitOFF);
digitalWrite(D2, digitOFF);
digitalWrite(D3, digitOFF);
digitalWrite(D4, digitOFF);
// segments
digitalWrite(A, segmentOFF);
digitalWrite(B, segmentOFF);
digitalWrite(C, segmentOFF);
digitalWrite(D, segmentOFF);
digitalWrite(E, segmentOFF);
digitalWrite(F, segmentOFF);
digitalWrite(G, segmentOFF);
digitalWrite(DP, segmentOFF);
}
// digits
void d1(void)
{
digitalWrite(D1, digitON);
}
void d2(void)
{
digitalWrite(D2, digitON);
}
void d3(void)
{
digitalWrite(D3, digitON);
}
void d4(void)
{
digitalWrite(D4, digitON);
}
void dall(void)
{
digitalWrite(D1, digitON);
digitalWrite(D2, digitON);
digitalWrite(D3, digitON);
digitalWrite(D4, digitON);
}
//segments
void dis1(void)
{
digitalWrite(B, segmentON);
digitalWrite(C, segmentON);
}
void dis2(void)
{
digitalWrite(A, segmentON);
digitalWrite(B, segmentON);
digitalWrite(G, segmentON);
digitalWrite(E, segmentON);
digitalWrite(D, segmentON);
}
void dis3(void)
{
digitalWrite(A, segmentON);
digitalWrite(B, segmentON);
digitalWrite(C, segmentON);
digitalWrite(D, segmentON);
digitalWrite(G, segmentON);
}
void dis4(void)
{
digitalWrite(B, segmentON);
digitalWrite(C, segmentON);
digitalWrite(F, segmentON);
digitalWrite(G, segmentON);
}
void dis5(void)
{
digitalWrite(A, segmentON);
digitalWrite(B, segmentON);
digitalWrite(G, segmentON);
digitalWrite(E, segmentON);
digitalWrite(D, segmentON);
}
void dis6(void)
{
digitalWrite(A, segmentON);
digitalWrite(F, segmentON);
digitalWrite(E, segmentON);
digitalWrite(D, segmentON);
digitalWrite(C, segmentON);
digitalWrite(G, segmentON);
}
void dis7(void)
{
digitalWrite(A, segmentON);
digitalWrite(B, segmentON);
digitalWrite(C, segmentON);
}
void dis8(void)
{
digitalWrite(A, segmentON);
digitalWrite(B, segmentON);
digitalWrite(C, segmentON);
digitalWrite(D, segmentON);
digitalWrite(E, segmentON);
digitalWrite(F, segmentON);
digitalWrite(G, segmentON);
}
void dis9(void)
{
digitalWrite(G, segmentON);
digitalWrite(F, segmentON);
digitalWrite(A, segmentON);
digitalWrite(B, segmentON);
digitalWrite(C, segmentON);
digitalWrite(D, segmentON);
}
void dis0(void)
{
digitalWrite(A, segmentON);
digitalWrite(B, segmentON);
digitalWrite(C, segmentON);
digitalWrite(D, segmentON);
digitalWrite(E, segmentON);
digitalWrite(F, segmentON);
}
void disdp(void)
{
digitalWrite(DP, segmentON);
}
void loop() {
// digitalWrite(D1, digitON);
// digitalWrite(C, segmentON);
// digits
digitalWrite(D1, digitON);
digitalWrite(D2, digitON);
digitalWrite(D3, digitON);
digitalWrite(D4, digitON);
// segments
digitalWrite(A, segmentON);
delay(1000);
digitalWrite(B, segmentON);
delay(1000);
digitalWrite(C, segmentON);
delay(1000);
digitalWrite(D, segmentON);
delay(1000);
digitalWrite(E, segmentON);
delay(1000);
digitalWrite(F, segmentON);
delay(1000);
digitalWrite(G, segmentON);
delay(1000);
digitalWrite(DP, segmentON);
delay(1000);
}