Cara Menampilkan Karakter Pada 7 Segment dengan Arduino

Assalamu’alaikum Warahmatullahi Wabarakatuh, Salam sejahtera buat kita semua teman teman 🙂 Teman teman udah pada tahu kan 7 / Seven Segment itu apa? kalau belum tahu berarti temen temen ngaco buka postingan ini. hehe okelah ga masalah, seven segment itu lampu yang biasanya nampilin angka kaya di mesin cuci, recaiver parabola, atau jam masjid yang digital itu, atau kalau temen temen pengen lihat yang berukuran lebih besar lagi bisa pergi ke lampu merah 🙂

Baik, lanjut aja pada pembahasan kita kali ini tentang bagaimana menampilkan karakter pada 7 segment menggunakan arduino, tapi perlu kita bedakan dulu ya 7 segment yang akan kita gunakan nanti jenisnya apa trus posisi pinnya seperi apa. karena nanti bisa jadi programnya sama, udah bener, tapi 7 segment yang kita gunakan berbeda maka hasilnya akan jauh dari yang kita harapkan. Pertama kita harus tahu jenis 7 segment yang kita gunakan common anoda / katona. berikut adalah perbedaanya.

Perbedaan 7 Segment Common Anoda dan Common Katoda

Konfigurasi pin 7 segment

Dari gambar diatas bisa kita ketahui bahwa yang membedakan 7 segment Common anoda dan katoda adalah konfigurasi kaki Led yang menyusun 7 segment tersebut. kalau Common anoda berarti kaki yang menjadi satu adalah kaki Anoda / Positif, jadi jika kita ingin mengontrol tampilan 7 segment ini kita harus mengatur aliran tegangan negatif ke setiap pin selain VCC, yaitu pin (a,b,c,d,e,f,g dan dot). untuk common kathoda sebaliknya, yang menjadi satu adalah kaki Katoda atau kaki negatifnya, sehingga kalau kita ingin mengontrol tampilan maka kita harus mengontrol tegangan positif yang masuk ke setiap pin selain pin GND, perlu diketahui juga bahwa lokasi pin diatas bisa saja berbeda, biasanya adalah 7 segment yang berukuran besar. jadi nanti kodingnya juga menyesuikan ya. sambil jalan pasti kalian juga tambah pinter kok 🙂

Setelah kita tahu jenis 7 segment yang kita gunakan sekarang kita coba untuk memulai praktiknya. oleh sebab itu silahkan disediakan dulu komponen komponennya,

  1. Arduino Uno r3 / yang lain
  2. Breadboard
  3. Kabel Jumper
  4. 7 Segment

buat rangkaiannya seperti ini untuk Common Cathoda

Rangkaian 7 Segment Common Katoda Arduino

dan Seperti ini untuk Common Anoda

Rangkaian 7 Segment Common Anoda Arduino

 Setelah itu lanjut ke koding, upload koding ini ke Arduino kalian jika kalian menggunakan 7 segment Common Katoda

#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;
    }
}

Dan kode berikut untuk 7 segment common anoda

#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,LOW);
    digitalWrite(b,LOW);
    digitalWrite(c,LOW);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

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

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

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

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

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

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

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

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

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

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

Nah, itulah tadi cara bagaimana menampilkan karakter berupa angka pada seven segment, lalu bagaimana jika ingin menampilkan huruf? mengingat tidak semua huruf tidak dapat ditampilkan di 7 segment jadi kita hanya akan menampilkan huruf huruf yang bisa ditampilkan saj dan tidak membuat orang yang melihat bingung, misal 0 / o, 9 atau g. jadi huruf yang membingungkan tidak usah ditampilkan, okelah berikut kodenya untuk Common Katoda

#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;
    }
}

Dan ini untuk Common Anoda

#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,LOW);
    digitalWrite(b,LOW);
    digitalWrite(c,LOW);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    break;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
  }

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

Sebenarnya Program diatas sudah bisa digunakan untuk menampilkan angka yang kita mau, namun programnya kepanjangan, jadi saya ringkas menjadi lebih sederhana, sehingga menjadi seperti berikut:

/* 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;
    }
}

Untuk yang common anoda tinggal digit pada Array “byte digit[10]” jika 1 giganti 0 dan jika 0 diganti 1. Udah ya temen temen, sampai disini dulu artikelnya, untuk menampilkan yang lebih dari 1 digit akan kami bahas pada artikel berikutnya, jika ada yang perlu ditanyakan silahkan tanyakan pada kolom komentar. Terima kasih, Wassalamu’alaikum.

About Giri Wahyu Pambudi

Giri Wahyu Pambudi - Seorang Pemuda Desa yang berkeinginan ikut membangun Indonesia dengan Sedikit Ilmu yang dimiliki SMK N 2 Wonogiri lulus 2015 UNIV Negeri Yogyakarta lulus 2019 2019 - Sekarang Bekerja di SMK Gajah Mungkur 1 Wuryantoro, Wonogiri

Check Also

Cara Menggunakan / Mengakses Keypad menggunakan Arduino

Assalamu’alaikum teman – teman, kali ini kita akan belajar Arduino lagi, kali ini kita akan …

Tinggalkan Balasan