////VARIABLES ******************************
int LV = 0;
int LA = 0;
int LR = 0;
int Tiempo = 0;
int Ciclo = 1;
boolean estado = LOW;
unsigned long TA =0;
////////// FUNCION PARA iNFRARROJO de la int 01 ////
unsigned long TA01 = 0;
int estado01 =0;
int IRE01 = 0;
int Sensor01=0;
int Intercepsion01 (int pin){
pinMode(pin, INPUT_PULLUP);
if ((millis()-TA01)>=500) {
TA01=millis();
if (digitalRead(pin) ==LOW){ estado01 = 1; }
else { estado01 = 0; }
return estado01;
}
}
////////// FUNCION PARA iNFRARROJO de la int 02 ////
unsigned long TA02 = 0;
int estado02 =0;
int IRE02 = 0;
int Sensor02=0;
int Intercepsion02 (int pin){
pinMode(pin, INPUT_PULLUP);
if ((millis()-TA02)>=500) {
TA02=millis();
if (digitalRead(pin) ==LOW){ estado02 = 1; }
else { estado02 = 0; }
return estado02;
}
}
/////////// FUNCION PARA iNFRARROJO de la int 03 ////
unsigned long TA03 = 0;
int estado03 =0;
int IRS01 = 0;
int Sensor03=0;
int Intercepsion03 (int pin){
pinMode(pin, INPUT_PULLUP);
if ((millis()-TA03)>=500) {
TA03=millis();
if (digitalRead(pin) ==LOW){ estado03 = 1; }
else { estado03 = 0; }
return estado03;
}
}
/////////// FUNCION PARA iNFRARROJO de la int 04 ////
unsigned long TA04 = 0;
int estado04 =0;
int IRS02 = 0;
int Sensor04=0;
int Intercepsion04 (int pin){
pinMode(pin, INPUT_PULLUP);
if ((millis()-TA04)>=500) {
TA04=millis();
if (digitalRead(pin) ==LOW){ estado04 = 1; }
else { estado04 = 0; }
return estado04;
}
}
void setup() {
// pinMode(LV, OUTPUT);
// pinMode(LA, OUTPUT);
// pinMode(LR, OUTPUT);
pinMode(A0, INPUT_PULLUP);
pinMode(A1, INPUT_PULLUP);
pinMode(A2, INPUT_PULLUP);
pinMode(A3, INPUT_PULLUP);
for (int i=0 ;i<=13; i++){
digitalWrite(i, LOW);
}
digitalWrite(1, HIGH);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
digitalWrite(10, HIGH);
digitalWrite(13, HIGH);
}
void loop() {
Sensor01=Intercepsion01 (A3);
Sensor02=Intercepsion02 (A0);
Sensor03=Intercepsion03 (A1);
Sensor04=Intercepsion04 (A2);
//for(i=1; i<=5; i++){
if((millis()-TA)==500){
Tiempo= Tiempo+1;
TA= millis();
if ((Ciclo==1)&&(Sensor01=0)) { LV = 2 ; LA = 3 ; LR = 4; }
else{Ciclo==2;}
if ((Ciclo==2)&&(Sensor02=0)) { LV = 5 ; LA = 6 ; LR = 7; }
else{Ciclo==3;}
if ((Ciclo==3)&&(Sensor03=1)) { LV = 8 ; LA = 9 ; LR = 10; }
else{Ciclo==4;}
if ((Ciclo==4)&&(Sensor04=1)) { LV = 11 ; LA = 12 ; LR = 13; }
else{Ciclo==5;}
if (Ciclo==5) { LV = 0 ; LA = 0 ; LR = 1; }
if (Tiempo<=6) {
digitalWrite(LR, LOW);
digitalWrite(LV, HIGH);
}
estado = !digitalRead(LA);
if ((Tiempo>=7)&& (Tiempo<=11)){
digitalWrite(LV, LOW);
digitalWrite(LA, estado);
}
if (Tiempo >=12){
digitalWrite(LA, LOW);
digitalWrite(LR, HIGH);
Tiempo = 0;
Ciclo = Ciclo +1;
}
if (Ciclo >=6){
Ciclo = 1;
}
}
}