Hola a todos, soy nuevo en el mundo del arduino. Estoy tratando de desarrollar un programa en el cuál mediante dos pulsadores: Start y pause pueda dar inicio a una secuencia de leds que se encienden uno por uno. Ya sé como se conectar el boton de "Start" para que inicie la secuencia. Pero tengo un problema a la hora de configurar el "pause". No se como pausar los leds en una determinada posición y que se mantenga en esa posición, y luego presionar nuevamente start para que siga con la secuencia. No se si me explique bien pero pongo un ejemplo:
1- Aprieto start y comienza la secuencia
2- Se enciende el led 1, luego el 1 y 2, luego el 1,2 y 3 ...... hasta el led 50.
3- Aprieto el boton pausa y queda en una posición determinada por ejemplo 1,2 y 3.
4- Presiono nuevamente el boton de "start" y continua desde esa posición.
este sería el código, perdón porque lo hice muy simple o incompleto, es que soy nuevo y estoy aprendiendo.. :]
int START = 2; // Asigna al pin 2 el nombre START
int STOP = 3; // Asigna al pin 3 el nombre STOP
int ROJO = 5; // define al pin 5 el nombre ROJO
int AMARILLO1 = 6; // define al pin 6 el nombre de AMARILLO1
int AMARILLO2 = 7; // define al pin 7 el nombre de AMARILLO2
int VERDE = 8; // define al pin 8 el nombre de VERDE
void setup (){
pinMode(START, INPUT); // El pin 2 lo defino como entrada, start
pinMode(STOP, INPUT); // El pin 3 lo defino como entrada, stop
pinMode (ROJO, OUTPUT); // El pin 5 lo defino como salida, ROJO
pinMode (AMARILLO1, OUTPUT); // El pin 6 lo defino como salida, AMARILLO1
pinMode (AMARILLO2, OUTPUT); // El pin 7 lo defino como salida, AMARILLO2
pinMode (VERDE, OUTPUT); // El pin 8 lo defino como salida, ROJO
}
void loop(){
if (digitalRead(START) == HIGH){ // compara el valor de entrada si esta en estado alto o bajo
digitalWrite(ROJO,HIGH);
digitalWrite(AMARILLO1,LOW);
digitalWrite(AMARILLO2,LOW);
digitalWrite(VERDE,LOW);
delay(1000);
digitalWrite(ROJO,HIGH);
digitalWrite(AMARILLO1,HIGH);
digitalWrite(AMARILLO2,LOW);
digitalWrite(VERDE,LOW);
delay(150);
digitalWrite(ROJO,HIGH);
digitalWrite(AMARILLO1,HIGH);
digitalWrite(AMARILLO2,HIGH);
digitalWrite(VERDE,LOW);
delay(150);
digitalWrite(ROJO,HIGH);
digitalWrite(AMARILLO1,HIGH);
digitalWrite(AMARILLO2,HIGH);
digitalWrite(VERDE,HIGH);
delay(30000);
digitalWrite(ROJO,LOW);
digitalWrite(AMARILLO1,LOW);
digitalWrite(AMARILLO2,LOW);
digitalWrite(VERDE,LOW);
}
else{
digitalWrite(ROJO,LOW);
digitalWrite(AMARILLO1,LOW);
digitalWrite(AMARILLO2,LOW);
digitalWrite(VERDE,LOW);
}
````Texto preformateado`
Desde ya muchas gracias, saludos a todos.