Buenas a todos, os expreso mis dudas, ya que soy nuevo en el tema del arduino y mi nivel de programación es muy bajo.
Actualmente estoy funcionando con un Arduino Leonardo.
Lo que quiero que haga el programa es lo siguiente, tengo actualmente 2 pulsadores y 3 leds, y lo que quiero:
-Activando el pulsador1 activar el led3 que pasen 10 segundos, se desactive el led3 y se active el led1 y se quede activo mientras el pulsador1 esta activo, y al soltar el pulsador1 se desactive tanto el led3 como el led1.
-Activando el pulsador2 activar el led3 que pasen 10 segundos, se desactive el led3 y se active el led2 y se quede activo mientras el pulsador2 esta activo, y al soltar el pulsador1 se desactive tanto el led3 como el led2.
Esto es técnicamente lo que busco hacer. A continuación os paso lo que yo he hecho, el problema que tengo es que el led 1 y 2 y funcionan como quiero pero el 3 mientras tengo el pulsador activo esta en estado intermitente.
const int led1 = 13;
const int led2 = 12;
const int led3=11;
const int pulsador1 = 2;
const int pulsador2 = 3;
int estadoPulsador1 = 0;
int estadoPulsador2 = 0;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(pulsador1, INPUT);
pinMode(pulsador2, INPUT);
}
void loop() {
estadoPulsador1=digitalRead(pulsador1);
if (estadoPulsador1==HIGH){
digitalWrite(led3, HIGH);
delay(10000);
digitalWrite(led3, LOW);
delay(100);
digitalWrite(led1, HIGH);
}
else{
digitalWrite(led1, LOW);
}
estadoPulsador2=digitalRead(pulsador2);
if(estadoPulsador2==HIGH){
digitalWrite(led3, HIGH);
delay(10000);
digitalWrite(led3, LOW);
delay(500);
digitalWrite(led2, HIGH);
}
else{
digitalWrite(led2, LOW);
}
}