Pages - Menu

Senin, 05 Desember 2016

ANTARMUKA MIKROKONTROLER DENGAN LED


I.                    TUJUAN
a.      Menjelaskan rangkaian antarmuka mikrokontroler dengan LED.
b.      Mempraktekkan pemrograman mikrokontroleruntuk menyalakan LED.

II.                  DASAR TEORI
a.      LED (Light Emmiting Diode)
Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
Bentuk LED mirip dengan sebuah bohlam (bola lampu) yang kecil dan dapat dipasangkan dengan mudah ke dalam berbagai perangkat elektronika. Berbeda dengan Lampu Pijar, LED tidak memerlukan pembakaran filamen sehingga tidak menimbulkan panas dalam menghasilkan cahaya.  Oleh karena itu, saat ini LED (Light Emitting Diode) yang bentuknya kecil telah banyak digunakan sebagai lampu penerang dalam LCD TV yang mengganti lampu tube.
Simbol dan Bentuk LED (Light Emitting Diode)Description: Bentuk dan Simbol LED (Light Emitting Diode) 
Cara Kerja LED (Light Emitting Diode)
Seperti dikatakan sebelumnya, LED merupakan keluarga dari Dioda yang terbuat dari Semikonduktor. Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda.
LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).
LED atau Light Emitting Diode yang memancarkan cahaya ketika dialiri tegangan maju ini juga dapat digolongkan sebagai Transduser yang dapat mengubah Energi Listrik menjadi Energi Cahaya.
b.      Perintah Dasar Mengeluarkan Data
Sebelum mulai menulis program dengan bahasa C, perlu diketahui bahwa mikrokontroler ATmega8535 perlu diset isi register DDR dan PORT agar bisa digunakan sebagaimana mestinya, seperti yang terlihat dalam Tabel 1.
Tabel 1 KonfigurasiPengaturan Port I/O

DDR bit = 1
DDR bit = 0
PORT bit = 1
Output ; High
Input; R pull up
PORT bit = 0
Output; Low
Input, Floating

Untuk mengirim data byte dalam bentuk bilangan decimal ke PORTX (X=A, B, C, D) digunakan statement
PORTX = desimal;
PORTB = 128;
Untuk mengirim data byte dalam bentuk bilangan biner ke PORTX (X=A, B, C, D) digunakan statement
PORTX = 0bdata;
        PORTB = 0b10101010;
Untukmengirim data per bit ke PORTX.Y (X=A, B, C, D, dan Y=0, 1, 2 , 3, 4, 5, 6, 7) digunakan statement
PORTX.Y = data;
PORTB.1 = 0;
Dimana data bias berupa 0 atau 1.

III.                ALAT DAN BAHAN
·                     1 set PC/Laptop yang sudah berisi program Code Vision dan Khazama
·                     1 buah catu daya DC +5V
·                     1 buah multimeter
·                     1 buah ISP Downloader AVR
·                     1 buah sistem minimum AVR
·                     1 buah I/O
·                     1 buah kabel printer USB
·                     1 buah kabel pita hitam

