int unidad=0;
int decena=0;
int centena=0;
int millar=0;
int x=0;
const int decoder[]={63,6,91,79,102,109,125,7,127,111};
const int espe[]={121,115,109,121};
const int buttonUpPin = A0;
const int buttonDownPin = A1;
bool lastButtonUpState = HIGH;
bool lastButtonDownState = HIGH;
void display7(int valor)
{
for (x=0; x<7; x++){
digitalWrite((x+2), bitRead(valor, x));
}
}
void conmutar1(){
for (x = 0; x < 5; x++) {
// Display 1: Units
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(espe[unidad]);
delay(200);
// Display 2: Tens
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(espe[decena]);
delay(200);
// Display 3: Hundreds
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
display7(espe[centena]);
delay(200);
// Display 4: Thousands
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
display7(espe[millar]);
delay(200);
}
}
void conmutar2() {
for (x = 0; x < 5; x++) {
// Display 1: Units
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
display7(decoder[unidad]);
delay(200);
// Display 2: Tens
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
display7(decoder[decena]);
delay(200);
// Display 3: Hundreds
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(decoder[centena]);
delay(200);
// Display 4: Thousands
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(decoder[millar]);
delay(200);
}
return;
}
void setup() {
int pin;
for (pin=2; pin<=12; pin++) {
pinMode(pin, OUTPUT);
}
pinMode(buttonUpPin, INPUT_PULLUP);
pinMode(buttonDownPin, INPUT_PULLUP);
}
void loop() {
bool buttonUpState = digitalRead(buttonUpPin);
bool buttonDownState = digitalRead(buttonDownPin);
if (buttonUpState == LOW && lastButtonUpState == HIGH) {
for(millar=0; millar<=9; millar++)
for(centena=0; centena<=9; centena++)
for(decena=0; decena<=9; decena++)
for(unidad=0; unidad<=9; unidad++)
conmutar2();
} else if (buttonDownState == LOW && lastButtonDownState == HIGH) {
for(millar=9; millar>=0; millar--)
for(centena=9; centena>=0; centena--)
for(decena=9; decena>=0; decena--)
for(unidad=9; unidad>=0; unidad--)
conmutar2();
}else{
for(unidad=0; unidad<1; unidad++)
for(decena=2; decena<3; decena++)
for(centena=1; centena<2; centena++)
for(millar=0; millar<1; millar++)
conmutar1();
}}