Home / Tutorial Arduino / Cara Mengatur 4 Seven Segment menggunakan Arduino

Cara Mengatur 4 Seven Segment menggunakan Arduino

kelas-fisika.com – Cara Mengatur 4 Seven Segment menggunakan Arduino

Apa Itu Seven Segment ?

Seven Segment Display (7 Segment Display) dalam bahasa Indonesia disebut dengan Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka desimal melalui kombinasi-kombinasi segmennya. Seven Segment Display pada umumnya dipakai pada Jam Digital, Kalkulator, Penghitung atau Counter Digital, Multimeter Digital dan juga Panel Display Digital seperti pada Microwave Oven ataupun Pengatur Suhu Digital . Seven Segment Display pertama diperkenalkan dan dipatenkan pada tahun 1908 oleh Frank. W. Wood dan mulai dikenal luas pada tahun 1970-an setelah aplikasinya pada LED (Light Emitting Diode).

Seven Segment Display memiliki 7 Segmen dimana setiap segmen dikendalikan secara ON dan OFF untuk menampilkan angka yang diinginkan. Angka-angka dari 0 (nol) sampai 9 (Sembilan) dapat ditampilkan dengan menggunakan beberapa kombinasi Segmen. Selain 0 – 9, Seven Segment Display juga dapat menampilkan Huruf Hexadecimal dari A sampai F. Segmen atau elemen-elemen pada Seven Segment Display diatur menjadi bentuk angka “8” yang agak miring ke kanan dengan tujuan untuk mempermudah pembacaannya. Pada beberapa jenis Seven Segment Display, terdapat juga penambahan “titik” yang menunjukan angka koma decimal. Terdapat beberapa jenis Seven Segment Display, diantaranya adalah Incandescent bulbs, Fluorescent lamps (FL), Liquid Crystal Display (LCD) dan Light Emitting Diode (LED).

LED 7 Segmen (Seven Segment LED)

Salah satu jenis Seven Segment Display yang sering digunakan oleh para penghobi Elektronika adalah 7 Segmen yang menggunakan LED (Light Emitting Diode) sebagai penerangnya. LED 7 Segmen ini umumnya memiliki 7 Segmen atau elemen garis dan 1 segmen titik yang menandakan “koma” Desimal. Jadi Jumlah keseluruhan segmen atau elemen LED sebenarnya adalah 8. Cara kerjanya pun boleh dikatakan mudah, ketika segmen atau elemen tertentu diberikan arus listrik, maka Display akan menampilkan angka atau digit yang diinginkan sesuai dengan kombinasi yang diberikan.

Terdapat 2 Jenis LED 7 Segmen, diantaranya adalah “LED 7 Segmen common Cathode” dan “LED 7 Segmen common Anode”.

LED 7 Segmen Tipe Common Cathode (Katoda)

Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.

LED 7 Segmen Tipe Common Anode (Anoda)

Pada LED 7 Segmen jenis Common Anode (Anoda), Kaki Anoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan kaki Katoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Anoda yang terhubung menjadi 1 Pin ini akan diberikan Tegangan Positif (+) dan Signal Kendali (control signal) akan diberikan kepada masing-masing Kaki Katoda Segmen LED.

Prinsip Kerja Dasar Driver System pada LED 7 Segmen

Berikut ini adalah Blok Diagram Dasar untuk mengendalikan LED 7 Segmen :

Blok Dekoder pada diagram diatas mengubah sinyal Input yang diberikan menjadi 8 jalur yaitu “a” sampai “g” dan poin decimal (koma) untuk meng-ON-kan segmen sehingga menghasilkan angka atau digit yang diinginkan. Contohnya, jika output dekoder adalah a, b, dan c, maka Segmen LED akan menyala menjadi angka “7”. Jika Sinyal Input adalah berbentuk Analog, maka diperlukan ADC (Analog to Digital Converter) untuk mengubah sinyal analog menjadi Digital sebelum masuk ke Input Dekoder. Jika Sinyal Input sudah merupakan Sinyal Digital, maka Dekoder akan menanganinya sendiri tanpa harus menggunakan ADC.

Fungsi daripada Blok Driver adalah untuk memberikan arus listrik yang cukup kepada Segmen/Elemen LED untuk menyala. Pada Tipe Dekoder tertentu, Dekoder sendiri dapat mengeluarkan Tegangan dan Arus listrik yang cukup untuk menyalakan Segmen LED maka Blok Driver ini tidak diperlukan. Pada umumnya Driver untuk menyalakan 7 Segmen ini adalah terdiri dari 8 Transistor Switch pada masing-masing elemen LED.

Tabel Pengaktifan Seven Segment Display

Pemograman Seven Segment

Salah satu metode memprogram seven segment yang banyak digunakan adalah metode scanning. Metode ini sangat sederhana, karena dari sisi hardware tidak banyak membutuhkan komponen tambahan. Hanya membutuhkan resistor dan transistor saja agar seven segment arduino dapat menyala sesuai program. Untuk lebih jelasnya, yuk kita lihat dulu rangkaian seven segment arduino dengan metode scanning.

