You are on page 1of 5

SEMÁFORO DOBLE VÍA ARDUINO

En esta práctica programaremos el cambio y el parpadeo de la luz verde de dos semáforos


utilizando LEDs.

- Materiales:

Para realizar el circuito necesitas:

• 1 Arduino UNO,
• 2 LEDs rojos,
• 2 LEDs amarillos,
• 2 LEDs verdes,
• 6 Resistencia de 220 ohms,
• 1 Protoboard y Jumpers.

CODIGO
Comenzamos el desarrollo del programa definiendo los pines digitales de los LEDs. Para
identificar el color de los leds dentro del código, las variables las llamaremos conforme al
color y en que semáforo pertenece.

//Aqui vamos a determinar las variables como enteras

int Rojo1 = 5;

int Amarillo1 = 6;

int Verde1 = 7;

int Rojo2 = 8;

int Amarillo2 = 9;

int Verde2 = 10;


En la función void setup() pondremos todos los pines digitales como salida.

void setup() {

pinMode(Rojo1,OUTPUT);

pinMode(Amarillo1,OUTPUT);

pinMode(Verde1,OUTPUT);

pinMode(Rojo2,OUTPUT);

pinMode(Amarillo2,OUTPUT);

pinMode(Verde2,OUTPUT);

En void loop() programaremos la lógica de ambos semáforos. Separaremos los cambios por
secciones utilizando comentarios para no repetir algún cambio durante el proceso.

En la primera sección será el semaforo1 estando en rojo y el semaforo2 en verde, listo para
comenzar con su ciclo de cambio. Durará 3 segundos prendido el LED verde.

void loop() {

//Aqui estamos determinando el ciclo del semaforo2

digitalWrite(Rojo1,HIGH);

digitalWrite(Amarillo1,LOW);

digitalWrite(Verde1,LOW);

digitalWrite(Rojo2,LOW);

digitalWrite(Amarillo2,LOW);

digitalWrite(Verde2,HIGH);

delay(6000);
Para el parpadeo abrimos otra sección solo para manipular el pin digital de LED verde. Se
hará 2 parpadeo y cada uno durará 1 segundo.

//Aqui determinamos los parpadeos del colo verde del semaforo 2

digitalWrite(Verde2,LOW);

delay(2000);

digitalWrite(Verde2,HIGH);

delay(2000);

digitalWrite(Verde2,LOW);

delay(2000);

digitalWrite(Verde2,HIGH);

delay(2000);

Para finalizar el ciclo del semaforo2, prenderemos el LED ambar para poder pasar al ciclo
del semaforo1, esté cambio solo durará 1 segundo.

//Aqui establecemos el cambio del semaforo 2 al semaforo 1

digitalWrite(Amarillo2,HIGH);

digitalWrite(Verde2,LOW);

delay(2000);

Para la programación del semaforo1 es igual al del semaforo2 solo debemos cambiar los
pines de los LEDs, asi quedaría completo:

//Aqui vamos a determinar las variables como enteras

int Rojo1=5;
int Amarillo1=6;
int Verde1=7;
int Rojo2=8;
int Amarillo2=9;
int Verde2=10;

void setup() {

pinMode(Rojo1,OUTPUT);

pinMode(Amarillo1,OUTPUT);

pinMode(Verde1,OUTPUT);

pinMode(Rojo2,OUTPUT);

pinMode(Amarillo2,OUTPUT);
pinMode(Verde2,OUTPUT);

void loop() {

//Aqui estamos determinando el ciclo del semaforo2

digitalWrite(Rojo1,HIGH);

digitalWrite(Amarillo1,LOW);

digitalWrite(Verde1,LOW);

digitalWrite(Rojo2,LOW);

digitalWrite(Amarillo2,LOW);

digitalWrite(Verde2,HIGH);

delay(6000);

//Aqui determinamos los parpadeos del colo verde del semaforo 2

digitalWrite(Verde2,LOW);

delay(2000);

digitalWrite(Verde2,HIGH);

delay(2000);

digitalWrite(Verde2,LOW);

delay(2000);

digitalWrite(Verde2,HIGH);

delay(2000);

//Aqui establecemos el cambio del semaforo 2 al semaforo 1

digitalWrite(Amarillo2,HIGH);

digitalWrite(Verde2,LOW);

delay(2000);

//Aqui vamos a establecer ahora el ciclo para el semaforo 1


digitalWrite(Rojo1,LOW);

digitalWrite(Amarillo1,LOW);

digitalWrite(Verde1,HIGH);

digitalWrite(Rojo2,HIGH);

digitalWrite(Amarillo2,LOW);

digitalWrite(Verde2,LOW);

delay(6000);

//Aqui vamos a determinar el parpadeo del verde del semaforo 1

digitalWrite(Verde1,LOW);

delay(2000);

digitalWrite(Verde1,HIGH);

delay(2000);

digitalWrite(Verde1,LOW);

delay(2000);

digitalWrite(Verde1,HIGH);

delay(2000);

//Aqui por ultimo establecemos de nuevo el cambio del semaforo 1 al semaforo 2


nuevamente y asi se repite el ciclo.

digitalWrite(Amarillo1,HIGH);

digitalWrite(Verde1,LOW);

delay(2000);

You might also like