const int segA = 33, segB = 32, segC = 25 ;
const int segD = 26, segE = 27, segF = 14;
const int segG = 12;
const int btn = 13;
int contador = 0;
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
displaysetup();
pinMode(btn, INPUT_PULLUP);
}
void loop() {
// Verifica se o botão foi pressionado
if(digitalRead(btn) == LOW) {
// Incrementa o contador se o botão foi pressionado
contador++;
// Limite de 3 vezes
if (contador > 3) {
contador = 0;
}
// Exibe o valor atual do contador no display de 7 segmentos
if (contador == 0) {
displayOn(1, 1, 1, 1, 1, 1, 0); // Exibe o número 0
} else if (contador == 1) {
displayOn(0, 1, 1, 0, 0, 0, 0); // Exibe o número 1
} else if (contador == 2) {
displayOn(1, 1, 0, 1, 1, 0, 1); // Exibe o número 2
} else if (contador == 3) {
displayOn(1, 1, 1, 1, 0, 0, 1); // Exibe o número 3
}
delay(50);
}
}
void displaysetup() {
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
}
void displayOn(bool onA, bool onB, bool onC, bool onD, bool onE, bool onF, bool onG){
digitalWrite(segA, onA);
digitalWrite(segB, onB);
digitalWrite(segC, onC);
digitalWrite(segD, onD);
digitalWrite(segE, onE);
digitalWrite(segF, onF);
digitalWrite(segG, onG);
}