Hola. Tengo que encender y apagar con un pulsador y de la manera más simple posible, un led que parpadea. Tengo un código que puede estar encaminado, pero cuando lo pruebo no se apaga el LED.
Este es mi código:
#define PULSADOR 10
#define LED 13
bool estado = 0;
void setup(){
pinMode(LED, OUTPUT);
pinMode(PULSADOR, INPUT);
}
void loop(){
bool entrada;
entrada = digitalRead(PULSADOR);
if(entrada == LOW){
while(estado == estado){
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
estado = !estado;
}
while(estado == !estado){
digitalWrite(LED, LOW);
estado = estado;
}
}
Desde ya, gracias. ``
Edita tu mensaje y debes poner tu codigo entre las etiquetas code.
Con delay() nunca lo lograras. Usa millis().
Moderador
Por favor edita tu post usando etiquetas de código.
Normas del foro
Mati_Lewkow:
Hola. Tengo que encender y apagar con un pulsador y de la manera más simple posible, un led que parpadea. Tengo un código que puede estar encaminado, pero cuando lo pruebo no se apaga el LED.
Te falto definir varias cosas:
- Tienes una resistencia de 10K entre pin 10 y GND ? pulldown
- Estas usando un pulsador o un interruptor ?
- Si se trata de un pulsador cuanto tiempo luego de dejar de pulsar deberá seguir parpadeando el LED ?
#define PULSADOR 10
#define LED 13
void setup(){
pinMode(LED, OUTPUT);
pinMode(PULSADOR, INPUT);
}
void loop(){
if (digitalRead(PULSADOR) == true){
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
}
PD: Notaras que mientras mantengas pulsado el LED parpadea.