SESIÓN 04 · ROBÓTICA
Señal luminosa de emergencia
Construimos un circuito con un LED y programamos nueve destellos con Arduino.
Aplicar secuencias, tiempos y salidas digitales para comunicar mediante luz.
Reseña de la sesión
Construiremos un circuito con LED y resistencia en serie. El Arduino controlará una secuencia de tres destellos cortos, tres largos y tres cortos; después diseñaremos otro patrón.
Este circuito repite una señal programada. No detecta emergencias por sí solo ni funciona como sistema de rescate.
Materiales
- Arduino Uno o Nano clásico de 5 V, cable USB de datos y computadora con Arduino IDE preparado por el profesor.
- Protoboard, LED rojo y resistencia de 220 Ω o 330 Ω.
- 2 cables Dupont macho–macho para el montaje indicado. Si el Nano se inserta directamente, sigue la distribución que revise el profesor.
- Libreta, lápiz y archivo del programa descargado.
Actividad de inicio · 5 minutos
Retomen su propuesta sobre México y tecnología: ¿cómo podría una luz comunicar algo más que “encendido” o “apagado”?
Representen con una mano tres señales cortas, tres largas y tres cortas. Otra persona intenta reconocer la secuencia. No necesitan correr ni apagar las luces del salón.
Desarrollo 1 · Comprender el patrón · 8 minutos
Usaremos una unidad de tiempo de 250 milisegundos (0.25 segundos). Un destello largo dura tres unidades.
| Parte | Unidades | Duración |
|---|---|---|
| Destello corto | 1 | 250 ms |
| Destello largo | 3 | 750 ms |
| LED apagado entre destellos | 1 | 250 ms |
| Pausa final antes de repetir | 7 | 1 750 ms |
Los nueve destellos forman una sola señal: corto, corto, corto, largo, largo, largo, corto, corto, corto. Dentro de ella se conserva la misma separación corta entre todos los destellos; no añadimos pausas de letra entre los tres grupos. Para distinguir repeticiones en esta práctica dejamos siete unidades al final.
Desarrollo 2 · Montar el circuito · 12 minutos
Desconecta USB y cualquier otra fuente antes de armar. Repartan tareas de montaje, revisión, programación y registro.
D8 → resistencia → ánodo del LED → cátodo del LED → GND
- Identifica D8 y GND por las etiquetas de tu placa. D8 es el número del pin digital, no el octavo contacto contado desde un extremo.
- En el protoboard, coloca un cable de D8 a A5. Inserta la resistencia entre C5 y A10.
- Coloca el ánodo del LED en C10 y el cátodo en C15. Usa nodos diferentes; recuerda que las patas largas pueden haber sido cortadas.
- Conecta E15 a GND. A5 y C5 están unidos internamente; A10 y C10 también, al igual que C15 y E15.
- Comprueba resistencia en serie, polaridad y ausencia de un puente directo entre D8 y GND. Pide la revisión del profesor antes de conectar el USB.
Los rieles laterales no son necesarios en este ejemplo. Si el montaje no cabe con las patas de tus componentes, el profesor puede cambiar los números manteniendo los mismos nodos compartidos.
Desarrollo 3 · Programar y cargar · 15 minutos
- Descarga y abre senal_sos.ino en Arduino IDE. Si pide crear una carpeta con ese nombre, acepta.
- Revisa PIN_LED = 8 y localiza dónde se fijan los tiempos.
- Selecciona la placa exacta y el puerto que indique el profesor. Los nombres de los menús pueden variar según la versión del IDE.
- Con el montaje revisado, conecta el USB. Verifica el programa y súbelo a la placa.
- Cuenta los destellos del LED externo y compara con el patrón esperado. Conserva una copia del programa original.
Ver el programa completo
// AulaBot - 3.o de secundaria - Sesion 4
// Arduino Uno o Nano clasico de 5 V. LED externo en D8.
// D8 -> resistencia de 220/330 ohm -> anodo LED; catodo -> GND.
const byte PIN_LED = 8;
const unsigned int UNIDAD = 250; // milisegundos
void destello(unsigned int encendido, unsigned int apagado) {
digitalWrite(PIN_LED, HIGH);
delay(encendido);
digitalWrite(PIN_LED, LOW);
delay(apagado);
}
void setup() {
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_LED, LOW);
}
void loop() {
// Tres cortos
destello(UNIDAD, UNIDAD);
destello(UNIDAD, UNIDAD);
destello(UNIDAD, UNIDAD);
// Tres largos: cada uno dura tres unidades
destello(3 * UNIDAD, UNIDAD);
destello(3 * UNIDAD, UNIDAD);
destello(3 * UNIDAD, UNIDAD);
// Tres cortos; despues del ultimo, pausa de siete unidades
destello(UNIDAD, UNIDAD);
destello(UNIDAD, UNIDAD);
destello(UNIDAD, 7 * UNIDAD);
}
| Instrucción | Significado |
|---|---|
| pinMode(PIN_LED, OUTPUT) | Configura D8 como salida. |
| digitalWrite(..., HIGH) | Establece nivel alto: con esta conexión, el LED enciende. |
| digitalWrite(..., LOW) | Establece nivel bajo: con esta conexión, el LED apaga. |
| delay(...) | Espera la cantidad de milisegundos indicada; no cambia por sí mismo el estado del LED. |
| destello(encendido, apagado) | Nuestra función reúne un encendido y el tiempo de apagado que le sigue. |
| setup() / loop() | setup se ejecuta al iniciar; loop se repite mientras la placa está funcionando. |
Desarrollo 4 · Probar y modificar · 7 minutos
- Comprueba dos vueltas: nueve destellos en orden y una pausa final reconocible.
- Si no enciende, desconecta antes de tocar cables. Revisa pin 8, GND, polaridad, nodos y resistencia. Si falla la carga, revisa con el profesor la placa, el puerto y el cable de datos.
- Para cambiar la velocidad conservando el SOS, modifica UNIDAD, por ejemplo a 400. Los destellos largos seguirán durando el triple.
- En una copia, crea un patrón propio de advertencia. Anota sus tiempos y el significado que le asignó el equipo. Si cambias el orden de los destellos, ya no lo llames SOS.
- Pide a otro equipo que interprete el patrón. Registra qué reconoció y qué tendrías que aclarar.
Cierre · 3 minutos
- ¿Por qué conectamos el LED a un pin digital en esta práctica?
- ¿Qué diferencia hay entre esperar 250 ms y apagar el LED?
- ¿Qué determina que otra persona pueda entender una señal luminosa?
Evidencia solicitada
- Circuito funcionando y explicado al profesor; fotografía o video solo si lo solicita.
- Archivo del programa original y la copia con su patrón modificado.
- Registro en libreta de pin, resistencia, secuencia, tiempos encendido/apagado y pausa final.
- Una corrección realizada o las comprobaciones que confirmaron que funcionaba.
Recursos descargables
Si el navegador abre el PDF, utiliza su botón de descarga. Puedes trabajar sin conexión con los archivos descargados.
Referencias: Arduino · Blink y UIT · Duración de puntos, rayas y espacios en Morse.