IV.               PROSEDUR
1.       Rangkailah peralatan yang diperlukan seperti pada gambar dibawah. Hubungkan soket jumper PORTA pada minimum system dengan soket jumper OUTPUT pada I/O.
2.       Buka program Code Vision AVR
3.       Buat file baru dengan cara klik File>>New, atau klik icon Create a New File or Project, atau ketik Ctrl + N. Kemudian muncul dialog box, pilih Project pada File Type, kemudian klik OK.
4.       Kemudian klik No ketika muncul dialog box untuk menanyakan apakah ingin menggunakan CodeWizardAVR
5.       Kemudian pilih lokasi penyimpanan file dan buat folder baru dengan nama “praktikum 1” untuk menyimpan file.
6.       Kemudian simpan file pada folder tersebut dan berinama file dengan nama ”led“ dan klik Save.
7.       Kemudian muncul dialog box Configure Project. Pada subtab Code Generation pada tab C Compiler pilih chip ATmega8535 dan ubah Clock menjadi 4 Mhz. Kemudian klik OK 
8.       Buat file Source baru dengan cara klik File>>New, atau klik icon Create a New File or Project, atau ketik Ctrl + N. Kemudian muncul dialog box, pilih Source pada File Type, kemudian klik OK. Kemudian Save as file Source itu dengan nama ”led“ dan simpan di dalam direktori yang sama yaitu di dalam folder “praktikum 1”
9.       Hubungkan file Project dengan File Source dengan Cara klik Project>> Configure
10.   Pada dialog box, klik Add pada tab Input Files. Kemudian pilih file yang sudah anda simpan tadi dan klik Open. Kemudian klik OK.
11.   Jika sudah ditambahkan, maka pada Code Navigator akan terlihat led.c.
12.   Tambahkan file header.
13.   Buat program utama dan inisialisasikan PORTA sebagai output dan output value = 0
14.   Tuliskan program led 1 pada program utama tepatnya tuliskan program tersebut di dalam while (1):
// Program LED1
15.   Compile program tersebut dengan cara klik Project>> Compile atau ketik F9.
16.   Jika ada error , koreksi program yang error dan perbaiki. Jika sudah tidak ada yang error build program tersebut dengan cara klik Project>> Build atau klik Shift + F9.
17.   Hubungkan kabel usb printer antara PC/ Laptop dengan trainer.
18.   Buka aplikasi Khanzama AVR Programmer. Pilih ATmega8535 pada pilihan chip AVR. Kemudian buka program kompilasi led.hex biasanya terdapat pada folder atau sub derektori..\Exe yang terdapat pada folder “praktikum 1 “ dengan cara klik file>> Load Flash File to Bufferatau ketik Ctrl + L kemudian klik Open.
19.   Klik Auto Program kemudian amati nyala LED dan gambarkan nyala LED tersebut.
20.   Hapus program led 1, kemudian tuliskan program led 2 pada program utama tepatnya tuliskan program tersebut didalam while (1):
Program LED2
21.   Compile dan Build program, jika ada yang error perbaiki program. Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto program.
22.   Amati nyala LED dan gambarkan nyala LED tersebut.
23.   Hapus program led 2, kemudian tuliskan program led 3 pada program utama tepatnya tuliskan program tersebut didalam while (1):
Program LED3                             
24.   Compile dan Build program, jika ada yang error perbaiki program. Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto program.
25.   Amati nyala LED dan gambarkan nyala LED tersebut.
26.   Hapus program led 3, kemudian tuliskan program led 4 pada program utama tepatnya tuliskan program tersebut didalam while (1):
Program LED4
27.   Compile dan Build program, jika ada yang error perbaiki program. Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto program.
28.   Amati nyala LED dan gambarkan nyala LED tersebut.
29.   Hapus program led 4, kemudian tuliskan program led 5 pada program utama tepatnya tuliskan program tersebut didalam while (1):
Program LED5
30.   Compile dan Build program, jika ada yang error perbaiki program. Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto program.
31.   Amati nyala LED dan gambarkan nyala LED tersebut.

V.                 DATA HASIL PERCOBAAN
a.      Source Code
LED 1
#include  
#include
void main(void)               
{
PORTA=0x00;
DDRA=0xFF;
while (1)
    {
        PORTA=0x0f;
        delay_ms(1000);
        PORTA=0xf0;
        delay_ms(1000);
    }
}
LED 2
#include  
#include     
void main(void)                
    PORTA=0x00;
    DDRA=0xFF;
   
    while (1)
    {
    PORTA= 0b00001111;
    delay_ms(1000);
    PORTA=0b11110000;
    delay_ms(1000);
    }
}
LED 3
#include   
#include
void main(void)                
    PORTA=0x00;
    DDRA=0xFF;
   
    while (1)
    {
    PORTA= 0x55;
    delay_ms(1000);
    PORTA=0xaa;
    delay_ms(1000);
    }
}
LED 4
#include   
#include
void main(void)                
    PORTA=0x00;
    DDRA=0xFF;
   
    while (1)
    {
    PORTA= 0b11100111;
    delay_ms(1000);
    PORTA=0b11011011;
    delay_ms(1000);
    PORTA=0b10111101;
    delay_ms(1000);
    PORTA=0b01111110;
    delay_ms(1000);
    PORTA=0b10111101;
    delay_ms(1000);
    PORTA=0b11011011;
    delay_ms(1000);
    }
}
LED 5
#include      
#include
void main(void)                  
    PORTA=0x00;
    DDRA=0xFF;
   
    while (1)
    {
    PORTA= 0b00000001;
    delay_ms(1000);
    PORTA=0b00000010;
    delay_ms(1000);
    PORTA=0b00000100;
    delay_ms(1000);
    PORTA=0b00001000;
    delay_ms(1000);
    PORTA=0b00010000;
    delay_ms(1000);
    PORTA=0b00100000;
    delay_ms(1000);
    PORTA=0b01000000;
    delay_ms(1000);
    PORTA=0b10000000;
    delay_ms(1000);
    }
}


