Lección Teach
Arduino básico 2/4: crea una secuencia de luces
El alumnado programa cuatro LEDs externos con arrays y bucles, prueba una secuencia 1-2-3-4 y la convierte en ida y vuelta.
Resultados de aprendizaje
Usar varios pines digitales como salidas.
Entender un bucle for sencillo.
Modificar un patrón de luces.
Vista previa de la actividad del estudiante
Contenido de la actividad
Solo vista previa. En una sesión de clase, los estudiantes pueden completar respuestas y entregar su trabajo al docente.
Una placa, varios LEDs
9 min
La placa tiene cuatro LEDs externos conectados a los pines 8, 7, 6 y 5. El objetivo es encender y apagar un LED cada vez para formar una secuencia visible: LED 1, LED 2, LED 3 y LED 4. Podrías escribir cuatro bloques de código casi iguales, uno para cada LED, pero un array y un for evitan repetir tanto. Piensa en el array como una lista de pines, y en el for como una forma de recorrer esa lista para aplicar la misma acción a cada LED.
Fíjate en este fragmento del programa base de la actividad:
const int totalLeds = 4;
void loop() {
for (int i = 0; i < totalLeds; i++) {
// Enciende y apaga un LED de la lista.
}
}Según ese fragmento, ¿cuántas veces se repite el bucle for dentro de loop()?
Programa la secuencia
18 min
Primero prueba el programa base: debe encender LED 1, LED 2, LED 3 y LED 4, uno detrás de otro. Después modifícalo para que la secuencia vuelva hacia atrás y quede así: LED 1, 2, 3, 4, 3, 2. Una forma sencilla es añadir un segundo for después del primero, empezando en el penúltimo LED para no repetir el LED 4 dos veces seguidas. Guarda el archivo antes de adjuntar el snapshot.
const int leds[] = {8, 7, 6, 5};
const int totalLeds = 4;
void setup() {
for (int i = 0; i < totalLeds; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < totalLeds; i++) {
digitalWrite(leds[i], HIGH);
delay(300);
digitalWrite(leds[i], LOW);
}
}Abre el laboratorio.
Sube el programa base y observa el orden de los LEDs.
Añade el camino de vuelta: después de LED 4, el patrón debe encender LED 3 y LED 2 antes de volver a empezar.
Guarda antes de capturar el código.
Entrega tu código
Captura el código de tu secuencia ida y vuelta: LED 1, 2, 3, 4, 3, 2. Antes de adjuntarlo, guarda main.ino en el entorno del laboratorio. El snapshot debe mostrar el programa que realmente quieres que revise tu profesor.
Lee el programa
8 min
¿Qué línea cambiarías para que cada LED estuviera encendido más tiempo? Di la línea y el nuevo valor que probarías.