Ejercicio No. 1 – Simulación de Semáforo con Arduino Uno R4 WiFi

Resumen del ejercicio

En este ejercicio aprenderemos a controlar salidas digitales en un sistema embebido mediante la simulación de un semáforo. Utilizando un Arduino Uno y tres LEDs (rojo, verde y ámbar), el programa enciende y apaga los LEDs siguiendo una secuencia temporal bloqueante. Esto permite visualizar de manera práctica cómo se pueden controlar dispositivos electrónicos conectados a pines digitales.


Objetivo pedagógico

El estudiante que realice este ejercicio aprenderá a:

  • Configurar pines digitales como salidas en Arduino.
  • Implementar secuencias temporales usando delay().
  • Comprender la lógica de un semáforo y su relación con sistemas de control.
  • Introducción a la programación básica en sistemas embebidos.

Pasos principales y explicación del código

El programa se estructura en dos partes principales:

  1. Inicialización (setup())
    • Configura cada LED conectado a un pin digital como salida.
    • Prepara el Arduino para controlar los LEDs de manera directa.
  2. Bucle principal (loop())
    • Ejecuta la secuencia de semáforo:
      1. LED rojo encendido durante un intervalo definido.
      2. LED verde encendido durante otro intervalo.
      3. LED ámbar encendido para indicar transición.
    • La función delay() se utiliza para mantener cada LED encendido el tiempo necesario antes de pasar al siguiente.

Diagrama de bloques didáctico:

[Inicio loop]
      |
      v
[Encender LED Rojo]
      |
      v

[delay tiempo rojo]

| v [Encender LED Verde] | v

[delay tiempo verde]

| v [Encender LED Ámbar] | v

[delay tiempo ámbar]

| v [Repetir secuencia]

Este flujo permite entender de manera visual cómo se implementa un control secuencial simple en un microcontrolador.


Enlace al repositorio o código completo

Puedes acceder al código completo y descargable aquí:
Ejercicio Semáforo Arduino


Aplicaciones en la vida real

Este tipo de control secuencial se encuentra en:

  • Semáforos reales en calles y avenidas.
  • Sistemas de indicadores LED en maquinaria industrial.
  • Proyectos de automatización doméstica, como luces de notificación o alertas visuales.
  • Prototipos educativos, donde se simulan procesos secuenciales antes de aplicarlos en sistemas reales.

Tip práctico

Aunque delay() es fácil de usar, bloquea la ejecución de otras tareas. Para proyectos más complejos, considera usar la función millis() para crear temporizaciones no bloqueantes, lo que permite que el Arduino realice varias tareas al mismo tiempo.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio