7 segment merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik huruf maupun digit angka. Namun untuk huruf sangat terbatas, ada beberapa huruf yang tidak bisa ditampilkan. 7 segment ini sebenarnya merupakan kumpulan dari 7 buah LED yang di rangkai menjadi satu baik menggunakan common anoda (+) ataupun common cathoda (-). Common anoda berarti berarti kaki anoda (+) LED terhubung menjadi kesatuan, dan kaki cathoda (-) menjadi input untuk masing-masing LEDnya. Sedangkan Common cathoda berarti kaki cathoda (-) terhubung semua menjadi satu, dan kaki anoda (+) yang menjadi input masing-masing LEDnya. Selain dari ketujuh LED tersebut, terdapat juga LED untuk menampilkan sebuah titik (dot) yang letaknya di kanan bawah 7 segment.
Manfaat 7 segment ini dapat kita lihat di kehidupan sehari-hari seperti pada lampu merah terdapat angka yang menunjukan detik lamannya lampu merah, kuning, dan hijau. Kemudian pada jam digital, kalkulator dan masih banyak lainnya. Untuk pin-pin pada 7 segment terdapat 10 pin antara lain a, b, c, d, e, f, g, p dan 2 buah COM (Common Anoda/Cathoda), keterangannya dapat dilihat dibawah ini.

Untuk dapat digunakan pada Arduino, mari kita bahas lebih lengkapnya berikut ini.
Alat dan bahan :
Rangkaian :
Rangkaian di bawah ini menggunakan 7 segment jenis Common Cathoda

Konfigurasi pin :
- a = pin 9 ; b = pin 8; f = pin 10; g = pin 11
- c = pin 3; d = pin 4; e = pin 5; p = pin 2
- sisanya 2 COM di hubungkan dengan resistor 220 Ohm dan GND Arduino (karena jenis common Cathoda, maka dihubungkan dengan GND).
Sketch program :
const byte numeral[11] = { B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 3 B01100110, // 4 B10110110, // 5 B00111110, // 6 B11100000, // 7 B11111110, // 8 B11100110, // 9 //B00000000, //tidak menampilkan }; const int segmentPins[8] = { 2, 11, 10, 5, 4, 3, 8, 9 }; //dp,g,f,e,d,c,b,a void setup() { for (int i = 0; i < 8; i++) { pinMode(segmentPins[i], OUTPUT); } } void loop() { for (int i = 0; i <= 9; i++) { tampilAngka(i); delay(1000); } delay(500); } void tampilAngka (int number) { boolean isBitSet; for (int segment = 1; segment < 8; segment++) { isBitSet = bitRead(numeral[number], segment); digitalWrite(segmentPins[segment], isBitSet); digitalWrite(segmentPins[0], HIGH); } }
Penggunaan :
- Rangkai semua komponen seperti keterangan di atas.
- Untuk pin jangan sampai tertukar, kalau tertukar tampilan angka akan menjadi berantakan.
- Kemudian upload sketch di atas
- Sketch program di atas akan menampilkan sebuah angka dari 0 sampai dengan 9 dan berulang-ulanh.
Hasil :
Untuk hasilnya dapat di lihat pada video berikut ini :
Demikian pembahasan kali ini, semoga bermanfaat.