Apa itu Layar 7-Segmen?
Layar 7-segmen adalah komponen elektronik yang terdiri dari 7 LED terpisah yang disusun dalam pola tertentu untuk menampilkan angka (0–9) dan beberapa huruf. LED-LED tersebut diberi nama a, b, c, d, e, f, g, dan layar ini biasanya dilengkapi dengan titik desimal (dp) yang bersifat opsional.


Berdasarkan berbagai susunan dan kombinasi, terdapat 128 variasi (angka Arab dan karakter) untuk tampilan 7-segmen.
Konfigurasi Pin Layar 7-Segmen
Konfigurasi pin pada layar 7-segmen bervariasi tergantung pada jenisnya, yang secara umum dibagi menjadi dua kategori: anoda umum dan katoda umum.

Konfigurasi Pin
Berikut ini adalah contoh pengaturan pin untuk tampilan 7-segmen pada umumnya (perlu dicatat bahwa konfigurasi pin yang sebenarnya dapat berbeda-beda tergantung pada produsen dan modelnya):
Anoda Bersama:
Semua anoda (kutub positif) pada tampilan 7-segmen dihubungkan secara bersamaan, dan ketika sebuah katoda diberi tegangan rendah, LED yang bersangkutan akan menyala.

- g, f, a, b, e, d, c, dp: Ini adalah pin segmen, yang masing-masing sesuai dengan tujuh segmen dan titik desimal.
- COM: Pin anoda umum, terhubung ke VCC.
Katoda Bersama:
Semua katoda (terminal negatif) pada layar 7-segmen dihubungkan secara bersamaan, dan ketika sebuah anoda (terminal positif) diberi tegangan tinggi, LED yang bersangkutan akan menyala.

Demikian pula, pin-pin segmen (g, f, a, b, e, d, c, dp) masing-masing terhubung ke segmen dan titik desimal, sedangkan pin katoda umum (COM) terhubung ke GND.
Memasang Kabel pada Layar 7-Segmen
Untuk mengoperasikan layar 7-segmen, masing-masing segmen (a, b, c, d, e, f, g, dp) harus dihubungkan ke pin output tertentu pada mikrokontroler. Misalnya, pada layar 7-segmen katoda umum, ujung negatif setiap segmen dihubungkan ke pin ground bersama, sedangkan ujung positif setiap segmen dihubungkan ke pin output yang berbeda pada mikrokontroler.
Pengaturan Kabel Dasar
- Layar 7-segmen memiliki 8 pin (7 untuk segmen dan 1 untuk titik desimal).
- Setiap pin yang sesuai dengan segmen (a hingga g) dihubungkan ke mikrokontroler.
- Untuk konfigurasi katoda umum, hubungkan pin katoda umum ke ground.
Contoh Penghubungan ke Arduino
Saat menghubungkan layar 7-segmen dengan Arduino, pin-pin segmen biasanya dihubungkan ke pin-pin digital yang berbeda pada papan Arduino. Misalnya, dalam konfigurasi anoda umum, pin-pin segmen dapat dihubungkan sebagai berikut:
- a – Pin Arduino 7
- b – Pin Arduino 8
- c – Pin Arduino 4
- d – Pin Arduino 3
- e – Pin Arduino 2
- f – Pin Arduino 6
- g – Pin Arduino 5
- COM – Pin Arduino 9 (terhubung ke VCC)
Dalam konfigurasi ini, untuk menyalakan segmen tertentu, pin Arduino yang sesuai diatur ke LOW, sedangkan pin anoda umum tetap HIGH.
Cara Mengontrol Layar 7-Segmen
Kunci untuk mengendalikan tampilan 7-segmen adalah dengan memberikan tegangan yang tepat ke masing-masing segmen agar dapat membentuk angka atau simbol yang diinginkan.
Menampilkan Angka
Untuk menampilkan sebuah angka, mikrokontroler perlu menyalakan segmen-segmen yang sesuai. Contohnya:
- Untuk menampilkan angka 0, segmen a, b, c, d, e, dan f harus menyala, sedangkan segmen g tetap mati.

