UP DOWN Counter Arduino Seven Segment


Sebelumnya sudah membahas tentang input output sederhana, berupa menyalakan LED, kemudian tombol sampai Seven Segment. Oke, ini mungkin pembahasan Input/Output Digital yang terakhir. ??

Dalam postingan sebelumnya kita sudah menyalakan Seven segment, apasih seven segment? Pasti sudah pada tahu. Untuk kali ini, kita akan mengembangkan dari menyalakan 2 seven segment menjadi 2 seven segment dengan cara switching. Prinsip kerja switching pada 2 seven segment adalah sebagai berikut:

1. semua seven segment dimatikan.
2. data seven segment 1 dikirim, seven segment 1 dinyalakan, delay, seven segment 1 dimatikan.
3. data seven segment 2 dikirim, seven segment 2 dinyalakan, delay, seven segment 2 dimatikan.
4. kembali ke langkah 2.

 

Langsung saja menuju Skema.

Terdapat 2 tombol yang digunakan untuk mengganti mode dari UP Counter menjadi Down Counter atau sebaliknya.

Berikut sedikit Sketch nya:

char angka[10]={0x7E,0x30,0x6D,0x79,0x33,0x5B,0x5F,0x70,0x7F,0x7B};
void setup() {
for(int x=0;x<10;x++){pinMode(x,OUTPUT);digitalWrite(x,LOW);}
pinMode(A5,INPUT_PULLUP);
pinMode(A4,INPUT_PULLUP);
}

char data=0;
unsigned int ulang=0;
void loop() {
if((digitalRead(A5)==LOW)){

while(digitalRead(A5)==LOW);
ulang=0;
while(digitalRead(A4)==HIGH){

tampil(data);
ulang++;if(ulang>100){data++;ulang=0;}
if(data>99)data=0;
}

}

else if((digitalRead(A4)==LOW)){

while(digitalRead(A4)==LOW);
ulang=0;
while(digitalRead(A5)==HIGH){

tampil(data);
ulang++;if(ulang>100){data–;ulang=0;}
if(data<0)data=99;
}

}

}

void tampil(char data){
segment(0x7F-angka[data%10]); //menyalakan seven segment satuan common anoda, untuk common katoda segment(angka[data%10]);
digitalWrite(8,HIGH);
delay(1);
digitalWrite(8,LOW);
segment(0x7F-angka[data/10]); //menyalakan seven segment puluhan common anoda, untuk common katoda segment(angka[data/10]);
digitalWrite(9,HIGH);
delay(1);
digitalWrite(9,LOW);
}

void segment(char data){
for(char x=0;x<7;x++){digitalWrite(x,(data>>(x))%2);}
}

Sekian terima kasih, gak ada penjelasan setiap langkahnya ya, karena di postingan sebelumnya sudah dan mirip, ??

Tidak usah khawatir seandainya terjadi kedipan pada simulasi ISIS Proteus, karena pada aslinya terjadi kedipan yang sangat cepat hingga terlihat seperti tidak terjadi kedipan.

Jika menghendaki pertambahan/pengurangan perhitungan bisa diganti nilau “ulang” yang sebelumnya 100 dengan nilai yang lebih besar.


Like it? Share with your friends!

0

0 Comments

Your email address will not be published.