// by Nissanka MD Weerasinghe SLCOTM
void setup() {
for(int i = 2; i<9;i++)
{
pinMode(i, 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() {
//for (int i = 0; i<10; i++) SSD(i,1000);
//SSD (23,2000);
SSD(3);
SSD1_ON();
delay(100);
SSD(5);
SSD2_ON();
delay(100);
/*
*/
}
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 clear()
{
SSD1_OFF();
SSD2_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);
}