VI.               ANALISA
1.      Analisa Program LED1-LED5!
a.      Analisa program LED 1
Pada program LED 1 menggunakan bilangan hexadecimal pada syntax PORTA=0x0f; hal ini memiliki arti bahwa f merupakan pengganti angka 15. Sedangkan bila ditinjau dari program PORTA=0x0f berarti perintah untuk mengeluarkan output yang ditandai dengan LED sebagai indicator outputnya. Pada program LED 1 ini lampu LED yang menyala pada detik pertama menggunakan syntax PORTA=0x0f lampu yang terdapat pada bit ke 0 sampai bit ke 3 karena memiliki angka f yang berarti jika dibiner 1111, sedangkan pada bit ke 4 sampai bit ke 7 lampu LED akan mati karena memiliki nilai biner 0. Selanjutnya pada detik kedua LED yang menyala adalah LED pada bit ke 4 sampai bit ke 7 karena syntax yang digunakan PORTA=0xf0 memiliki angka f yang berarti jika dibiner 1111, sedangkan LED pada bit ke 0 sampai bit ke 3 LED mati karena memiliki nilai biner 0. Pergantian nyala LED ini terjadi setiap 1 detik karena delay yang digunakan adalah 1000 ms. Hal ini dapat dilihat secara jelas pada tabel praktikum 1.1.
b.      Analisa program LED 2
Pada program LED 2 menggunakan bilangan biner pada syntax PORTA=0x00. Sedangkan bila ditinjau dari program PORTA=0x00 berarti perintah untuk mengeluarkan output yang ditandai dengan LED sebagai indicator outputnya. Pada program LED 2 ini lampu LED yang menyala pada detik pertama adalah lampu yang terdapat pada bit ke 0 sampai bit ke 3 karena menggunakan syntax PORTA= 0b00001111, sedangkan pada bit ke 4 sampai bit ke 7 lampu LED akan mati karena memiliki nilai biner 0000 sebab biner 1 berarti LED menyala dan biner 0 berarti LED mati. Selanjutnya pada detik kedua LED yang menyala adalah LED pada bit ke 4 sampai bit ke 7 karena memiliki angka 1 yang berarti jika dibiner 1111, sedangkan LED pada bit ke 0 sampai bit ke 3 LED mati karena memiliki nilai biner 0000 hal ini sesuai syntax yang digunakan yaitu PORTA=0b11110000. Pergantian nyala LED ini terjadi setiap 1 detik karena delay yang digunakan adalah 1000 ms. Hal ini dapat dilihat secara jelas pada tabel praktikum 1.2.
c.       Analisa program LED 3
Pada program LED 3 menggunkan bilangan hexadesimal. Pada detik pertama menghasilkan syntax PORTA=0x55 hal ini memiliki artian bahwa LED yang akan menyala adalah LED pada bit ke 0, 2, 4, 6 karena syntax PORTA=55 akan memberikan perintah pada LED untuk menyala dengan selang-seling atau LED yang menyala dimulai dari bit ke 0 dan langsung dilanjutkan ke bit 2 atau melompati 1 bit, karena pada detik pertama ini yang memilki nilai biner 1 (LED menyala) adalah pada bit ke 0, 2, 4, dan 6. Dan pada detik kedua perintah syntax PORTA=0xaa memiliki artian bahwa  LED yang akan menyala adalah LED pada bit ke 1, 3, 5, dan 7 karena pada bit ke 1, 3, 5, 7 ini memiliki nilai biner 1 (LED menyala) atau kebalikan dari hasil output detik pertama. Pada program LED 2 ini memiliki delay sebesar 1 detik. Hasil lebih jelas dapat dilihat pada tabel 1.3.


