Tecnología

InfotronikBlog Idea guardada 0 veces
Sé la primera persona en valorar esta idea Valorar

Ejemplos Arduino: Semáforo (Street Light)

Buenas a todos!!!
Hoy les traigo un ejemplo de los más básicos que se pueden realizar con Arduino: El semáforo.
Si bien es un practica sencilla, nos ayudará a entender como realizar secuencias con LED y el bucle FOR que creo ya describí en otra entrada de este mismo blog. Arduino: Efecto Coche fantástico
Podría haber realizado la practica con un solo semáforo, pero creo que queda mucho más bonito con dos ya que representa como tendría que funcionar un semáforo en una intersección.
Otro punto interesante seria añadirle un pequeño altavoz para simular el dispositivo para invidentes que hay situados en casi todos los semáforos de una gran ciudad.

Para este ejemplo solo necesitaremos:

Arduino UNO

6 Resistencias 330ohm

2 LED de color rojo

2 LED de color naranja

2 LED de color verde
Conexiones:
Usaremos los pines digitales 7, 8, 9, 10, 11, 12 donde irán conectados los LED con una resistencia limitadora de 330ohm


El código del programa es bastante sencillo, puedes copiar y pegar o descargar el sketch al final de esta misma entrada:

//Definimos los pines de los LED
//Semaforo 1:
const int rojo = 7;
const int amarillo = 8;
const int verde = 9;
//Semaforo 2:
const int rojo2 = 10;
const int amarillo2 = 11;
const int verde2 = 12;

void setup() {
//Configuramos los pines como salida
pinMode (rojo, OUTPUT);
pinMode (amarillo, OUTPUT);
pinMode (verde, OUTPUT);
pinMode (rojo2, OUTPUT);
pinMode (amarillo2, OUTPUT);
pinMode (verde2, OUTPUT);
//Comprobamos que todos los LEDs encienden
for (int z = 7; z < 13; z++) {
digitalWrite ( z, HIGH);
delay (100);
digitalWrite (z, LOW);
delay(100);
}
}

void loop() {
///////SECUENCIA 1/////////////
digitalWrite (rojo2, HIGH);
digitalWrite (verde, HIGH);
delay (5000);
digitalWrite (verde, LOW);
///////SECUENCIA 2////////////
for (int x = 0; x < 5; x++) {
digitalWrite (amarillo, HIGH);
delay(500);
digitalWrite (amarillo, LOW);
delay (500);
}
///////SECUENCIA 3/////////////
digitalWrite (rojo2, LOW);
digitalWrite (verde2, HIGH);
digitalWrite (rojo, HIGH);
delay (5000);
digitalWrite (verde2, LOW);
///////SECUENCIA 4/////////////
for (int y = 0; y < 5; y++) {
digitalWrite (amarillo2, HIGH);
delay(500);
digitalWrite (amarillo2, LOW);
delay (500);
}
digitalWrite (rojo, LOW);

}

En la siguiente animación podemos ver el resultado final del programa:



Descargar Ejemplo Semaforo Infotronikblog

Espero que les guste y les sea de utilidad, hasta la próxima!!!!
Fuente: este post proviene de InfotronikBlog, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Usos para Raspberry Pi

Buenas a todos!!! Esta publicación va con un poco de retraso... ya tenía la Raspberry Pi 2 desde hacia bastante tiempo, pero como la tenia en otros usos y no he podido hacerle una entrada en condicion ...

Recomendamos

¡No te pierdas nuestra selección diaria!

Suscríbete y recibirás en tu correo nuestras mejores ideas

Suscríbete ahora

Relacionado

Arduino Añadir fichero Ejemplos ...

Ejemplos Arduino: Trabajando con pestañas en el Sketch

Muy buenas a todos!!! A todos nos ha pasado que cuando ya le pillamos el truquillo a esto de Arduino hacemos programas más y más grandes, añadiendo funciones extras haciendo que se sumen lineas hasta casi volvernos locos buscando esa linea... Para solucionar esto y hacer que nuestro código este mucho mejor estructurado. Podemos solucionar esto de varias maneras. Una de ellas seria con Sketch que v ...