int valorPasado = 0; //almacena el último estado del botón
int LastLedState =0;
int valor = 0; //Almacena si el botón está o no presionado
int boton = 15; //GPIO usado para el botón
int ledPin = 16; //Define LED pin connection to GPIO16
int cambio = 0;
void setup() {
Serial.begin(9600); //UART comunicación Serial baud rate 9600
pinMode(boton, INPUT); //Define el GPIO como entrada
pinMode(ledPin, OUTPUT);//Set mode to output
}
void loop() {
valorPasado = valor;
valor = digitalRead(boton); //Lee el valor actual del pin (1 si no está apretado)
// Serial.println(valor); //Imprime el valor
if ( (valor == 1 && valorPasado ==0) || (valor == 0 && valorPasado ==1) ) {
if(cambio == 0) {
Serial.println("cambio uno");
cambio =1;
}
else if(cambio == 1){
Serial.println("cambio dos");
cambio =0;
LastLedState= !LastLedState;
digitalWrite(ledPin,LastLedState );
}
// digitalWrite(ledPin, LOW);
delay(100);
}
else {
// Serial.println("Botón igual");
// digitalWrite(ledPin, HIGH); //Output low level,turn off led
delay(100);
}
}