d.      Analisa program LED 4
Pada program LED 2 ini menggunakan nilai biner. Hal ini dapat dilihat bahwa pada detik pertama memiliki syntax PORTA=0b11100111 hal ini berarti LED yang akan menyala adalah LED pada bit ke 0, 1, 2, 5, 6, dan 7 karena pada bit tersebut memiliki nilai biner 1, sedangkan pada LED bit ke 3 dan 4 akan mati karena memiliki nilai biner 0. Sedangkan padadetik kedua memiliki syntax PORTA=0b11011011 hal ini memiliki artian bahwa LED yang akan menyala adalah LED pada bit ke 0, 1, 3, 4, 6, dan 7 karena memiliki nilai biner 1, sedangkan LED pada bit ke 2 dan 5 akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke tiga memiliki syntax PORTA=0b10111101 hal ini memiliki artian bahwa LED yang akan menyala adalah LED pada bit ke 0,2,3,4,5dan 7 karena memiliki nilai biner 1, sedangkan pada bit ke 1 dan 6 LED akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke empat memiliki syntax PORTA=0b01111110 hal ini memiliki artian bahwa LED yang akan menyala adalah LED pada bit ke 1,2,3,4,5dan 6 karena memiliki nilai biner 1, sedangkan LED pada bit ke 0 dan 7 akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke lima memiliki syntax 0b10111101hal ini berarti LED yang akan menyala adalah LED pad bit ke 0, 2, 3, 4, 5, dan 7 karena memiliki nilai biner 1, sedangkan LED pada bit ke 1 dan 6 akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke enam memiliki syntax PORTA=0b11011011 hal ini memiliki artian bahwa LED yang menyala adalah LED pad bit ke 0, 1, 3, 4, 6, dan 7 karena memiliki nilai biner 1, sedangkan pada bit ke 2 dan 5 LED akan mati karena memiliki nilai biner 0. Pada program LED 4 ini memiliki delay 1 detik, jadi setelah 1 detik LED yang menyala akan berubah. Untuk lebih jelasnya dapat dilihat pada tabel 1.4.
e.      Analisa program LED 5
Pada program LED 5 menggunkan sistem bilangan biner dimana dapat dilihat bahwa pada detik pertama memiliki syntax PORTA=0b00000001 hal ini berarti LED yang kan menyala adalah LED pada bit ke 0 karena memiliki nilai biner 1, sedangkan pada bit ke 1, 2, 3, 4, 5, 6, dan 7 LED akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke 2 memiliki syntax PORTA=0b00000010 hal ini berarti LED yang akan menyala adalah pada bit ke 1 karena memiliki nilai biner 1, sedangkan LED pada bit ke 0, 2, 3, 4, 5, 6 dan 7 LED akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke 3 memiliki syntax PORTA=0b00000100 hal ini berarti bahwa LED yang menyala adalah LED pada bit ke 2 karena memiliki nilai biner 1, sedangkan pada bit ke 0, 1, 3, 4, 5, 6, dan 7 LED akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke 4 memiliki syntax PORTA=0b00001000 hal ini berarti LED yang menyala adalah LED pada bit ke 3 karena memiliki nilai biner 1, sedangkan pada bit ke 0, 1,  2, 4, 5, 6, dan 7 LED akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke 5  memiliki syntax PORTA=0b00010000 hal ini berarti LED yang menyala adalah LED pada bit ke 4 karena memiliki nilai biner 1, sedangkan pada LED bit ke 0, 1, 2, 3, 5, 6, dan 7 akan mati karena memiliki nilai biner 0. Sedangkan pada saat detik ke 6 memiliki syntax PORTA=0b00100000 hal ini berarti bahwaLED yang menyala adalah LED pada bit ke 5 karena memiliki nilai biner 1, sedangkan LED pada bit ke 0, 1, 2, 3, 4, 6, dan 7 akan mati karena memiliki nilai biner 0. Sedangkan pada saat detik ke 7 memiliki syntax PORTA=0b01000000 hal ini berarti bahwa LED yang menyala adalah LED pada bit ke 6 karena memiliki nilai biner 1, sedangkan LED pada bit ke 0, 1, 2, 3, 4, 5, dan 7 akan mati karena memiliki nilai biner 0. Sedangkan pada detik ke 8 memiliki syntax PORTA=0b10000000 hal ini berati LED yang menyala adlah LED pada bit ke 7 karena memiliki nilai biner 1, sedangkan LED pada bit ke 0, 1, 2, 3, 4, 5, dan 6 akan mati karena memiliki nilai biner 0. Pda program LED 5 ini LED akan menyala bergantian dengan delay sebesar 1 detik. Hasil ini akan lebih jelas bila dilihat pada tabel 1.5.
2.      Persamaan dan Perbedaan PROGRAM LED1 dan PROGRAM LED 2
Persamaan program LED 1 dan Program LED 2 adalah pada pemberian logika pada setiap byte nya sehingga menghasilkan nyala LED yang sama pula. Sedangkan perbedaan dari program LED 1 dan program LED 2 terletak pada penggunaan jenis bilangannya, pada program LED 1 menggunkan bilangan heksa sedangkan pada program LED 2 menggunakan bilangan biner.
3.      Instruksi yang digunakan untuk mengeluarkan data ke LED
instruksi yang digunakan untuk mengeluarkan data ke LED adalah PORTA=...... seperti misalnya pada program LED 3 instruksi yang digunakan untuk mengeluarkan data ke LED agar output dapat terlihat adalah
   PORTA= 0x55;
    delay_ms(1000);
    PORTA=0xaa;
    delay_ms(1000);
