Pseudocódigo rápido:
EstadoActual = Entrada
Si EstadoActual = 1 y EstadoAnterior = 0 ejecutar acción
EstadoAnterior = EstadoActual
Gracias Cheyenne, pero cuando EstadoAnterior cambia de estado??, ya que si no el led queda encendido de por vida.
Este es el codigo que he probado según tu ejemplo:
const int pulsador = 2; // Pulsador
const int led = 13; // LED
// variables:
int EstadoActual = 0;
int EstadoAnterior = 0;
int cnt = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(pulsador, INPUT);
}
void loop(){
EstadoActual = digitalRead(pulsador);
if (EstadoActual == 1 & EstadoAnterior == 0){
digitalWrite (led, HIGH);
EstadoAnterior = EstadoActual;
}
}
La idea es que cuando pulse haga un SET y cuando vuelva a pulsar un RESET