#3Principiante

Semáforo

4.8(122)
302 completado
Semáforo
Proyecto que simula un semáforo real con LED rojos, amarillos y verdes. Enseña temporización y lógica de control secuencial.

Video

Diagrama del circuito

Semáforo - Circuit

Código fuente

Arduino (C++)
1void setup() {
2  pinMode(2,OUTPUT);
3  pinMode(3,OUTPUT);
4  pinMode(4,OUTPUT);
5}
6void loop() {
7  digitalWrite(2,HIGH);
8  digitalWrite(3,LOW); 
9  digitalWrite(4,LOW);  
10  delay(2000);
11  digitalWrite(2,LOW);  
12  digitalWrite(3,HIGH);
13  digitalWrite(4,LOW);  
14  delay(300);
15  digitalWrite(2,LOW);  
16  digitalWrite(3,LOW);  
17  digitalWrite(4,HIGH);
18  delay(2000);
19  digitalWrite(2,LOW);
20  digitalWrite(3,HIGH);
21  digitalWrite(4,LOW); 
22  delay(300);
23}

Preguntas frecuentes

¿Cuánto tiempo debe permanecer encendida la luz amarilla del semáforo?▾

En los semáforos reales, la luz amarilla suele permanecer encendida entre 3 y 4 segundos. En el proyecto, este tiempo se ajusta mediante la función delay(); si se prolongan los tiempos de la luz roja y la verde y se acorta el de la amarilla, se consigue un ciclo muy similar al real.

¿Por qué se utiliza una resistencia de 330 Ω en lugar de una de 220 Ω?▾

Una resistencia de 330 Ω reduce un poco más la intensidad de la corriente (aproximadamente 9-10 mA); los LED siguen viéndose perfectamente y se consume menos corriente total en los pines. También funciona con una resistencia de 220 Ω, solo que los LED brillan un poco más.

¿Puedo añadir un botón para peatones?▾

Sí. Puedes añadir un pulsador y una resistencia pull-down de 10 kΩ, y leer el valor con digitalRead. Al pulsar el pulsador, puedes cambiar el color del ciclo a rojo y encender un LED verde independiente para los peatones; al hacerlo, utilizar millis() en lugar de delay garantiza que el pulsador se detecte al instante.

Los LED se están desordenando, ¿qué debo hacer?▾

Compara una a una las definiciones de los pines del código (rojo, amarillo, verde) con los cables del circuito. Lo más sencillo es encender cada LED con un código de prueba independiente y comprobar a qué pin está conectado.

Semáforo | BlueGrays