#define DIGITOS 10
#define PINES_TOTAL 7
#define PIN_A 21
#define PIN_B 22
#define PIN_C 4
#define PIN_D 16
#define PIN_E 17
#define PIN_F 18
#define PIN_G 5
#define PIN_DP 2
#define PIN_PULSADOR 14
int pines[PINES_TOTAL] = {
PIN_A,
PIN_B,
PIN_C,
PIN_D,
PIN_E,
PIN_F,
PIN_G
};
int numbers[DIGITOS][PINES_TOTAL] = {
{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW},
{LOW, HIGH, HIGH, LOW, LOW, LOW, LOW},
{HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH},
{HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH},
{LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH},
{HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH},
{HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH},
{HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW},
{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH},
{HIGH, HIGH, HIGH, LOW, LOW, HIGH, HIGH}
};
void showNumber(int number);
void clear();
void setup() {
pinMode(PIN_PULSADOR, INPUT_PULLUP);
for(int i = 0; i < PINES_TOTAL; i++) {
pinMode(pines[i], OUTPUT);
}
}
void loop() {
if (digitalRead(PIN_PULSADOR) == 0) {
for(int i = 0; i < DIGITOS; i++) {
showNumber(i);
delay(1000);
clear();
}
}
}
void showNumber(int number) {
for(int i = 0; i < PINES_TOTAL; i++){
digitalWrite(pines[i], numbers[number][i]);
}
}
void clear() {
for(int i = 0; i < PINES_TOTAL; i++){
digitalWrite(pines[i], LOW);
}
}