#6Intermedio

Efecto coche fantástico con LED

4.8(103)
183 completado
Efecto coche fantástico con LED
Proyecto que crea un efecto de relámpago negro al estilo de Knight Rider encendiendo 6 LEDs de un lado a otro en secuencia. Enseña lógica de bucle bidireccional.

Video

Diagrama del circuito

Efecto coche fantástico con LED - Circuit

Código fuente

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Efecto coche fantástico con LED
4// ─────────────────────────────────────────
5// Los 6 LED se encienden uno a uno hacia adelante y luego hacia atrás
6// (efecto Knight Rider). Muestra la lógica de un bucle for bidireccional.
7//
8// Pines:
9//   D2, D3, D4, D5, D6, D7 -> 6 LED (en orden)
10//   Cada LED con una resistencia de 330 ohmios
11
12int ledPins[] = {2, 3, 4, 5, 6, 7};   // Pines de los LED en orden de encendido
13
14void setup() {
15  // Configurar todos los pines de LED como salidas
16  for(int i = 0; i < 6; i++) {
17    pinMode(ledPins[i], OUTPUT);
18  }
19}
20
21void loop() {
22  // Hacia adelante: de D2 a D7, 100 ms por LED
23  for(int i = 0; i < 6; i++) {
24    digitalWrite(ledPins[i], HIGH);
25    delay(100);
26    digitalWrite(ledPins[i], LOW);
27  }
28
29  // Hacia atrás: de D6 a D3. Se saltan los LED de los extremos para que el rebote parezca continuo
30  for(int i = 4; i > 0; i--) {
31    digitalWrite(ledPins[i], HIGH);
32    delay(100);
33    digitalWrite(ledPins[i], LOW);
34  }
35}
36

Preguntas frecuentes

¿Cómo se produce el efecto «Karaşimşek» (Knight Rider)?▾

Los LED se encienden primero de izquierda a derecha y luego de derecha a izquierda, uno tras otro. Se ejecutan dos ciclos seguidos; como el segundo ciclo cuenta en sentido contrario, la luz va y viene.

Parece que los LED de los extremos parpadean dos veces, ¿cómo lo soluciono?▾

Si el ciclo de rotación vuelve a encender el LED del extremo, ese LED permanecerá encendido durante dos pasos. Puedes evitar la repetición en los extremos iniciando el ciclo de rotación con un índice menor o mayor (por ejemplo, de 4 a 1).

¿Cómo se ajusta la velocidad?▾

Cambia el valor de delay() entre cada paso. Un valor entre 30 y 80 ms proporciona un efecto fluido. Si quieres cambiar la velocidad mientras está en marcha, puedes añadir un potenciómetro, como en el siguiente proyecto: «Rayo negro con velocidad ajustable».

¿Puedo añadir más LED?▾

Sí, basta con añadir nuevos pines a la matriz de pines y actualizar los límites del bucle. La Uno tiene 12 pines digitales libres; si necesitas más, puedes controlar más de 8 LED con solo 3 pines mediante un registrador de desplazamiento 74HC595.

Efecto coche fantástico con LED | BlueGrays