//-asignacion de pines
const int Verde = 12;
const int Amari = 14;
const int Rojo = 27;
const int Boton = 15;
const int ledboton = 26;
const int AnalogInput = 36;
const int a = 22;
const int b = 23;
const int c = 18;
const int d = 19;
const int e = 21;
const int f = 5;
const int g = 3;
//area de definicion de funciones
void Parpadeo(int repeticiones, int retardo){
for(int i=0; i<=repeticiones; i++){
digitalWrite(Verde, HIGH);
delay(retardo);
digitalWrite(Verde, LOW); //encendido
delay(retardo);
}//END FOR
}//END FUNCION
void Yellow_ON(void){
digitalWrite(Verde, HIGH);
digitalWrite(Amari, LOW); //encendido
digitalWrite(Rojo, HIGH);
delay(700); // this speeds up the simulation
}//END Yellow
void escribirEnElDisplay(int va, int vb, int vc, int vd, int ve, int vf, int vg){
digitalWrite(a,va);
digitalWrite(b,vb);
digitalWrite(c,vc);
digitalWrite(d,vd);
digitalWrite(e,ve);
digitalWrite(f,vf);
digitalWrite(g,vg);
}//escribirenDisplay
void desplegador_7seg(int cuenta){
switch(cuenta){
case 0:
escribirEnElDisplay(1,1,1,1,1,1,0);
break;
case 1:
escribirEnElDisplay(0,1,1,0,0,0,0);
break;
case 2:
escribirEnElDisplay(1,1,0,1,1,0,1);
break;
case 3:
escribirEnElDisplay(1,1,1,1,0,0,1);
break;
case 4:
escribirEnElDisplay(0,1,1,0,0,1,1);
break;
case 5:
escribirEnElDisplay(1,0,1,1,0,1,1);
break;
case 6:
escribirEnElDisplay(1,0,1,1,1,1,1);
break;
case 7:
escribirEnElDisplay(1,1,1,0,0,0,0);
break;
case 8:
escribirEnElDisplay(1,1,1,1,1,1,1);
break;
case 9:
escribirEnElDisplay(1,1,1,1,0,1,1);
break;
default:
// statements
break;
}//Switch
}//desplegador
void Conteo(){
for(int k=9; k>=0; k--){
Serial.println(k);
desplegador_7seg(k);
int Aval = analogRead(AnalogInput);
delay(Aval);
}//END FOR
}//END CONTEO
void LED_ON(int Color, int retardo){
digitalWrite(Verde, HIGH); //apagado
digitalWrite(Amari, HIGH); //apagado
digitalWrite(Rojo, HIGH); //apagado
switch (Color){
case Verde:
digitalWrite(Verde, LOW); //encendemos
delay(retardo);
break;
case Amari:
digitalWrite(Amari, LOW); //encendemos
delay(retardo);
break;
case Rojo:
digitalWrite(Rojo, LOW); //encendemos
Conteo();
//delay(retardo);
break;
default:
break;
}//END SWITCH
}//END LED_ON
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(Verde, OUTPUT);
pinMode(Amari, OUTPUT);
pinMode(Rojo, OUTPUT);
pinMode(Boton, INPUT);
pinMode(ledboton, OUTPUT);
/////// pines del display
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
/////////////////////////
}
void loop() {
// put your main code here, to run repeatedly:
LED_ON(Verde, 250);
int val = digitalRead(Boton);
digitalWrite(ledboton, val);
if (val == LOW){
Parpadeo(5, 350);
LED_ON(Amari,2000);
LED_ON(Rojo,2000);
}//END IF
}//LOOP