Rangkaian Tujuh Segmen Katoda dan Anoda
PENGERTIAN,FUNGSI DAN JENIS-JENIS SEVEN SEGMENT
Pengertian Seven Segment
Seven segment adalah suatu segmen-segmen yang digunakan untuk menampilkan angka / bilangan decimal. Seven segment ini terdiri dari 7 batang LED yang disusun membentuk angka 8 dengan menggunakan huruf a-f yang disebut DOT MATRIKS. Setiap segment ini terdiri dari 1 atau 2 LED (Light Emitting Dioda).
Seven segment dapat menampilkan angka-angka desimal dan beberapa karakter tertentu melalui kombinasi aktif atau tidaknya LED penyususnan dalam seven segment. Untuk mempermudah pengguna seven segment, umumnya digunakan sebuah decoder atau sebuah seven segment driver yang akan mengatur aktif atau tidaknya led-led dalam seven segment sesuai dengan inputan biner yang diberikan.
Piranti tampilan modern disusun sebagai pola 7 segmen atau dot matriks. Jenis 7 segmen sebagaimana namanya, menggunakan pola tujuh batang led yang disusun membentuk angka 8 seperti yang ditunjukkan pada gambar di atas. Huruf-huruf yang diperlihatkan dalam gambar tersebut ditetapkan untuk menandai segmen-segmen tersebut. Dengan menyalakan beberapa segmen yang sesuai, akan dapat diperagakan digit-digit dari 0 sampai 9, dan juga bentuk huruf A sampai F (dimodifikasi).
Sinyal input dari switches tidak dapat langsung dikirimkan ke peraga 7 segmen, sehingga harus menggunakan decoder BCD (Binary Code Decimal) ke 7 segmen sebagai antar muka. Decoder ini terdiri dari gerbang-gerbang logika yang masukannya berupa digit BCD dan keluarannya berupa saluran-saluran untuk mengemudikan tampilan 7 segmen.
Prinsip Kerja Seven Segmen
Prinsip kerja dari seven segment ini adalah inpuan bilangan biner pada switch dikonversi masuk kedalam decoder, baru kemudian decoder mengkonversi bilangan biner tersebut ke dalam bilangan desimal, yang mana bilangan desimal ini akan ditampilkan pada layar seven segmen. Fungsi dari decoder sendiri adalah sebagai pengkonversi bilangan biner ke dalam bilangan desimal.
Piranti tampilan modern disusun sebagai pola 7 segmen atau dot matriks. Jenis 7 segmen sebagaimana namanya, menggunakan pola tujuh batang led yang disusun membentuk angka 8 seperti yang ditunjukkan pada gambar di atas. Huruf-huruf yang diperlihatkan dalam gambar tersebut ditetapkan untuk menandai segmen-segmen tersebut. Dengan menyalakan beberapa segmen yang sesuai, akan dapat diperagakan digit-digit dari 0 sampai 9, dan juga bentuk huruf A sampai F (dimodifikasi).
Sinyal input dari switches tidak dapat langsung dikirimkan ke peraga 7 segmen, sehingga harus menggunakan decoder BCD (Binary Code Decimal) ke 7 segmen sebagai antar muka. Decoder ini terdiri dari gerbang-gerbang logika yang masukannya berupa digit BCD dan keluarannya berupa saluran-saluran untuk mengemudikan tampilan 7 segmen.
Prinsip Kerja Seven Segmen
Prinsip kerja dari seven segment ini adalah inpuan bilangan biner pada switch dikonversi masuk kedalam decoder, baru kemudian decoder mengkonversi bilangan biner tersebut ke dalam bilangan desimal, yang mana bilangan desimal ini akan ditampilkan pada layar seven segmen. Fungsi dari decoder sendiri adalah sebagai pengkonversi bilangan biner ke dalam bilangan desimal.
Contoh :
Seperti pada 7Segmen 1 digit, 7Segmen 4 digit juga terdiri dari 2 jenis, yaitu Anoda dan Katoda. Pada 7Segmen 4 digit, 7Segmen terdiri dari 12 Kaki, yaitu :
- Kaki 12 -> D1 (Digit 1)
- Kaki 11 -> A
- Kaki 10 -> F
- Kaki 9 -> D2 (Digit 2)
- Kaki 8 -> D3 (Digit 3)
- Kaki 7 -> B
- Kaki 6 -> D4 (Digit 4)
- Kaki 5 -> G
- Kaki 4 -> C
- Kaki 3 -> dp
- Kaki 2 -> D
- Kaki 1 -> E
Gambar. PIN 7Segmen 4 Digit
Sketch yang digunakan untuk mengontrol rangkaian diatas, melibatkan pustaka bernama TimerOne. Pustaka ini dapat diunduh di, http://www.arduino.cc/playground/code.Timer1. file terunduh berupa TimerOne-v9.zip. segera lakukan penginstalan.
Bahan.
- Restan 220 ohm x 8
- 7Segmen 4 Digit x 1
- Arduino Uno R3 x 1
- Kabel Jumper Seperlunya
Perakitan.
- Kaki 12 (D1) 7Segmen dihubungkan ke PIN A0 Arduino.
- Kaki 9 (D2) 7Segmen dihubungkan ke PIN A1 Arduino.
- Kaki 8 (D3) 7Segmen dihubungkan ke PIN A2 Arduino.
- Kaki 6 (D4) 7Segmen dihubungkan ke PIN A3 Arduino.
- Kaki 11 (A) 7Segmen, dihubungkan ke Kaki R1. Kaki R1 yang tidak terhubung kemanapun, dihubungkan ke PIN 12 Arduino.
- Kaki 7 (B) 7Segmen, dihubungkan ke Kaki R2. Kaki R2 yang tidak terhubung kemanapun, dihubungkan ke PIN 11
- Kaki 4 (C) 7Segmen, dihubungkan ke Kaki R3. Kaki R3 yang tidak terhubung kemanapun, dihubungkan ke PIN 10
- Kaki 2 (D) 7Segmen, dihubungkan ke Kaki R4. Kaki R4 yang tidak terhubung kemanapun, dihubungkan ke PIN 9
- Kaki 1 (E) 7Segmen, dihubungkan ke Kaki R5. Kaki R5 yang tidak terhubung kemanapun, dihubungkan ke PIN 8
- Kaki 10 (F) 7Segmen, dihubungkan ke Kaki R6. Kaki R6 yang tidak terhubung kemanapun, dihubungkan ke PIN 7
- Kaki 5 (G) 7Segmen, dihubungkan ke Kaki R7. Kaki R7 yang tidak terhubung kemanapun, dihubungkan ke PIN 6
- Kaki 3 (dp) 7Segmen, dihubungkan ke Kaki R8. Kaki R8 yang tidak terhubung kemanapun, dihubungkan ke PIN 5
SKETCH : EMPATANODE
// ——————————————–
// Contoh untuk menguji empat penampil 7 segmen
// berjenis common anode
// ——————————————–
// Contoh untuk menguji empat penampil 7 segmen
// berjenis common anode
// ——————————————–
#include <TimerOne.h>
const byte PIN_SEGMEN[] = {12, 11, 10, 9, 8, 7, 6, 5};
const byte PIN_KONTROL[] = {14, 15, 16, 17};
const byte PIN_KONTROL[] = {14, 15, 16, 17};
const byte SEGMEN[10] =
{
// ABCDEFGDP
B11111100, // 0
B01100000, // 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B10111110, // 6
B11100000, // 7
B11111110, // 8
B11110110 // 9
};
{
// ABCDEFGDP
B11111100, // 0
B01100000, // 1
B11011010, // 2
B11110010, // 3
B01100110, // 4
B10110110, // 5
B10111110, // 6
B11100000, // 7
B11111110, // 8
B11110110 // 9
};
float nilai; // Asumsi: bagian bulat selalu 2 digit
void setup()
{
Serial.begin(9600);
{
Serial.begin(9600);
for (byte indeks = 0; indeks <8; indeks++)
{
pinMode(PIN_SEGMEN[indeks], OUTPUT);
digitalWrite(PIN_SEGMEN[indeks], HIGH);
}
{
pinMode(PIN_SEGMEN[indeks], OUTPUT);
digitalWrite(PIN_SEGMEN[indeks], HIGH);
}
for (byte indeks = 0; indeks <4; indeks++)
{
pinMode(PIN_KONTROL[indeks], OUTPUT);
digitalWrite(PIN_KONTROL[indeks], LOW);
}
{
pinMode(PIN_KONTROL[indeks], OUTPUT);
digitalWrite(PIN_KONTROL[indeks], LOW);
}
// Atur timer
Timer1.initialize(10000);
Timer1.initialize(10000);
// Pasang fungsi yang akan dijalankan
Timer1.attachInterrupt(segarkanSegmen);
}
Timer1.attachInterrupt(segarkanSegmen);
}
void loop()
{
// Bangkitkan bilangan pecahan yang bagian bulatnya
// selalu berjumlah dua digit
nilai = random (10, 99) + (random(0, 100) / 100.0);
Serial.println(nilai);
{
// Bangkitkan bilangan pecahan yang bagian bulatnya
// selalu berjumlah dua digit
nilai = random (10, 99) + (random(0, 100) / 100.0);
Serial.println(nilai);
delay(500);
}
}
void segarkanSegmen()
{
// Konversikan isi nilai eke string
char st[6];
dtostrf(nilai, 0, 2, st);
{
// Konversikan isi nilai eke string
char st[6];
dtostrf(nilai, 0, 2, st);
// Tampilkan angka ke masing-masing 7-segmen
tampilkanSegmen(0, st[0] – ‘0’);
tampilkanSegmen(1, st[1] – ‘0’);
tampilkanSegmen(2, st[3] – ‘0’);
tampilkanSegmen(3, st[4] – ‘0’);
}
tampilkanSegmen(0, st[0] – ‘0’);
tampilkanSegmen(1, st[1] – ‘0’);
tampilkanSegmen(2, st[3] – ‘0’);
tampilkanSegmen(3, st[4] – ‘0’);
}
void tampilkanSegmen(byte idSegmen, int bilangan)
{
// Matikan kontrol selain idSegmen dan
for (byte indeks = 0; indeks < 4; indeks++)
digitalWrite(PIN_KONTROL[indeks], LOW);
{
// Matikan kontrol selain idSegmen dan
for (byte indeks = 0; indeks < 4; indeks++)
digitalWrite(PIN_KONTROL[indeks], LOW);
// Hidupkan pinKontrol idSegmen
digitalWrite(PIN_KONTROL[idSegmen], HIGH);
digitalWrite(PIN_KONTROL[idSegmen], HIGH);
// Matikan semua segmen
for (byte indeks = 0; indeks < 8; indeks++)
digitalWrite(PIN_SEGMEN[indeks], HIGH);
for (byte indeks = 0; indeks < 8; indeks++)
digitalWrite(PIN_SEGMEN[indeks], HIGH);
// Aktifkan segmen sesuai dengan bilangan
for (byte indeks = 0; indeks < 7; indeks++)
if (bitRead(SEGMEN[bilangan], 7 – indeks) == 1)
digitalWrite(PIN_SEGMEN[indeks], LOW);
for (byte indeks = 0; indeks < 7; indeks++)
if (bitRead(SEGMEN[bilangan], 7 – indeks) == 1)
digitalWrite(PIN_SEGMEN[indeks], LOW);
// Hidupkan DP khusus untuk idSegmen = 1
if (idSegmen == 1)
digitalWrite(PIN_SEGMEN[7], LOW);
if (idSegmen == 1)
digitalWrite(PIN_SEGMEN[7], LOW);
// Tunda sebentar
delay(100);
}
delay(100);
}
Fungsi - fungsi SEVEN SEGMEN di kehidupan sehari hari :
- Untuk jam digital
- Untuk papan score pada olahraga
- Untuk Calculator
- Untuk Tulisan SELAMAT DATANG pada Bank, gerbang tol dll
Jenis-Jenis Seven Segmen
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.
Tabel Kebenaran Common Cathode (Katoda)
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.
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
| ANGKA | h | g | f | e | d | c | b | a |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 2 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 3 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
| 4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
| 5 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 6 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 7 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 8 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 9 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
Catatan :
1 = ON (High)
0 = OFF (Low)
0 = OFF (Low)
berikan contoh penggunaan 7 Segment dalam rangkaian ATmega8 / ATmega8535 sebagai display,
Source :







Komentar
Posting Komentar