Sos Semfaoro

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 3

Sem�foro con comandos

//Declaracion de variables
char dato;
boolean isDato = false;
int amarillo = 12;
int verde = 8;
int rojo = 4;

//seteados nuestros datos de inicio


void setup(){
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(rojo, OUTPUT);
Serial.begin(9600);
Serial.println("Ingresa A para encender led amarillo");
Serial.println("Ingresa V para encender led verde");
Serial.println("Ingresa R para encender led rojo");
Serial.println("Ingresa S para encender semaforo");
Serial.println("Ingresa cualquier letra para parpadear");
}

//Funcion que se ejecuta sin fin


void loop(){
recibirDato();
menu();

//FUNCION QUE HACE PRENDER EL SEMAFORO


void semaforo(){
digitalWrite(amarillo, HIGH);
delay(1000);
digitalWrite(amarillo, LOW);
digitalWrite(verde, HIGH);
delay(1000);
digitalWrite(verde, LOW);
digitalWrite(rojo, HIGH);
delay(1000);
digitalWrite(rojo, LOW);
}

//FUNCION QUE PERMITE LEER UN DATO DESDE EL PUERTO SERIAL


void recibirDato(){
if(Serial.available() >0){
dato = Serial.read();
isDato = true;
}
}

//FUNCION QUE EJECUTA UNA ACCION DADA POR EL USUARIO


void menu(){
if(isDato == true){
if(dato == 'a' || dato == 'a'){
digitalWrite(amarillo, HIGH);
}else if(dato == 'v' || dato == 'v'){
digitalWrite(verde, HIGH);
}else if(dato == 'r' || dato == 'r'){
digitalWrite(rojo, HIGH);
}else if(dato == 's' || dato == 's'){
semaforo();
}
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
digitalWrite(rojo, LOW);
}
isDato = false;
}

Sem�foro con luces sos

//Declaracion de variables
char dato;
boolean isDato = false;
int amarillo = 12;
int verde = 8;
int rojo = 4;

//seteados nuestros datos de inicio


void setup(){
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(rojo, OUTPUT);
Serial.begin(9600);
Serial.println("Ingresa A para encender led amarillo");
Serial.println("Ingresa V para encender led verde");
Serial.println("Ingresa R para encender led rojo");
Serial.println("Ingresa S para encender semaforo");
Serial.println("Ingresa cualquier letra para parpadear");
}

//Funcion que se ejecuta sin fin


void loop(){
recibirDato();
menu();

//FUNCION QUE HACE PRENDER EL SEMAFORO


void semaforo(){
digitalWrite(amarillo, HIGH);
delay(1000);
digitalWrite(amarillo, LOW);
digitalWrite(verde, HIGH);
delay(1000);
digitalWrite(verde, LOW);
digitalWrite(rojo, HIGH);
delay(1000);
digitalWrite(rojo, LOW);
}

//FUNCION QUE PERMITE LEER UN DATO DESDE EL PUERTO SERIAL


void recibirDato(){
if(Serial.available() >0){
dato = Serial.read();
isDato = true;
}
}

//FUNCION QUE EJECUTA UNA ACCION DADA POR EL USUARIO


void menu(){
if(isDato == true){
if(dato == 'a' || dato == 'a'){
sos(amarillo);
}else if(dato == 'v' || dato == 'v'){
sos(verde);
}else if(dato == 'r' || dato == 'r'){
sos(rojo);
}else if(dato == 's' || dato == 's'){
semaforo();
}
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
digitalWrite(rojo, LOW);
}
isDato = false;
}

void sos (int led){


for(int i= 0 ; i< 3; i++){
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
for(int i= 0 ; i< 3; i++){
digitalWrite(led, HIGH);
delay(300);
digitalWrite(led, LOW);
delay(300);
}
for(int i= 0 ; i< 3; i++){
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
}

También podría gustarte