// Botão e LED_2 Retentivo
// Placa ESP: NodeMCU-32S
// Ao pulsar o botão de pressão (push button), o LED deverá ligar e permanecer desligado, ao pulsar o botão de pressão
// novamente, o LED deverá desligar e permanecer desligado, e assim sucessivamente. Também deverá enviar as mensagens:
// “LED LIGADO” e “LED DESLIGADO” para o Monitor Serial.
int botao = 4;
int led = 5;
int valor_entrada = LOW;
int valor_anterior = LOW;
int estado = 0;
void setup() {
pinMode(botao, INPUT);
pinMode(led, OUTPUT);
Serial.begin(115200);
}
void loop() {
valor_entrada = digitalRead(botao); //obtém o valor de entrada
if ((valor_entrada == HIGH) && (valor_anterior == LOW)){ //verifica se houve mudança de estado do botão
estado = 1 - estado; //inverte o estado
delay (10);
}
if (estado == 0){
digitalWrite(led, LOW);
Serial.println("LED DESLIGADO");
}
else {
digitalWrite(led, HIGH);
Serial.println("LED LIGADO");
}
valor_anterior = valor_entrada;
}