//Actividad 2: Programación del display de 7 Segmentos: Crear un dado electrónico*/
//realizado por Chistian Benavides
//Display de 7 segmentos con pulsador ESP32
int a = 22; //Ping segmento a
int b = 2; //Ping segmento b
int c = 3; //Ping segmento c
int d = 4; //Ping segmento d
int e = 5; //Ping segmento e
int f = 15;//Ping segmento f
int g = 16; //Ping segmento g
int Segmento = 0;
int Retardo = 50;
int Pulsador = 19;//Se declara PIN 19 de pulsador
void setup() {
Serial.begin(115200);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(Segmento, OUTPUT); //Declaro el segmento de display como salida
pinMode(Pulsador, INPUT); //Declaro el pulsador como entrada
}
void loop() {
if (digitalRead(Pulsador) == HIGH){
Segmento = Segmento + 1; //Incremento +1
delay(Retardo);
}
switch (Segmento){
case 1:
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
break;
case 2:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
break;
case 3:
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
break;
case 4:
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;
case 5:
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;
case 6:
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
break;
break;
default:
Segmento = -1; //Delimitador -1
break;
}
}