Vamos a simular un semáforo en Arduino usando 3 leds de color rojo, amarillo y verde. También vamos a usar resistencias para evitar desgastar a los mismos, y obviamente código Arduino para encenderlos y apagarlos.
Lo que repasaremos con esta práctica es:
pinMode
– Para establecer si un pin será de salida o entrada
digitalWrite
– Apagar o encender un LED con Arduino
Semáforo simple con Arduino
El circuito
Primero que nada, veamos el circuito. No lo hice con Fritzing, sino con Tinkercad; pues esta última herramienta me ayuda a simular además de diseñar.

Utilizamos 3 resistencias de 220 ohms (puedes poner una de hasta 47 pero se disminuiría el tiempo de vida de los leds) y también una resistencia mayor.
Cada led está conectado a una resistencia y cada resistencia a su vez está conectada a una salida del Arduino (7, 8 y 9). El cátodo de los 3 leds va a tierra.
Código de semáforo
Para encender un led usamos digitalWrite(numeroDePin, HIGH)
y para apagarlo usamos digitalWrite(numeroDePin, LOW)
.
He puesto este comportamiento dentro de la función cambiarA
, que apaga el anterior y enciende el nuevo.
Para simular el semáforo el algoritmo es sencillo y va dentro del loop. Primero encendemos el led verde, esperamos 5 segundos, cambiamos a amarillo, esperamos 2 segundos, cambiamos a rojo, esperamos 5 segundos y el ciclo se repite.
Si quieres puedes simular el circuito haciendo click aquí.