
Video
Diagrama del circuito

Código fuente
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// Luz secuencial LED con velocidad regulable
4// ─────────────────────────────────────────
5// Un potenciómetro ajusta la velocidad del efecto LED de luz que camina.
6// A0 se lee en cada paso y su valor de 0-1023 se convierte en el tiempo de
7// retardo (ms).
8//
9// Pines:
10// D2, D3, D4, D5, D6, D7 -> 6 LED (en orden)
11// Cada LED con una resistencia de 330 ohmios
12// A0 -> Cursor del potenciómetro
13// (patillas exteriores a 5V y GND)
14
15int ledPins[] = {2, 3, 4, 5, 6, 7}; // Pines de los LED en orden de encendido
16int potValue; // Valor del potenciómetro = retardo (ms)
17
18void setup() {
19 // Configurar todos los pines de LED como salidas
20 for(int i = 0; i < 6; i++) {
21 pinMode(ledPins[i], OUTPUT);
22 }
23}
24
25void loop() {
26 for(int i = 0; i < 6; i++) {
27 potValue = analogRead(A0); // Leer la velocidad (0-1023)
28 digitalWrite(ledPins[i], HIGH);
29 delay(potValue); // Esperar tantos ms como el valor del potenciómetro
30 digitalWrite(ledPins[i], LOW);
31 }
32}
33Preguntas frecuentes
¿Qué valores devuelve la función analogRead?▾
Las entradas analógicas del Uno leen valores de 0 a 5 V con una resolución de 10 bits y devuelven un número comprendido entre 0 y 1023. A medida que se gira el potenciómetro de un extremo a otro, el valor varía de 0 a 1023.
¿Cómo convertimos el valor del potenciómetro en velocidad?▾
Con la función map(), puedes convertir el intervalo 0–1023 al intervalo de retardo que desees (por ejemplo, 20–500 ms): map(valor, 0, 1023, 20, 500). Cuando se utiliza este valor dentro de `delay()`, la velocidad cambia al instante.
¿Cómo se conectan las patillas del potenciómetro?▾
Las dos patillas exteriores se conectan a 5 V y a GND, y la patilla central (limpiaparabrisas) a una entrada analógica (p. ej., A0). Si conectas las patillas exteriores al revés, solo se invierte el sentido de giro; el circuito no se estropea.
El cambio de velocidad se percibe con retraso, ¿por qué?▾
Si el potenciómetro solo se lee al inicio del ciclo, el nuevo valor no se aplica hasta que todos los LED se hayan encendido. Si se incluye la lectura dentro de cada paso de los LED, la velocidad cambia al instante.
