// Pines según tu diagrama
const int led1 = 12;
const int led2 = 11;
const int led3 = 10;
const int boton = 5; // botón con resistencia a tierra (pull-down)
// Control de velocidad
int velocidad = 300;
int velMin = 100;
int velMax = 1000;
int paso = 100;
bool subiendo = true;
bool estadoAnterior = LOW;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(boton, INPUT); // porque tienes resistencia externa
}
void loop() {
// -------- BOTÓN --------
bool estadoActual = digitalRead(boton);
if (estadoActual == HIGH && estadoAnterior == LOW) {
if (subiendo) {
velocidad -= paso; // más rápido
if (velocidad <= velMin) {
velocidad = velMin;
subiendo = false;
}
}
else {
velocidad += paso; // más lento
if (velocidad >= velMax) {
velocidad = velMax;
subiendo = true;
}
}
delay(200); // antirrebote
}
estadoAnterior = estadoActual;
// -------- SECUENCIA --------
digitalWrite(led1, HIGH);
delay(velocidad);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(velocidad);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
delay(velocidad);
digitalWrite(led3, LOW);
}