int o = 13;
int leds [] = {12, 11, 10, 9, 8, 7, 6};
int i;
int contador = 0;
void display (int a, int b, int c, int d, int e, int f, int g)
{
digitalWrite(12, a); //Asignación del LED o Segmento A
digitalWrite(11, b); //Asignación del LED o Segmento B
digitalWrite(10, c); //Asignación del LED o Segmento C
digitalWrite(9, d); //Asignación del LED o Segmento D
digitalWrite(8, e); //Asignación del LED o Segmento E
digitalWrite(7, f); //Asignación del LED o Segmento F
digitalWrite(6, 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:
display (0, 0, 0, 0, 0, 0, 1); // muestra el número 0
break;
case 1:
display (1, 0, 0, 1, 1, 1, 1); // muestra el número 1
break;
case 2:
display (0, 0, 1, 0, 0, 1, 0); // muestra el número 2
break;
case 3:
display (0, 0, 0, 0, 1, 1, 0); //muestra el número 3
break;
case 4:
display (1, 0, 0, 1, 1, 0, 0); //muestra el número 4
break;
case 5:
display (0, 1, 0, 0, 1, 0, 0); // muestra el número 5
break;
case 6:
display (0, 1, 0, 0, 0, 0, 0); //muestra el número 6
break;
case 7:
display (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:
display (0, 0, 0, 0, 0, 0, 0); //muestra el número 8
break;
case 9:
display (0, 0, 0, 1, 1, 0, 0); //muestra el número 9
break;
}
}