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;
const int on_button = 12;
const int off_button = 14;
int counter=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(on_button, INPUT_PULLUP);
pinMode(off_button, INPUT_PULLUP);
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() {
// put your main code here, to run repeatedly:
if(counter>9)
{
counter=0;
}
if(counter<1)
{
counter=0;
}
if (digitalRead(on_button) == 0) {
print_number(counter++);
}
if (digitalRead(off_button) == 0) {
print_number(--counter);
}
delay(1000);
}
void print_number (int num)
{
switch (num) {
case 1:
all_off();
digitalWrite(seg_a, LOW);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, LOW);
digitalWrite(seg_e, LOW);
digitalWrite(seg_f, LOW);
digitalWrite(seg_g, LOW);
break;
case 2:
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, LOW);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, HIGH);
digitalWrite(seg_f, LOW);
digitalWrite(seg_g, HIGH);
break;
case 3:
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, LOW);
digitalWrite(seg_f, LOW);
digitalWrite(seg_g, HIGH);
break;
case 4:
all_off();
digitalWrite(seg_a, LOW);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, LOW);
digitalWrite(seg_e, LOW);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
break;
case 5:
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, LOW);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, LOW);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
break;
case 6:
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, LOW);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, HIGH);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
break;
case 7:
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, LOW);
digitalWrite(seg_e, LOW);
digitalWrite(seg_f, LOW);
digitalWrite(seg_g, LOW);
break;
case 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);
break;
case 9:
all_off();
digitalWrite(seg_a, HIGH);
digitalWrite(seg_b, HIGH);
digitalWrite(seg_c, HIGH);
digitalWrite(seg_d, HIGH);
digitalWrite(seg_e, LOW);
digitalWrite(seg_f, HIGH);
digitalWrite(seg_g, HIGH);
break;
}
}
void all_off()
{
digitalWrite(seg_a, LOW);
digitalWrite(seg_b, LOW);
digitalWrite(seg_c, LOW);
digitalWrite(seg_d, LOW);
digitalWrite(seg_e, LOW);
digitalWrite(seg_f, LOW);
digitalWrite(seg_g, LOW);
}