Antarmuka dengan Piranti LED
1. Rangkaian Antarmuka Mikrokontroler dengan LED
Sebelum
menghubungkan piranti eksternal dengan mikrokontroler, harus dilakukan analisis
antarmuka yang cermat untuk meyakinkan bahwa tegangan, arus dan pewaktuan yang diperlukan
memenuhi persyaratan yang diberikan oleh mikrokontroler maupun piranti
eksternal tersebut. Berikut ini akan dibahas bagaimana menghubungkan LED dengan
mikrokontroler AVR.
Sebuah
LED (Light Emitting Diode) adalah
sebuah sumber cahaya yang terbuat dari semikonduktor. Biasanya LED digunakan
sebagai lampu indikator logika 1 atau logika 0 pada pin tertentu di
mikrokontroler, dan mulai banyak digunakan sebagai penerangan/lampu. Gambar 3.2
memperlihatkan bentuk fisik LED dan simbol rangkaiannya. Sebuah LED mempunyai 2
kaki yaitu anoda atau kaki positif dan katoda atau kaki negatif. Untuk menyalakan LED, maka kaki anoda harus
diberi tegangan 1.7 V - 2.2 V lebih
besar daripada kaki katoda. Tegangan ini disebut tegangan maju (Vf). Arus LED juga harus dibatasi
oleh besar arus tertentu yang disebut arus maju (If). Tegangan maju
dan arus maju biasanya tercantum dalam datasheet LED tersebut.
(a) LED warna merah, hijau dan biru
(b)
(b) Simbol elektronik
Gambar 3.2 LED
Contoh
rangkaian LED dapat dilihat dalam Gambar 3.3. Logika 1 diberikan oleh
mikrokontroler ke masukan inverter. Inverter akan memberikan logika 0 pada
output-nya sehingga akan memberikan virtual ground pada kaki katoda LED.
Resistor membatasi arus yang melewati LED tersebut. Nilai resistor dapat dihitung dari persamaan
(3.1).
R = (VDD − VDIODE)/IDIODE
(3.1)
Gambar 3.3 Rangkaian antarmuka mikrokontroler
dengan LED
Gambar 3.4 Rangkaian LED dalam
trainer I/O
Penting untuk diingat bahwa IC
inverter 7404 harus digunakan karena kemampuannya untuk memberikan arus 16 mA
dengan aman. Sebagai alternatif, dapat digunakan transistor NPN seperti 2N2222
(PN2222 atau MPQ2222) sebagai pengganti
inverter seperti yang ditunjukkan dalam Gambar 3.3.
Dalam trainer I/O
yang digunakan, rangkaian antarmuka mikrokontroler dengan LED yang dihubungkan
dengan kedelapan pin sebuah port dapat dilihat dalam Gambar 3.4. Dalam modul
trainer I/O yang dipakai dalam praktikum, kedelapan rangkaian LED tersebut
dihubungkan ke sebuah soket jumper bernama OUTPUT.
2. Perintah Dasar Mengeluarkan Data
Sebelum mulai
menulis program dengan bahasa C, perlu diketahui bahwa mikrokontroler AVR perlu
diset isi register DDR dan PORT agar bisa digunakan sebagaimana mestinya,
seperti yang terlihat dalam Tabel 3.2.
Tabel 3.2 Konfigurasi Pengaturan 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 heksadesimal ke PORTX (X=A, B, C, D) digunakan
statement:
PORTX = 0xdata;
Contohnya:
PORTB =
0xaa;
Untuk mengirim
data byte dalam bentuk bilangan biner ke PORTX (X=A, B, C, D) digunakan
statement:
PORTX = 0bdata;
Contohnya:
PORTB = 0b10101010;
Untuk mengirim
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;
Dimana data bisa berupa 0 atau 1.
Contohnya:
PORTB.1 =
0;
0 komentar:
Posting Komentar