COMMON KATODA


Common Katoda




Common Katoda merupakan pin yang terhubung dengan semua kaki katoda LED dalam seven segmen dengan common katodak akan aktif apabila diberi logika tinggi (1) atau disebut aktif high. Kaki anoda dengan label a sampai h sebagai pin aktifasi yang menentukan nyala LED.
Common Katoda adalah penggabungan kaki-kaki katoda dari komponen-komponen. Artinya, mereka membutuhkan Arus negatif
untuk dapat menjalankan fungsinya (dalam hal sinyal, membuat menjadi HIGH[1] ). Karena kaki-kaki yang terhubung positif,
berati membutuhkan arus negatif. Sehingga komponen dengan common katoda dapat dijalankan dengan tegangan 0-2,5 volt. 
Sedangkan common katoda merupakan pin yang terhubung dengan semua
kaki katoda LED dalam seven segment. Common katoda akan digroundkan sehingga
seven segment dengan common katoda akan aktif apabila diberi logika tinggi (1) atau
disebut aktif high. Kaki anoda dengan label a sampai h sebgai pin aktifasi yang
menentukan nyala LED.
Seven segment display memiliki dua type yaitu common
anoda dan common katoda. Di bawah ini ditunjukkan skematik internal segment
display common anoda dan common katoda.
Andaikan ingin ditampilkan angka satu (1) pada seven segment, maka led
dengan label “b” dan “c” diaktifkan. Maka jika digunakan seven segment common
katoda, kondisi logika pada terminal a=0, b=1, c=1, d=0, e=0, f=0, g=0 dan h=0,
sedangkan terminal common dihubungkan ke ground. Kondisi logika terminal “a”
11
sampai “h” untuk seven segment common anoda adalah komplemen dari common
katoda dan terminal common dihubungkan ke Vcc.

Perhatikan gambar 




 susunan LED common katoda
dengan memperhatikan gambar diatas maka soba dapat mengambil kesimpulan bahwa untuk menyalakan LED common anoda dibutuhkan logika 0 sedangkan menyalakan LED jenis common katoda dibutuhkan logika 1
pada 7 segment jumlah dereyan LED adalah 7 buah sehingga dibutuhkan pula 7 buah saklar untuk menyalakan tiap deretan LED.
nyala dari masing-masing segment dapat diatur sedemikian rupa seusai sehingga dapat menampilkan angka desimal serta heksadesimal.











Penyusunya :
Codingan katoda 7 segment
#define a 4 // mendefinisikan segmen 'a' pada pin digital 4
#define b 5 // mendefinisikan segmen 'b' pada pin digital 5
#define c A3 // mendefinisikan segmen 'c' pada pin Analog 3
#define d A4 // mendefinisikan segmen 'd' pada pin Analog 4
#define e A5 // mendefinisikan segmen 'e' pada pin Analog 5
#define f 3 // mendefinisikan segmen 'f' pada pin digital 3
#define g 2 // mendefinisikan segmen 'g' pada pin digital 2
#define dp A2 // mendefinisikan segmen 'dot poin' pada pin Analog 2

void setup()
  {
   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
   pinMode(dp, OUTPUT);  // dot point
}
byte angka = 0;
void loop() {

/* menampilkan angka ke seven segmen */

  switch(angka){
    case 0:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,LOW);
    break;

    case 1:
    digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,LOW);
    break;

    case 2:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,LOW);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

    case 3:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

    case 4:
    digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 5:
    digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 6:
    digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 7:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,LOW);
    break;

    case 8:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 9:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;
   
  }

/* menghitung dari 0 - 9 */
  angka++;
  delay(1000);
  if (angka > 9)
  {
    angka = 0;
    }
}


#define a 4 // mendefinisikan segmen 'a' pada pin digital 4
#define b 5 // mendefinisikan segmen 'b' pada pin digital 5
#define c A3 // mendefinisikan segmen 'c' pada pin Analog 3
#define d A4 // mendefinisikan segmen 'd' pada pin Analog 4
#define e A5 // mendefinisikan segmen 'e' pada pin Analog 5
#define f 3 // mendefinisikan segmen 'f' pada pin digital 3
#define g 2 // mendefinisikan segmen 'g' pada pin digital 2
#define dp A2 // mendefinisikan segmen 'dot poin' pada pin Analog 2

void setup()
  {
   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
   pinMode(dp, OUTPUT);  // dot point
}