Komponen yang Diperlukan
Sama seperti matriks LED, proyek ini akan membutuhkan banyak kabel dan resistor. Karena setiap LED memerlukan resistor tersendiri untuk mencegah kerusakan, pastikan Anda telah menyiapkan resistor dalam jumlah yang cukup. Untuk keseluruhan proyek, Anda akan membutuhkan komponen-komponen berikut:
- Arduino Uno
- Arduino IDE
- Tampilan tujuh segmen
- Kabel listrik
- 8 buah resistor 220 ohm
- Papan prototipe
- Kabel USB
Contoh Kode untuk Menampilkan Angka
int pin_a = 7, pin_b= 6, pin_c = 5, pin_d = 10, pin_e = 11, pin_f = 8, pin_g = 9, pin_p = 4;
// Segment data for digits 0-9
int numTable[10][8] = {
{1, 1, 1, 1, 1, 1, 0, 0}, // 0
{0, 1, 1, 0, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1, 0}, // 2
{1, 1, 1, 1, 0, 0, 1, 0}, // 3
{0, 1, 1, 0, 0, 1, 1, 0}, // 4
{1, 0, 1, 1, 0, 1, 1, 0}, // 5
{1, 0, 1, 1, 1, 1, 1, 0}, // 6
{1, 1, 1, 0, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1, 0}, // 8
{1, 1, 1, 1, 0, 1, 1, 0}, // 9
};
void setup(){
for (int i = 4; i <= 11; i++){
pinMode(i, OUTPUT);
}
}
void loop(){
for (int i = 0; i < 10; i++){
digitalWrite(pin_a, numTable[i][0]);
digitalWrite(pin_b, numTable[i][1]);
digitalWrite(pin_c, numTable[i][2]);
digitalWrite(pin_d, numTable[i][3]);
digitalWrite(pin_e, numTable[i][4]);
digitalWrite(pin_f, numTable[i][5]);
digitalWrite(pin_g, numTable[i][6]);
digitalWrite(pin_p, numTable[i][7]);
delay(1000);
}
}
Dalam contoh ini, numTable array menyimpan data yang diperlukan untuk menyalakan segmen yang sesuai untuk setiap digit.
Proyek Tampilan 7-Segmen Multi-digit
Untuk tampilan multi-digit, cara paling sederhana untuk mengendalikan beberapa tampilan 7-segmen adalah melalui multiplexing; cara lainnya adalah menggunakan pustaka Arduino.
Teknik Multiplexing
Dengan teknik multiplexing, beberapa layar berbagi rangkaian pin kontrol yang sama, dan setiap layar dinyalakan secara bergantian. Proses ini berlangsung begitu cepat sehingga mata manusia menganggap semua angka tersebut menyala secara bersamaan.
Contoh Kode untuk Multiplexing Tampilan 7-Segmen
const int digitPins[3] = {2, 3, 4}; // Digit selection pins
const int segmentPins[8] = {6, 7, 8, 9, 10, 11, 12, 13}; // Segment pins
int numTable[10][8] = { {0, 0, 0, 0, 0, 0, 1, 1}, {1, 0, 0, 1, 1, 1, 1, 1}, ... };
void setup(){
for (int i = 2; i <= 4; i++) {
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}
for (int i = 6; i <= 13; i++) {
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}
}
void loop(){
for (int i = 0; i < 10; i++){
for (int j = 0; j < 3; j++) {
showdigit(i, j);
}
delay(500);
}
}
void showdigit(int num, int digit){
digitalWrite(digitPins[digit], HIGH);
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], numTable[num][i]);
}
delay(500);
digitalWrite(digitPins[digit], LOW);
}
Menggunakan Perpustakaan untuk Mengendalikan Tampilan 7-Segmen
Untuk kemudahan, tersedia pustaka seperti SevSeg yang dapat menyederhanakan pengendalian tampilan 7-segmen. Pustaka ini berguna untuk mengendalikan tampilan multi-digit, karena memfasilitasi sebagian besar proses pengkabelan dan logika pengendalian yang rumit.
Kita dapat mencari dan menginstal SevSeg melalui menu Arduino: Tools >> Manage Libraries.

Contoh Kode yang Menggunakan Perpustakaan SevSeg
#include "SevSeg.h"
SevSeg sevseg;
void setup() {
sevseg.begin(COMMON_CATHODE, 3, digitPins, segmentPins);
}
void loop() {
int readValue = analogRead(A0);
int showValue = map(readValue, 0, 1023, 0, 999);
sevseg.setNumber(showValue, 3);
sevseg.refreshDisplay();
}
Penerapan Tampilan 7-Segmen
Berkat kesederhanaannya, kemudahan penggunaannya, dan biayanya yang murah, tampilan 7-segmen banyak digunakan dalam berbagai aplikasi, seperti:
- Jam elektronik: menampilkan waktu dan tanggal;
- Kalkulator: menampilkan hasil perhitungan;
- Peralatan rumah tangga: panel tampilan untuk produk seperti microwave, AC, dan mesin cuci;
- Dasbor mobil: menampilkan informasi seperti kecepatan dan jarak tempuh;
- Peralatan industri: menampilkan pembacaan dari perangkat seperti pengatur suhu dan pengukur tekanan;
- Alat laboratorium: menampilkan data dan hasil eksperimen;
- Elektronik konsumen: tampilan pengatur volume pada peralatan audio.
Kesimpulan
Layar 7-segmen adalah komponen serbaguna yang memungkinkan penampilan data numerik secara sederhana. Memahami pengkabelan, metode pengendalian, dan aplikasinya dapat sangat meningkatkan fungsionalitas proyek Anda, mulai dari jam sederhana hingga tampilan yang kompleks. Baik Anda menggunakan multiplexing, pustaka, atau register geser, terdapat banyak cara untuk mengendalikan layar 7-segmen secara efektif, yang masing-masing sesuai dengan kebutuhan proyek yang berbeda.




