Encendido y apagado de un led con Arduino 1

Semáforo sencillo con Arduino 1

Otra práctica sencilla de realizar es la de un semáforo de una vía. El elemento principal a utilizar en esta práctica es nuevamente el led en este caso de color rojo, amarillo y verde

Elementos electrónicos necesarios para este circuito

CantidadDescripción
1Tarjeta Arduino 1
1Led de color rojo
1Led de color amarillo
1Led de color verde
3Resistencias de 330 ohmios 1/4 W
4Cables para arduino
1Protoboard pequeño

Esquema de conexión


Funcionamiento

Primeramente los pines 11, 12 y 13 del arduino 1 deben estar configurados como salidas (vea como se hace en la sección del código fuente), el pin 11 envía el valor de 1 lógico para que se encienda el led verde, al mismo tiempo el pin 12 y 13 envían el valor de 0 lógico para que los leds amarillos y rojos estén apagados, transcurrido un tiempo el pin 11 envía el valor de 0 lógico para que el led verde se apague, así mismo en el mismo instante el pin 12 envía un 1 lógico para que se enciende el led color amarillo y el pin 13 envía un 0 lógico para que el led rojo continúe apagado, transcurrido un tiempo mas pequeño el pin 12 envía un 0 lógico para que se apague el led amarillo, también el pin 11 envía un 0 lógico para que continúe apagado el led verde, el pin 13 envía un 1 lógico para que esta vez se encienda el led rojo, finalmente después de pasar un tiempo vuelve a repetirse la secuencia con la que inició el programa.

Código Fuente

El siguiente código es el que hace posible que los leds se enciendan y apaguen de acuerdo al funcionamiento de un semáforo. El software utilizado es Arduino.
char Ledrojo=13;        //variable Ledrojo con el valor de 13
char Ledamarillo=12;    //variable Ledamarillo con el valor de 12
char Ledverde=11;       //variable Ledverde con el valor de 11
void setup()            //SUBRUTINA DE CONFIGURACIÓN
{
pinMode(Ledrojo,OUTPUT);      //pin 13 configurado como salida
pinMode(Ledamarillo,OUTPUT);  //pin 12 configurado como salida
pinMode(Ledverde,OUTPUT);     //pin 11 configurado como salida
}
void loop()             //SUBRUTINA PRINCIPAL
{
digitalWrite(Ledverde,1);     //Pin 11 envía un valor alto o 5 voltios
digitalWrite(Ledamarillo,0);  //Pin 12 envía un valor bajo o 0 voltios
digitalWrite(Ledrojo,0);      //Pin 13 envía un valor bajo o 0 voltios 
delay(1000);                  //tiempo de espera de 1 segundo
digitalWrite(Ledverde,0);     //Pin 11 envía un valor bajo o 0 voltios
digitalWrite(Ledamarillo,1);  //Pin 12 envía un valor alto o 5 voltios
digitalWrite(Ledrojo,0);      //Pin 13 envía un valor bajo o 0 voltios 
delay(100);                   //tiempo de espera de 100 milisegundos
digitalWrite(Ledverde,0);     //Pin 11 envía un valor bajo o 0 voltios
digitalWrite(Ledamarillo,0);  //Pin 12 envía un valor bajo o 0 voltios
digitalWrite(Ledrojo,1);      //Pin 13 envía un valor alto o 5 voltios 
delay(1000);                  //tiempo de espera de 1 segundo
}

Video explicativo

En el siguiente video podrás ver paso a paso como se realiza esta práctica.








Comentarios