Output LED yang akan terjadi adalah pada detik ke 1 yang menyala adalah LED pada bit ke 0, 2, 4, dan 6, sedangkan pada detik ke 2 LED yang akan menyala adalah LED pada bit ke 1, 3, 5, dan 7, yang memiliki delay selama 1 detik.
4.      Mengapa ada jeda waktu sekitar 1 detik antara tampilan LED yang pertama dengan yang berikutnya?
Karena pada program kita memberikan delay sebesar 1000 ms atau 1 detik jadi tampilan LED akan berubah pada detik berikutnya sesuai instruksi yang kita berikan, apabila dalam program kita tidak memberi delay maka program akan menampilkan output dari program pertama saja.
VII.             KESIMPULAN
LED (Light Emmiting Doide) adalah suatu komponen elektronika yang bisa memancarkan cahaya monokromatik ketika diberikan suatu tegangan maju. Pada praktikum ini LED berfungsi sebagai output sesuai dengan program yang telah kita berikan. Pada praktikum antarmuka mikrokontroler dengan LED ini terlebih dahuu kita harus memberikan inisialisasi pada PORT apakah berfungsi sebagai input atau output, namun pada praktikum kali ini PORT difungsikan sebagai output. Pada praktikum ini kiat bisa menggunakan bentuk bilangan heksa maupun bilangan biner, apabila kita menggunakan bilangan heksa maka pada PORT kita harus menuliskan 0x, sedangkan apabila kita ingin menggunakan bilangan biner maka pada PORT yang tertulis haruslah 0b. Pada praktikum ini LED akan menyala apabila memiliki nilai dari bit adalah biner 1 dan LED akan mati apabila memiliki nilai bit biner 0. Pada progam praktikum ini kita dapat mengatur berapa lama seang watu yang dibutuhkan agar LED dapat menyala bergantian, yaitu dengan cara kita mengatur delay yang ada.



VIII.           DAFTAR PUSTAKA
·         http://teknikelektronika.com/pengertian-led-light-emitting-diode-cara-kerja/, diakses tanggal 13 September 2016.
·         http://elq14.blogspot.co.id/2015/01/tentangled.html, diakses tanggal 14 September 2016.

Tidak ada komentar:

Link list