// by Nissanka MD Weerasinghe SLCOTM
void setup() {
for(int i = 2; i<9;i++)
{
pinMode(i, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
//digitalWrite(i, HIGH);
//delay(200);
}
//delay(1500);
/*
for(int i = 2; i<9;i++)
{
digitalWrite(i, 0);
}
*/
}
void loop() {
Display_Num(465);
}
void Display_Num(int Number)
{
int dig1 = 3;
int dig2 = 8;
int dig3 = 7;
Display(dig1, dig2, dig3);
}
void Display( int digit1 , int digit2, int digit3, int dely )
{
SSD(digit1);
SSD1_ON();
delay(dely);
SSD(digit2);
SSD2_ON();
delay(dely);
SSD(digit3);
SSD3_ON();
delay(dely);
//delay(dely);
}
void SSD( int number)
{
clear();
if((number >= 0) && (number <= 9))
{
if(number == 0) SSD0();
if(number == 1) SSD1();
if(number == 2) SSD2();
if(number == 3) SSD3();
if(number == 4) SSD4();
if(number == 5) SSD5();
if(number == 6) SSD6();
if(number == 7) SSD7();
if(number == 8) SSD8();
if(number == 9) SSD9();
}
else SSDE();
//SSD2_ON();
//SSD1_OFF();
//delay(delay_Val);
} /// end loop
void SSD1_ON()
{
//digitalWrite(12, HIGH);
digitalWrite(13, LOW);
}
void SSD1_OFF()
{
digitalWrite(13, HIGH);
}
void SSD2_ON()
{
//digitalWrite(13, HIGH);
digitalWrite(12, LOW);
}
void SSD2_OFF()
{
digitalWrite(12, HIGH);
}
void SSD3_ON()
{
//digitalWrite(13, HIGH);
digitalWrite(11, LOW);
}
void SSD3_OFF()
{
digitalWrite(11, HIGH);
}
void clear()
{
SSD1_OFF();
SSD2_OFF();
SSD3_OFF();
//erase display (turn off All segments)
for(int i = 2; i<9;i++) digitalWrite(i, 0);
//delay(1000);
}
void All()
{
for(int i = 2; i<9;i++)
{
digitalWrite(i, 1);
}
}
void SSD0() // Display 1
{
//clear();
All();
digitalWrite(8,0);
}
void SSD1() // Display 1
{
//clear();
digitalWrite(3,1);
digitalWrite(4,1);
}
void SSD2() // Display 2
{
//clear();
All();
digitalWrite(4,0);
digitalWrite(7,0);
}
void SSD3()
{
//clear();
All();
digitalWrite(6,0);
digitalWrite(7,0);
}
void SSD4()
{
//clear();
All();
digitalWrite(2,0);
digitalWrite(5,0);
digitalWrite(6,0);
}
void SSD5()
{
//clear();
All();
digitalWrite(3,0);
digitalWrite(6,0);
}
void SSD6()
{
//clear();
All();
digitalWrite(3,0);
}
void SSD7()
{
//clear();
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
}
void SSD8()
{
//clear();
All();
}
void SSD9()
{
//clear();
All();
digitalWrite(6,0);
}
void SSDE() // Display 1
{
//clear();
All();
digitalWrite(3,0);
digitalWrite(4,0);
}