int o = 23;
int leds [] = {5, 4, 0, 2, 14, 12, 13};
int i;
int contador =0;
void encender (int a, int b, int c, int d, int e, int f, int g){
digitalWrite(5, a); //Asignación del LED o Segmento A
digitalWrite(4, b); //Asignación del LED o Segmento B
digitalWrite(0, c); //Asignación del LED o Segmento C
digitalWrite(2, d); //Asignación del LED o Segmento D
digitalWrite(14, e); //Asignación del LED o Segmento E
digitalWrite(12, f); //Asignación del LED o Segmento F
digitalWrite(13, g); //Asignación del LED o Segmento G
}
void setup() {
pinMode (o, INPUT);
for (i=0; i<8; i++){
pinMode(leds[i], OUTPUT); //se declara la entrada y salida para el contador
}
}
void loop() {
if (digitalRead(o)== LOW)
{
delay(20);
if(digitalRead(o) == HIGH)
{
contador++;
delay(200);
if(contador > 9) //se indica que al precionarlo una 10ma vez, se va a reiniciar el contador
contador = 0;
}
}
switch (contador)
{
//Inicia el proceso del contador, se muestra el numero indicado
//Envia estados (1 y 0) al display dependiendo del numero a entrar
case 0:
encender (0, 0, 0, 0, 0, 0, 1); // muestra el número 0
break;
case 1:
encender (1, 0, 0, 1, 1, 1, 1); // muestra el número 1
break;
case 2:
encender (0, 0, 1, 0, 0, 1, 0); // muestra el número 2
break;
case 3:
encender (0, 0, 0, 0, 1, 1, 0); //muestra el número 3
break;
case 4:
encender (1, 0, 0, 1, 1, 0, 0); //muestra el número 4
break;
case 5:
encender (0, 1, 0, 0, 1, 0, 0); // muestra el número 5
break;
case 6:
encender (0, 1, 0, 0, 0, 0, 0); //muestra el número 6
break;
case 7:
encender (0, 0, 0, 1, 1, 1, 0); //muestra el número 7
//nota en esta parte agrege 1 al final, muchos pueden poner umn 0 y esta bien, para interpretar el 7
break;
case 8:
encender (0 ,0 ,0 ,0 ,0 ,0 ,0); //muestra el número 8
break;
case 9:
encender (0, 0, 0, 1, 1, 0 ,0); //muestra el número 9
break;
}
}