Hallo sahabat blogger 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
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
KONFIGURASI PADA BOARD ARDUINO
KONFIGURASI PADA BOARD ARDUINO
buat rangkaiannya seperti ini untuk Common Cathoda
dan Seperti ini untuk Common Anoda
PENULISAN KARAKTER PADA PROGRAM
Didalam membuat karakter pada seven segment di butuhkan logika HIGH/ LOW, ON/ OFF, 0/1 adapun angka 0 diartikan OFF sedangkan 1 diartikan ON untuk membentuk sebuah karakter tertentu. sebagai contoh jika kita menginginkan karakter 7 pada seven segmen kita mengacu pada konfigurasi pin seven segmen dimana pada pin di atas terlihat abjad a, b, c, d, e, f, dan g yang artinya jika semua diberi logika 1 maka akan membentuk angka 8 sedang jika kita menginginkan angka 7 maka a, b, c, diberi logika 1 sedang d, e, f, dan g diberi logika 0 berikut penulisan programnya untuk seven segmen jenis Commond Cathode
#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: // huruf '7'
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(c,1);
digitalWrite(d,0);
digitalWrite(e,0);
digitalWrite(f,0);
digitalWrite(g,0);
break;
}
/* menghitung dari 0 - 1 */
karakter++;
delay(800);
if (karakter > 1)
{
karakter = 0;
}
}
#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: // huruf '7'
digitalWrite(a,1);
digitalWrite(b,1);
digitalWrite(c,1);
digitalWrite(d,0);
digitalWrite(e,0);
digitalWrite(f,0);
digitalWrite(g,0);
break;
}
/* menghitung dari 0 - 1 */
karakter++;
delay(800);
if (karakter > 1)
{
karakter = 0;
}
}
Nah cukup mudah bukan tidak hanya itu anda juga dapat membuat karakter huruf namun ada beberapa huruf yang memang tidak dapat ditampilkan pada 7segment karna pada dasarnya 7segment hanya dipakai untuk menampilkan karakter angka seperti jam digital yang pernah kita lihat di toko elektronik. jika anda masih bingung dapat ditanyakan di kolom komentar dibawah. untuk karakter hurup menggunakan commond cathode dapat anda download di Sini.
Dan berikut penulisan program untuk karakter angka dan huruf pada seven segmen jenis Commond Anode.
#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: // ANGKA '7'
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 1: // 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 - 2 */
karakter++; delay(1000);
if (karakter > 2)
{
karakter = 0;
}
}
#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: // ANGKA '7'
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 1: // 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 - 2 */
karakter++; delay(1000);
if (karakter > 2)
{
karakter = 0;
}
}