Lección Teach
STM32 con Arduino API (1/4): primer parpadeo
El alumnado usa STM32 CodeIDE con la API Arduino para escribir setup() y loop(), hacer parpadear una salida real y documentar compilación/subida.
Inicia sesión con una cuenta docente para preparar una sesión. El alumnado entra con un código de clase.
¿Primera vez en LabsLand? Crea tu cuenta de docente
Resultados de aprendizaje
Escribir un sketch Arduino mínimo para una placa STM32.
Distinguir el código que prepara la placa del código que se repite.
Registrar evidencia observable de una salida digital real.
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.
Antes de abrir el laboratorio
8 min
Un microcontrolador no "entiende" frases: ejecuta instrucciones concretas. Hoy solo necesitamos una salida digital, un LED, y dos esperas.
En un sketch Arduino:
setup()se ejecuta una sola vez y prepara la placa.loop()se repite mientras la placa está encendida.pinMode(pin, OUTPUT)declara que un pin será una salida.digitalWrite(pin, HIGH)pone una salida en alto;LOWla apaga.
El ciclo principal tendrá esta forma:
digitalWrite(LED_AZUL, HIGH);
delay(1000);
digitalWrite(LED_AZUL, LOW);
delay(1000);Si el LED está encendido durante 1000 ms y apagado durante 1000 ms dentro de loop(), ¿qué patrón debería repetirse?
Crear y probar el parpadeo
24 min
Esta foto sirve para reconocer la placa STM32 Nucleo WB55RG. En la foto aparece la placa sola; en el laboratorio remoto real está integrada en un montaje con LEDs y otros componentes ya conectados. No necesitas cablear nada: vas a usar un LED disponible en ese montaje remoto.
Foto de referencia de la placa STM32 Nucleo WB55RG. En el laboratorio remoto la placa forma parte de un montaje ya cableado; en esta primera sesión la usarás como una placa de Arduino textual: escribir, compilar, subir y observar.
Inicia el laboratorio desde este bloque. En CodeIDE, selecciona la pestaña del editor
main.ino.Sustituye su contenido por el programa inicial de abajo.
Sustituye los TODO 1-4. Cada comentario indica qué tipo de código corresponde sin dar el token. Busca
TODOenmain.ino: no puede quedar ninguno antes de compilar.Guarda
main.ino, pulsa Compilar y espera el mensaje de compilación correcta. Compilar comprueba y traduce el código; no cambia la placa real.Solo cuando compile, pulsa Subir y espera el mensaje de subida correcta. Subir instala esa versión compilada en la placa.
Observa el LED azul durante al menos tres ciclos completos. Registra este comportamiento inicial, sin cambios, en la fila 1.
Cambia solo
PARPADEO_MSa otro intervalo visible entre250 msy2000 ms. Guarda, compila, sube, observa tres ciclos y registra la fila 2.
#include <Arduino.h>
const int LED_AZUL = PB5;
const int PARPADEO_MS = TODO_INTERVALO_PARPADEO; // TODO 1: intervalo de un segundo, en ms
void setup() {
pinMode(LED_AZUL, TODO_DIRECCION_LED); // TODO 2: modo que permite controlar el LED
}
void loop() {
digitalWrite(LED_AZUL, TODO_NIVEL_ENCENDIDO); // TODO 3: nivel para encender
delay(PARPADEO_MS);
digitalWrite(LED_AZUL, TODO_NIVEL_APAGADO); // TODO 4: nivel opuesto para apagar
delay(PARPADEO_MS);
}
Rellena la tabla después de probar el programa en la placa. Usa solo dos filas y deja vacías las demás si Teach muestra más:
- Fila 1: programa inicial completado con intervalo de
1000 ms. - Fila 2: tu versión modificada.
- En Patrón observado, escribe lo que viste en la placa real.
- En Ajuste o problema, escribe
ningunosi funcionó, o qué revisarías si no coincidió.
| Versión probada | Valor de delay (ms) | Patrón observado | ¿Coincide con la predicción? | Ajuste o problema |
|---|---|---|---|---|
Describe una evidencia concreta de que tu programa se ejecutó en la placa real. Nombra la salida, indica ambos valores de espera en ms y compara al menos tres ciclos iniciales con al menos tres ciclos modificados.
Entregar tu código
8 min
Antes de entregar, deja el código final guardado en main.ino. El profesor debe poder ver el pin usado, el pinMode, los dos digitalWrite y el valor de delay que probaste. Busca TODO una vez más: el archivo entregado no debe contener ninguno.
Entrega tu main.ino final
Guarda main.ino antes de adjuntarlo. El snapshot debe mostrar el programa final que compilaste, subiste a la placa y quieres que revise tu profesor.
Ticket de salida
10 min
Explica la diferencia entre setup() y loop() usando tu programa de parpadeo como ejemplo. Añade por qué conviene cambiar una sola cosa cada vez al depurar.
Convierte esta vista previa en una sesión de clase real
Continúa a LabsLand Teach para usar esta lección con tu alumnado y revisar el acceso disponible para tu cuenta.
¿Primera vez en LabsLand? Crea tu cuenta de docente