Judul : Antarmuka Seven Segment menggunakan Metode Scanning
Tema : Antarmuka Seven Segment menggunakan Metode Scanning
Antarmuka Seven Segment menggunakan Metode Scanning
Antarmuka Seven Segment menggunakan Metode Scanning - Seven segmen (7 segmen) adalah komponen elektronika yang merepresentasikan angka numerik. 7 segmen sebenarnya adalah led yang disusun sedemikian rupa membentuk angka dasar 8, yang bisa diatur segmennya sehingga dapat menampilkan digit 0 sampai 9. Seven segment terdapat 2 jenis, yaitu common anoda dan common katoda. Saat ini orang banyak menggunakan program 7segmen menggunakan metode scanning karena dapat menghemat penggunaan port dan sumber daya pada mikrokontroller. Sehingga mikrokontroller tidak dibebani dengan arus berlebih.
skematik ekuivalent seven segment |
Skematik Program
Skematik rangkaian yang terhubung dengan Mikrokontroller |
Pada skematik proteus diatas 7 segment yang digunakan adalah 7 segment common catoda (cc) dan sebuah transistor NPN sebagai driver. artinya untuk menyalakan setiap segmen maka basis transistor yang terhubung ke PORTB.0, PORTB.1, dan PORTB.2 harus diberi logika high. Setelah itu tinggal mengatur segmen mana yang akan dinyalakan sehingga dapat merepresentasikan angka. Setiap digit Seven Segment terhubung pada PORTC. Baca juga : Pemograman LED menggunakan AVR ATmega
Tabel kebenaran
tabel kebenaran common catode |
Tabel dibawah adalah tabel untuk common chatode, bagi yang menggunakan common anode atau common catode dengan konfigurasi yang berbeda silahkan disesuaikan pada listing program dengan mengubah nilainya.
Listing program
Mikroontroller yang digunakan adalah Atmel AVR ATmega 16 dan Software yang digunakan adalah AVR studio 5. bisa juga menggunakan Codevision AVR. Listing programnya adalah sebagai berikut :
Program Scanning biasa
#include // Header Standard AVR
#define F_CPU 12000000UL // Set clock 12Mhz
#include h // Fungsi delay
void main (void) // Program Utama
{
DDRB=0xff; // Set PORTB sebagai OUTPUT
DDRC=0xff; // Set PORTC sebagai OUTPUT
while (1)// Prgram berulangan terus menerus
{
PORTB=0x01; // Set PINB.0 = 1, Mengaktifkan Segmen Satuan
PORTC=0X4F; // Set PORTC = 0x4f, Menampilkan angka 3
_delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // Mematikan semua segmen
PORTB=0x02; // Set PINB.1 = 1, Mengaktifkan Segmen Puluhan
PORTC=0X5b; // Set PORTC = 0x5b, Menampilkan angka 2
_delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // Mematikan semua segmen
PORTB=0x04; // Set PINB.1 = 1, Mengaktifkan Segmen Ratusan
PORTC=0X508; // Set PORTC = 0x508, Menampilkan angka 1
_delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // Mematikan semua segmen
}
}
Pada listing Program diatas Kita akan memprogram 3 digit seven segment sehingga dapat menampilkan angka 123. Logika program ini sederhana, hanya dengan menyalakan Segmen satu persatu namun dengan input digit yang berbeda yaitu angka 1,2 dan 3. Proses menyalakan segmen satu persatu berlangsing sangat cepat (hanya 1 Milidetik). Mata manusia tidak dapat menagkap perubahan seven segmen yang begitu cepat.
Program Scanning Dengan formula
#include // Header Standard AVR
#define F_CPU 12000000UL // Set clock 12Mhz
#include h // Fungsi delay
unsigned char angka[0x3f,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f] // Variabel array untuk // angka 0 sampai 9
void main (void) // Program Utama
{
DDRB=0xff; // Set PORTB sebagai OUTPUT
DDRC=0xff; // Set PORTC sebagai OUTPUT
char a; // membuat Variabel a dengan tipe data Char
int nilai; // membuat Variabel nilai dengan tipe data integer
nilai=123;
while (1)// Program berulangan terus menerus
{
for (a=0; a<6 span="" style="color: maroon;"> 6>a++) // Perulangan 6 kali
{
PORTC=angka[nilai%10]; // Formula Ambil data Satuan (menampilkan Satuan)
PORTB=0x01; // Mengaktifkan digit satuan
delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // matikan Segmen
PORTC=angka[nilai%10]; // Formula Ambil data Puluhan (menampilkan Puluhan)
PORTB=0x02; // Mengaktifkan digit puluhan
delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // matikan Segmen
PORTC=angka[nilai%10]; // Formula Ambil data Ratusan (menampilkan Ratusan)
PORTB=0x04; // Mengaktifkan digit ratusan
delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // matikan Segmen
}
}
}
Program diatas lebih mudah dari program pertama karena untuk mengubah tampilan segment hanya dengan mengubah variabel “Nilai”. Pada Program diatas Nilai di set pada angka 123, sehingga segmen akan menampilkan angka 123. Namun jika nilai diganti angka 400 misalkan, maka digit seven segment akan langsung menyesuaikan.
Penutup
Untuk dapat memprogram sebuah mikrokontroller diperlukan pengetahuan dasar tentang karakteristik komponen elektronika dan dasar pemograman. 2 hal ini adalah “item Wajib” bagi seorang programmer untuk merancang sebuah sistem mikrokontroller. Selain itu latihan terus menerus juga sangat penting untuk meningkatkan logika program kita. Ingat ! Pemograman itu gampang, Logikanya yang susah !. Dengan banyak latihan maka skill logika program kita akan semakin terasah. Semoga bermanfaat !
Demikianlah Artikel Antarmuka Seven Segment menggunakan Metode Scanning
materi teknik elektro tentang Antarmuka Seven Segment menggunakan Metode Scanning, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sekian postingan kali ini.
0 Response to "Antarmuka Seven Segment menggunakan Metode Scanning"
Posting Komentar