#5Intermedio

Luz secuencial LED

4.6(83)
186 completado
Luz secuencial LED
Proyecto que crea un efecto de luz secuencial encendiendo 6 LEDs en secuencia. Enseña el uso de array y control de múltiples pines con bucle for.

Video

Diagrama del circuito

Luz secuencial LED - Circuit

Código fuente

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Luz secuencial LED
4// ─────────────────────────────────────────
5// Los 6 LED se encienden uno tras otro durante 150 ms cada uno, así la luz
6// recorre la fila. Muestra el control de varios pines con un array y un
7// bucle for.
8//
9// Pines:
10//   D2, D3, D4, D5, D6, D7 -> 6 LED (en orden)
11//   Cada LED con una resistencia de 330 ohmios
12
13int ledPins[] = {2, 3, 4, 5, 6, 7};   // Pines de los LED en orden de encendido
14
15void setup() {
16  // Configurar todos los pines de LED como salidas
17  for(int i = 0; i < 6; i++) {
18    pinMode(ledPins[i], OUTPUT);
19  }
20}
21
22void loop() {
23  // Encender cada LED por turnos durante 150 ms
24  for(int i = 0; i < 6; i++) {
25    digitalWrite(ledPins[i], HIGH);
26    delay(150);
27    digitalWrite(ledPins[i], LOW);
28  }
29}
30

Preguntas frecuentes

¿Por qué es mejor utilizar una matriz (array)?▾

Si guardas los números de pin en una matriz, puedes recorrer todos los LED en una sola línea con un bucle «for». Para cambiar el número de LED, basta con actualizar la matriz; no es necesario escribir una línea por cada LED.

¿Se estropeará el Arduino si se encienden los 6 LED a la vez?▾

Con una resistencia de 330 Ω, cada LED consume aproximadamente entre 9 y 10 mA; 6 LED suman un total de unos 60 mA, lo que se encuentra dentro de los límites de seguridad de la Uno. El límite máximo recomendado para un solo pin es de 20 mA, mientras que la corriente total de E/S de la placa es de 200 mA.

¿Cómo puedo invertir la dirección de marcha?▾

Configura el bucle «for» de atrás hacia adelante: for (int i = 5; i >= 0; i--). De este modo, la luz se desplazará en sentido contrario. Si encadenas los dos bucles, conseguirás el efecto de «relámpago negro».

Uno de los LED no se enciende, ¿a qué se debe?▾

Es posible que el LED esté colocado al revés, que la patilla no encaje bien en la placa de pruebas o que la resistencia esté en otra fila. Puedes averiguar si el LED está defectuoso o si el problema está en la conexión colocándolo en el lugar de un LED que funcione.

Luz secuencial LED | BlueGrays