Rangkaian diatas merupakan rangkaian pengendali seven segment 4 digit yang belum terhubung ke mikrokontroler atau arduino. Dapat dilihat bahwa pin A, B, C, D, E, F, G dan DP dari keempat 7 segment tersebut dihubungkan secara paralel atau disatukan semuanya. Namun pin Common yaitu pin D0, D1, D2, D3 tidak disatukan dan ditambahkan transistor sebagai rangkaian switching. Rangkaian diatas menggunakan jenis seven segment common cathode (katoda). Jika Anda ingin mengganti jenis 7 segment menjadi common anoda, maka transistor yang digunakan harus Anda ganti menjadi transistor PNP.

Metode scanning merupakan metode untuk mengaktifkan seven segment secara bergantian satu persatu (scanning) secara cepat. Caranya dari keempat seven segment diatas, hanya boleh 1 seven segment yang menyala dalam beberapa saat. Untuk membuat keempat seven segment tersebut kelihatan menyala secara bersamaaan maka nyala dari masing-masing segment harus cepat sekitar 50-60Hz. Jika nyala masing-masing segment terlalu lama, maka akan terlihat kedipan dari masing-masing segment.

Bagaimana Cara Memprogram 4 Seven Segment dengan 1 Arduino ?

Untuk memprogram seven segment dengan arduino, Anda harus mengubungkan dahulu rangkaian diatas dengan arduino. Hubungan rangkaiannya dapat dilihat pada gambar berikut ini.

Hubungan pin dan koneksi ke rangkaian seven segment dapat diihat di sebelah kanan gambar. Di rangkaian tersebut digunakan juga potensiometer yang dihubungkan ke pin A0. Nantinya seven segment arduino akan menampilkan data ADC dari potensiometer. Oh ya untuk menampilkan angka pada 7 segment digunakan kode binari berikut ini :

B11111100 // 0

B01100000 // 1

B11011010 // 2

B11110010 // 3

B01100110 // 4

B10110110 // 5

B00111110 // 6

B11100000 // 7

B11111110 // 8

B11100110 // 9

Kode biner diatas nantinya akan merepresentasikan display angka 0-9 pada seven segment. Kode diatas hanya berlaku untuk 7 segment jenis common catode. Jika Anda menggunakan 7 segment common anode maka Anda hanya perlu membalik angka 0 dengan angka 1 dan angka 1 menjadi angka 0. Jika ingin penjelasan lebih tentang kode biner untuk seven segment ini, Anda bisa baca tutorial berikut ini : http://circuitdigest.com/microcontroller-projects/7-segment-display-interfacing-with-8051

Untuk memprogramnya sangat mudah sekali, Anda hanya perlu mengirimkan angka biner diatas ke pin A – G pada rangkaian 7 segment arduino. Kemudian untuk menyalakan segmentnya pin common yang terhubung melalui transistor harus berlogika high. Jika Anda cukup pusing membaca penjelasan saya tentang seven segment arduino, langsung saja lihat source code dibawah ini supaya lebih mengerti.

const int numeral[10] = {
 //ABCDEFG /dp
 B11111100, // 0
 B01100000, // 1
 B11011010, // 2
 B11110010, // 3
 B01100110, // 4
 B10110110, // 5
 B00111110, // 6
 B11100000, // 7
 B11111110, // 8
 B11100110, // 9
};
// pins for decimal point and each segment
// DP,G,F,E,D,C,B,A
const int segmentPins[] = { 13,8,7,6,5,4,3,2 };
const int nbrDigits= 4; // the number of digits in the LED display
//dig 0 1 2 3
const int digitPins[nbrDigits] = { 9,10,11,12 };
void setup()
{
 for(int i=0; i < 8; i++) {
 pinMode(segmentPins[i], OUTPUT); // set segment and DP pins to output
 }
 for(int i=0; i < nbrDigits; i++) { pinMode(digitPins[i], OUTPUT); } } void loop() { int value = analogRead(0); showNumber(value); } void showNumber( int number) { if(number == 0) { showDigit( 0, nbrDigits-1) ; // display 0 in the rightmost digit } else { // display the value corresponding to each digit // leftmost digit is 0, rightmost is one less than the number of places for( int digit = nbrDigits-1; digit >= 0; digit--) {
 if(number > 0) {
 showDigit( number % 10, digit) ;
 number = number / 10;
 }
 }
 }
} 
 
// Displays given number on a 7-segment display at the given digit position
void showDigit( int number, int digit)
{
 digitalWrite( digitPins[digit], HIGH );
 for(int segment = 1; segment < 8; segment++) {
 boolean isBitSet = bitRead(numeral[number], segment);
 // isBitSet will be true if given bit is 1
 // isBitSet = ! isBitSet; // Code Option*
 // uncomment the above Code Option line for common anode display
 digitalWrite( segmentPins[segment], isBitSet);
 }
 delay(5);
 digitalWrite( digitPins[digit], LOW );
}

Source code diatas fungsinya untuk menampilkan data analog pada pin A0 ke 4 digit seven segment arduino. Silahkan coba sendiri rangkaian dan source code diatas. Kemudian pahami masing-masing fungsi pada program diatas.

Selamat mencoba!

Check Also

Cara menggunakan CCPM Servo Consistency Master

kelas-fisika.com – Cara menggunakan CCPM Servo Consistency Master kelas-fisika akan membahas Cara menggunakan CCPM Servo Consistency …

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Powered by themekiller.com