int a = 2; //For displaying segment "a"
int b = 3; //For displaying segment "b"
int c = 4; //For displaying segment "c"
int d = 5; //For displaying segment "d"
int e = 6; //For displaying segment "e"
int f = 8; //For displaying segment "f"
int g = 9; //For displaying segment "g"
void setup() {
// put your setup code here, to run once:
pinMode(a, OUTPUT); //A
pinMode(b, OUTPUT); //B
pinMode(c, OUTPUT); //C
pinMode(d, OUTPUT); //D
pinMode(e, OUTPUT); //E
pinMode(f, OUTPUT); //F
pinMode(g, OUTPUT); //G
}
void displayDigit(int digit)
{
//Conditions for displaying segment a
if(digit!=1 && digit != 4)
digitalWrite(a,1);
//Conditions for displaying segment b
if(digit != 5 && digit != 6)
digitalWrite(b,1);
//Conditions for displaying segment c
if(digit !=2)
digitalWrite(c,1);
//Conditions for displaying segment d
if(digit != 1 && digit !=4 && digit !=7)
digitalWrite(d,1);
//Conditions for displaying segment e
if(digit == 2 || digit ==6 || digit == 8 || digit==0)
digitalWrite(e,1);
//Conditions for displaying segment f
if(digit != 1 && digit !=2 && digit!=3 && digit !=7)
digitalWrite(f,1);
if (digit!=0 && digit!=1 && digit !=7)
digitalWrite(g,1);
}
void turnOn()
{
digitalWrite(a,0);
digitalWrite(b,0);
digitalWrite(c,0);
digitalWrite(d,0);
digitalWrite(e,0);
digitalWrite(f,0);
digitalWrite(g,0);
}
void displayN(int num)
{
// Convierte unidades y decenas
int und = num % 10;
int dec = (num % 100) / 10;
// Refresco dinamico
for(int i=0; i<100; i++)
{
digitalWrite [1, und, 1];
digitalWrite [0, dec, 1];
delay(2);
}
Serial.print(dec);
Serial.println(und);
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<10;i++)
//for(int i=9;i>10;i--)
{
displayDigit(i);
delay(1000);
turnOn();
}
//*for(int i=9;i>10;i--){
// displayDigit(i);
// delay(1000);
// turnOn();
//}
}