byte karakter = 0;
void loop() {

/* menampilkan angka ke seven segmen */

  switch(karakter){
    case 0:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,LOW);
    break;

    case 1:
    digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,LOW);
    break;

    case 2:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,LOW);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

    case 3:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

    case 4:
    digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 5:
    digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 6:
    digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 7:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,LOW);
    break;

    case 8:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 9:
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 10: // huruf 'a'
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

    case 11: // huruf 'b'
    digitalWrite(a,LOW);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 12: // huruf 'c'
    digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,LOW);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,LOW);
    break;

    case 13: // huruf 'd'
    digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

    case 14: // huruf 'e'
    digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,LOW);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 15: // huruf 'f'
    digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,LOW);
    digitalWrite(d,LOW);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 16: // huruf 'h'
    digitalWrite(a,LOW);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    break;

    case 17: // huruf 'J'
    digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,LOW);
    digitalWrite(g,LOW);
    break;

    case 18: // huruf 'l'
    digitalWrite(a,LOW);
    digitalWrite(b,LOW);
    digitalWrite(c,LOW);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,LOW);
    break;

    case 19: // huruf 'r'
    digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,LOW);
    digitalWrite(d,LOW);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,LOW);
    break;

    case 20: // huruf 'U'
    digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,LOW);
    break;

   
  }

/* menghitung dari 0 - 20 */
  karakter++;
  delay(1000);
  if (karakter > 20)
  {
    karakter = 0;
    }
}






/* Program untuk seven segment Common Katoda */
byte digit[10] = {
 //abcdefg dp
  B11111100, // 0
  B01100000, // 1
  B11011010, // 2
  B11110010, // 3
  B01100110, // 4
  B10110110, // 5
  B10111110, // 6
  B11100000, // 7
  B11111110, // 8
  B11110110, // 9
};
byte pinSegment[] = {A2,2,3,A5,A4,A3,5,4}; // pin yang digunakan untuk seven segment (pin dp,g,f,e,d,c,b,a)
byte angka = 0;

void setup()
  {
    for(int i=0; i < 8; i++)
    {
        pinMode(pinSegment[i], OUTPUT);
    }
  }

void loop() {

for ( byte segment = 0; segment < 8; segment++)
{
  boolean Status = bitRead(digit[angka],segment);
  digitalWrite(pinSegment[segment],Status);
  }


/* menghitung dari 0 - 9 */
  angka++;
  delay(1000);
  if (angka == 10)
  {
    angka = 0;
    }
}



Cara kerja :
BAGIAN1:  SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #11111001B ; menampilkan angka 1 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10100100B ; menampilkan angka 2 pada layar(addressing mode: immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10110000B ; menampilkan angka 3 pada layar(addressing mode: immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3  ; Mengijinkan tampilan layar 0

MOV P1, #10011001B ; menampilkan angka 4 pada layar(addressing mode: immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

JMP BAGIAN2 ; melompat ke BAGIAN2

BAGIAN2: ;

SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10010010B ; menampilkan angka 5 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10000010B ; menampilkan angka 6 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #11111000B ; menampilkan angka 7 pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #10000000B ; menampilkan angka 8 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; clear display

JMP BAGIAN3 ; melompat ke BAGIAN3

BAGIAN3:  SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10010000B  ; menampilkan angka 9 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10001000B ; menampilkan huruf A pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10000011B ; menampilkan huruf b pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #11000110B ; menampilkan huruf c pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

JMP BAGIAN4 ; melompat ke BAGIAN4

BAGIAN4:

SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10100001b  ; menampilkan huruf d pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10000110b  ; menampilkan huruf E pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10001110b ; menampilkan huruf F pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

JMP BAGIAN1 ; melompat kembali ke BAGIAN1

Kesimpulan dan Saran

Kesimpulan

1.   Seven segmen adalah penampil dengan susunan 7 digitit yang dapat menampilkan angka dari 0 – 9. Seven segmen disusun untuk menampilkan Jam, menit dan detik. Seven segmen mendapat input dari BCD dan Decoder/Demultiplexer.

2.   Seven segment ada 2 macam, yaitu Seven segment common cathode dan seven segment commond anode.

3.   rangkaian jam digital merupakan suatu rangkaian digital yang sederhana dan memakai prinsip kerja dr pencacah naik yg daya kerjanya dengan cara asinkron. Yaitu pencacah yg berada dipaling ujung dipakai untuk menunjukkan bilangan satu dari detik yang asalnya dr sumber detak, kemudian pencacah selanjutnya terpicu oleh pencacah yang ada sebelumnya.

terima kasih :)