int ledPins[7] = {19, 18, 5, 17, 16, 4, 0};
const int seg_a = 19;
const int seg_b = 18;
const int seg_c = 5;
const int seg_d = 17;
const int seg_e = 16;
const int seg_f = 4;
const int seg_g = 0;
void setup()
{
Serial.begin(115200);
Serial.println("hello,ESP32!");
pinMode(seg_a, OUTPUT);
pinMode(seg_b, OUTPUT);
pinMode(seg_c, OUTPUT);
pinMode(seg_d, OUTPUT);
pinMode(seg_e, OUTPUT);
pinMode(seg_f, OUTPUT);
pinMode(seg_g, OUTPUT);
}
void loop()
{
for (int i = 0; i <=9; i++)
{
print_number(i);
delay(1000);
}
for (int i = 9; i >=0; i--)
{
print_number(i);
delay(1000);
}
}
void print_number(int counter)
{
if (counter == 0)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, HIGH);
digitalWrite(seg_f, HIGH);
//print 0 code
}
else if (counter == 1)
{
all_off();
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
//print 1 code
}
else if (counter == 2)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_g, HIGH);
digitalWrite(seg_e, HIGH);
digitalWrite(seg_d, HIGH);
//print 2 code
}
else if (counter == 3)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_g, HIGH);
}
else if (counter == 4)
{
all_off();
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
}
else if (counter == 5)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
}
else if (counter == 6)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, HIGH);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
}
else if (counter == 7)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
}
else if (counter == 8)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, HIGH);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
}
else if (counter == 9)
{
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
}
}
void all_off()
{
for (int i = 0; i < 7; i++)
{
digitalWrite(ledPins[i], LOW);
}
}