Teach Lecciones con laboratorios remotos

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.

  • Arduino Board (code)
  • 35 min
  • ESO / primeros cursos de programación física
  • es
  • Tecnología
Arduino Board (code)
Arduino Board (code)

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.

1

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()?

2

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);
  }
}
  1. Abre el laboratorio.

  2. Sube el programa base y observa el orden de los LEDs.

  3. 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.

  4. 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.

3

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.