Created
July 1, 2014 03:22
-
-
Save davidae1704/66d4fd52211735684358 to your computer and use it in GitHub Desktop.
codigo para poner en el arduino para el control del semaforo de control de tiempo para la iglesia Mies, con dos modos de operación: prueba y funcionamiento normal.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define verde 4 | |
#define amarillo 5 | |
#define rojo 6 | |
#define azul 7 | |
#define control 8 | |
//variable para lectura del control de funcionamiento | |
int estado=0; | |
byte var=0; | |
void setup() { | |
// pines a usar para el semaforo | |
pinMode(verde, OUTPUT); | |
pinMode(amarillo, OUTPUT); | |
pinMode(rojo, OUTPUT); | |
pinMode(azul, OUTPUT); | |
pinMode(control, INPUT); | |
} | |
void loop() { | |
// funcionamiento del semaforo | |
estado=digitalRead(control); | |
//verificando condiciones de control | |
if(estado==HIGH){ | |
//Luz verde por 30 minutos | |
digitalWrite(verde, HIGH); | |
digitalWrite(amarillo, LOW); | |
digitalWrite(rojo, LOW); | |
digitalWrite(azul, LOW); | |
/*bucle FOR para el conteo de los 30 minutos en los cuales | |
la luz verde esta activa*/ | |
for(int i=0; i<180; i++){ | |
delay(10000); | |
} | |
//Luz amarilla por 10 minutos | |
digitalWrite(verde, LOW); | |
digitalWrite(amarillo, HIGH); | |
digitalWrite(rojo, LOW); | |
digitalWrite(azul, LOW); | |
/* bucle FOR para el conteo de los 10 minutos en los cuales | |
la luz amarilla esta activa*/ | |
for(int i=0; i<60; i++){ | |
delay(10000); | |
} | |
//Luz roja por 5 minutos | |
digitalWrite(verde, LOW); | |
digitalWrite(amarillo, LOW); | |
digitalWrite(rojo, HIGH); | |
digitalWrite(azul, LOW); | |
/* bucle FOR para el conteo de los 5 minutos en los cuales | |
la luz amarilla esta activa*/ | |
for(int i=0; i<30; i++){ | |
delay(10000); | |
} | |
/*Luz azul intermitente por 45 minutos | |
funciona dentro del bucle para generar el parpadeo de la | |
luz azul*/ | |
for(int i=0; i<5400; i++){ | |
digitalWrite(verde, LOW); | |
digitalWrite(amarillo, LOW); | |
digitalWrite(rojo, LOW); | |
digitalWrite(azul, !var); | |
delay(500); | |
} | |
} | |
//modo de prueba | |
else{ | |
digitalWrite(verde, HIGH); | |
digitalWrite(amarillo, LOW); | |
digitalWrite(rojo, LOW); | |
digitalWrite(azul, LOW); | |
delay(10000); | |
digitalWrite(verde, LOW); | |
digitalWrite(amarillo, HIGH); | |
digitalWrite(rojo, LOW); | |
digitalWrite(azul, LOW); | |
delay(5000); | |
digitalWrite(verde, LOW); | |
digitalWrite(amarillo, LOW); | |
digitalWrite(rojo, HIGH); | |
digitalWrite(azul, LOW); | |
delay(2000); | |
digitalWrite(verde, LOW); | |
digitalWrite(amarillo, LOW); | |
digitalWrite(rojo, LOW); | |
digitalWrite(azul, HIGH); | |
delay(30000); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment