Está en la página 1de 5

Descripcion del código del semáforo en Arduino..

//** Descripcion del Codigo Semaforo **//


int rojo=2; // Fijamos el pin en el arduino para el led rojo
int amarillo=4; // Fijamos el pin en el arduino para el led amarillo
int verde=7; // Fijamos el pin en el arduino para el led verde
//** Programa **//

void setup() {
pinMode(verde,OUTPUT); //declaramos el pin verde como salida
pinMode(amarillo,OUTPUT);//declaramos el pin amarillo como salida
pinMode(rojo,OUTPUT); //declaramos el pin rojo como salida
}

//En void loop se escribirán las ordenes que se ejecutaran...


void loop() {
digitalWrite(verde,HIGH); //Instrucción donde se encendera el led rojo
delay(2000); //esperamos 2 segundos
digitalWrite(verde,LOW); //Instrucción para apagar el led rojo
delay(500); //esperamos medio segundo

digitalWrite(amarillo,HIGH);//Se encenderá el led amarillo


delay(2000); //esperamos 2 segundos
digitalWrite(amarillo,LOW); //Se apagara el led amarillo
delay(500); //esperamos medio segundo

digitalWrite(rojo,HIGH); //Se encendera el led verde


delay(2000); //esperamos 2 segundos
digitalWrite(rojo,LOW); //Se apagara el led verde
delay(500); //esperamos medio segundo
}
/*

Programa para un par de semaforos que cambian de uno

a otro, y la implementacion de un boton para terminar

el tiempo de la luz verde y pasar al otro.

*/

// Se fijara la variable para el pin del botón en Arduino

const int button = 8;

void setup() {

// Dentro del ciclo for se activaran los pines del 2 al 7 como salidas

for (int pin = 2; pin <= 7; pin++) {

pinMode(pin, OUTPUT);

// El pin del botón de colocara como una entrada

pinMode(button, INPUT);

// Funciones para el primer semaforo y sus cambios de estado

void semaphoreOne() {

digitalWrite(2, HIGH);//El led 2 estara encendido

int count = 0; //Se declara el contador en 0

while (count < 30) { //Mientras el contador sea menor 30

// El ciclo esta en espera mientras el boton no es presionado

if (digitalRead(button) == true) {

break;

count++; //Aumentara el contador..

delay(200); //Esperamos un quinto de segundo..


}

// Programamos el cambio entre semaforos. Cuando el LED tiene la


posicion LOW estara apagado, mientras que si esta en posicion HIGH estada
encendido.

digitalWrite(2, LOW); //Led 2 apagado

delay(500); //Tiempo de espera

digitalWrite(2, HIGH); //Led 2 encendido

delay(500); //Tiempo de espera

digitalWrite(2, LOW); //Led 2 apagado

delay(500); //Tiempo de espera

digitalWrite(2, HIGH); //Led 2 encendido

delay(500); //Tiempo de espera

digitalWrite(2, LOW); //Led 2 apagado

delay(500); //Tiempo de espera

digitalWrite(2, HIGH); //Led 2 encendido

delay(500); //Tiempo de espera

digitalWrite(2, LOW); //Led 2 apagado

delay(500); //Tiempo de espera

digitalWrite(2, HIGH); //Led 2 encendido

delay(500); //Tiempo de espera

digitalWrite(2, LOW); //Led 2 apagado

digitalWrite(3, HIGH); //Led 3 encendido

delay(2500); //Tiempo de espera

digitalWrite(3, LOW); //Led 3 apagado

digitalWrite(4, HIGH); //Led 4 encendido

digitalWrite(7, LOW); //Led 7 apagado

// Mandamos a llamar al otro semaforo

semaphoreTwo();

}
// Funcion para el segundo semaforo y sus cambios de estado

void semaphoreTwo() {

digitalWrite(5, HIGH); //El led 5 estara encendido..

int count = 0; //Se declara el contador en 0

while (count < 30) { //Mientras sea menor a 30

// El ciclo esta en espera mientras el boton no es presionado

if (digitalRead(button) == true) {

break;

count++; //Aumento del contador

delay(200); //Espera de un 1 quinto de segundo

digitalWrite(5, LOW); //Apagado el led 5

delay(500); //Tiempo de espera

digitalWrite(5, HIGH); //Led 5 encendido

delay(500); //Tiempo de espera

digitalWrite(5, LOW); //Led 5 apagado

delay(500); //Tiempo de espera

digitalWrite(5, HIGH); //Led 5 encendido

delay(500); //Tiempo de espera

digitalWrite(5, LOW); //Led 5 apagado

delay(500); //Tiempo de espera

digitalWrite(5, HIGH); //Led 5 encendido

delay(500); //Tiempo de espera

digitalWrite(5, LOW); //Led 5 apagado

delay(500); //Tiempo de espera

digitalWrite(5, HIGH); //Led 5 encendido


delay(500); //Tiempo de espera

digitalWrite(5, LOW); //Led 5 apagado

digitalWrite(6, HIGH); //Led 6 encendido

delay(2500); //Tiempo de espera

digitalWrite(6, LOW); //Led 6 apagado

digitalWrite(7, HIGH); //Led 7 encendido

digitalWrite(4, LOW); //Led 4 apagado

// Mandamos a llamar al otro semaforo

semaphoreOne();

// Iniciamos nuestro semaforo

void loop() {

// Cambiamos el estado de todos los leds para

// que esten apagados todos al inicio

for (int pin = 2; pin <= 7; pin++) {

digitalWrite(pin, LOW);

// Prendemos el verde de un semaforo y el

// rojo del otro semaforo

digitalWrite(2, HIGH);

digitalWrite(7, HIGH);

// Iniciamos el primer semaforo

semaphoreOne();

También podría gustarte