You are on page 1of 2

byte all[]={2,3,4,5,6,7,8};//pin 2-8 dihubungkan dengan A-G seven segment comon

anoda
unsigned long now,old;
//pin 10-13 ke common 1-4
bool dot;
byte jam,menit,detik;
byte hitung;
byte lamp=9;
bool seg7[10][7]=
{
{1,0,0,0,0,0,0},//0
{1,1,1,1,0,0,1},//1
{0,1,0,0,1,0,0},//2
{0,1,1,0,0,0,0},//3
{0,0,1,1,0,0,1},//4
{0,0,1,0,0,1,0},//5
{0,0,0,0,0,1,0},//6
{1,1,1,1,0,0,0},//7
{0,0,0,0,0,0,0},//8
{0,0,1,0,0,0,0}//9

};
void setup() {
for(int z=2;z<14;z++){
pinMode(z,OUTPUT);
}

void loop() {

jamx();
count();

}
void tampil(byte segment)
{
byte pin=0;
for(hitung=0;hitung<7;hitung++)
{digitalWrite(all[pin],seg7[segment][hitung]);
pin++;
}
}
void jamx(){
now=millis();
if(now-old>=1000){
detik++;
old=now;
dot=!dot;
}
if (detik>59){
detik=0;
menit++;
}
if(menit>59){
menit=0;
jam++;
}
if(jam>23){
jam=0;
}

}
void count()
{//ini untuk 4 digit segment
tampil(jam/10);
s1(1,0,0,0);
digitalWrite(lamp,1);
delay(1);
tampil(jam%10);
s1(0,1,0,0);
digitalWrite(lamp,dot);
delay(1);
tampil(menit/10);
s1(0,0,1,0);
digitalWrite(lamp,1);
delay(1);
tampil(menit%10);
s1(0,0,0,1);
digitalWrite(lamp,1);
delay(1);
}
void s1(byte scan,byte scan1,byte scan2,byte scan3)
{
digitalWrite(10,scan);
digitalWrite(11,scan1);
digitalWrite(12,scan2);
digitalWrite(13,scan3);
}

You might also like