Semáforo

Ahora utilizaremos arduino para programa un semáforo, para esto consideremos que la luz verde tiene que estar encendida 5 segundos, después de eso tiene que parpadear 3 veces en un segundo, tiene que cambiar a la luz amarilla, la que se tiene que quedar encendida un segundo y finalmente cambiar al rojo, el cual tiene que encenderse durante 5 segundos antes de reiniciar el ciclo.

Primero que nada notemos que en este programa necesitaremos utilizar 3 salidas, cada una de ellas para controlar un color del semáforo, utilizaremos los pines 11, 12 y 13 del arduino, así que las primeras lineas del programa quedaran de la siguiente manera:

int Led_Rojo = 11;
int Led_Amarillo = 12;
int Led_Verde = 13;

Como ya se comentó se quiere hacer variar el estado de los LED’s, por lo que tendremos que programarlos como salidas, esto se hace en la parte del setup o configuración, de tal forma que ese bloque del programa quedará como se muestra a continuación.

void setup()
{
   pinMode(Led_Rojo, OUTPUT);
   pinMode(Led_Amarillo, OUTPUT);
   pinMode(Led_Verde, OUTPUT);
}

Finalmente en la parte del loop o ciclo tendremos que llevar a cabo la rutina para esto empezamos encendiendo el led verde y utilizando un retardo para dejarlo encendido durante 5 segundos, después de eso lo hacemos parpadear apagándolo y encendiéndolo con intervalos de 200 ms, cuando se apaga encendemos el amarillo y finalmente cuando se apaga encendemos el rojo. Todo este bloque de programa se muestra a continuación.

void loop()
{
   digitalWrite(Led_Verde, HIGH);
   delay(5000);
   digitalWrite(Led_Verde, LOW);
   delay(200);
   digitalWrite(Led_Verde, HIGH);
   delay(200);
   digitalWrite(Led_Verde, LOW);
   delay(200);
   digitalWrite(Led_Verde, HIGH);
   delay(200);
   digitalWrite(Led_Verde, LOW);
   digitalWrite(Led_Amarillo, HIGH);
   delay(1000);
   digitalWrite(Led_Amarillo, LOW);
   digitalWrite(Led_Rojo, HIGH);
   delay(5000);
   digitalWrite(Led_Rojo, LOW);
}

Se puede notar que se lleva a cabo la rutina del semáforo únicamente teniendo en cuenta que foco encender/apagar y el tiempo que deben de estar así, el programa mostrado lo compilamos y muestra los siguientes parámetros.

Con lo que podemos notar que no se tienen errores en la programación y se puede proceder a subir el programa a la placa, para poder ver la secuencia tendremos que conectar tres led’s en los pines indicados, así podremos verificar el correcto funcionamiento y en caso de ser necesario ajustar los parámetros.