Pemanfaatan port USB (Universal Serial Bus) pada komputer saat ini telah berkembang luas seiring perkembangan teknologi perangkat keras I/O computer seperti printer, scanner dan memory disk.
Selain itu
peralatan elektronika seperti telepon genggam, kamera digital, proyektor
digital dan perangkat keras berbasis mikrokontroler juga telah memanfaatkan
port USB untuk berkomunikasi data secara serial dengan komputer. Saat
ini, USB telah menjadi salah satu standar interkoneksi antara komputer
dengan peralatan eksternal.
Begitu populernya
USB saat ini hingga mendorong untuk menciptakan suatu alat yang
menggunakan antarmuka USB. Alat itu adalah pengendali lampu melalui antarmuka
USB berbasis Mikrokontroler
AVR AT90S2313.
Seperti apa
alat tersebut? Pada kasus ini telah dicoba untuk merancang dan membuat
antarmuka USB dengan memanfaatkan firmware yang diimplementasikan
kedalam mikrokontroler AVR AT90S2313. Keuntungan dari cara ini adalah selain
harganya yang lebih murah, alat-alat yang dibutuhkan mudah didapat di
Indonesia.
Alasan
memilih mikrokontroler
tipe AT90S2313 ini adalah karena pada kecepatanya, AT90S2313-10PI
mempunyai kecepatan 10 MHz, tetapi dalam alat ini dapat dilakukan overclocking
dengan menggunakan kristal pembangkit clock sebesar 12MHz, kecepatan ini
memenuhi kriteria dari antarmuka USB dengan mode low-speed (1,5 Mbps).
Diagram
pengendali lampu melalui antarmuka USB
Pada gambar
di atas terdapat beberapa device (perangkat) yang bekerja sehingga lampu
akhirnya dapat dikendalikan sesuai keinginan.
Adapun
fungsi dari masing-masing alat perangkat tersebut:
- Mikrokontroler berfungsi untuk men-dekode data yang diterima dari USB dan mengirimkan data dari mikrokontroler melalui USB.
- Komputer digunakan untuk menampilkan program pengendali lampu yang bertujuan untuk mempermudah pengguna dalam mengontrol lampu baik mematikan lampu atau menyalakannya sesuai dengan perintah.
- Remote televise digunakan untuk mengendalikan lampu secara remote.
- Driver berfungsi untuk mengenali peralatan USB yang telah terpasang terhadap lingkungan system operasi Windows.
Pengguna
atau user memasukan parameter input ke komputer berupa suatu perintah. Perintah
tersebut diubah kebentuk tertentu yang dapat dilewatkan melalui antarmuka USB
ke mikrokontroler. Data tersebut dibaca oleh mikrokontroler berupa IC AT90S2313
yang sebelumnya telah terprogram sebuah firmwire yang sesuai dengan
karakteristik USB.
Program firmware
ini mengubah karakteristik dari parameter input (dari komputer) menjadi bentuk
tertentu yang diteruskan ke port 8 bit I/O dari mikrokontroler yang telah
ditentukan, dan selanjutnya akan menentukan tindakan atau pengendalian apa yang
akan dilakukan terhadap lampu.
Selain
pengendalian melalui komputer, pengguna juga dapat mengendalikan nyala lampu
melalui fasilitas remote. Remote yang digunakan berupa remote televisi
yang dapat dibeli di toko-toko elektronik. Pengguna menekan tombol tertentu
dari remote, kemudian sinyal diterima oleh receiver yang kemudian diteruskan ke
mikrokontroler dan diterjemahkan kedalam suatu bilangan biner yang unik.
Setelah mikrokontroler menerjemahkan sinyal dari tombol remote, kemudian
diteruskan ke komputer yang tentunya sinyal tersebut sudah diterjemahkan
kedalam bentuk tertentu agar dapat dibaca melalui antarmuka USB. Host
(komputer) membaca kode tersebut dan kemudian menentukan jenis tindakan atau
pengendalian apa yang akan dilakukan, dan kemudian dikembalikan ke
mikrokontroler untuk melakukan tindakan atau pengendalian yang telah
ditentukan.
Perangkat Keras
Rangkaian
yang dibutuhkan dalam membuat pengendali lampu melalui antarmuka USB sangat
sederhana. Adapun bagian utamanya adalah antarmuka USB, mikrokontroler
dan sensor infra merah (sensor infra merah TSOP1738 yang berfungsi untuk
menerima infra merah dari remote TV). Dapat digambarkan sebagai berikut:
Skema
diagram pengendali Lampu
Catu daya yang digunakan sebagai sumber
tegangan pada rangkaian USB diperoleh dari host (komputer), karena pada
antarmuka USB setiap host mampu menyediakan tegangan sebesar 5 volt dengan arus
maksimum 500mA. Arus sebesar itu sudah lebih dari cukup untuk mencatu alat ini,
sehingga catu daya dibutuhkan hanya untuk mendrive relay pengendali lampu.
Bagian kabel
D- pada antarmuka USB dihubungkan ke pin PB0 mikrokontroler dan PB1 pada kabel
D+. Alat ini hanya mendukung mode kecepatan rendah (low speed) yaitu pada kabel
D- di terminalkan sebuah resistor pull-up 1,5 k? (untuk full Speed, resistor
pull-up terhubung ke D+) yang terdapat pada setiap peralatan USB.
Pada
mikrokontroler dipasang kristal pembangkit frekuensi sebesar 12MHz, hal ini
dilakukan untuk mengimbangi kecepatan dari USB mode kecepatan rendah (low
speed) yaitu 1,5 Mbps.
Kapasitor
disini berfungsi sebagai filter dari tegangan. Pada penerima infra merah,
digunakan sensor infra merah TSOP1738 yang berfungsi untuk menerima infra merah
dari remote TV. Pin VS adalah sumber tegangan 5 volt, VO adalah pin keluaran
dari sensor yang terhubung ke PB2 dan PD2 (T0) pada mikrokontroler, sedangkan
GND adalah pin ground. Pada pin VS ke GND dipasang sebuah kapasitor yang
berfungsi untuk mencegah interferensi antara sinyal dari infra merah dan sinyal
dari USB komputer. Pin PB4, PB5, Pb6 dan PB7 pada mikrokontroler digunakan
untuk keluaran yang terhubung ke relay dan digunakan untuk mengendalikan lampu.
Pada bagian
pengendali lampu digunakan relay yang berfungsi untuk menyalakan atau mematikan
lampu yang dikontrol dengan memberikan tegangan dan arus tertentu pada koilnya.
Perangkat Lunak
Perangkat
lunak yang digunakan dalam perancangan alat ini adalah bahasa Assembler AVR
sebagai firmware, driver untuk Windows dan bahasa Delphi untuk program pengendali
dari pengguna. Perangkat lunak program utama adalah perangkat lunak yang
berfungsi untuk mengatur pembacaan input dari komputer dan juga input dari
remote. Pemrogram dilakukan menggunakan bahasa Assembler yang di-download
kedalam mikrokontroler bersamaan dengan program firmware.
Firmware
dipakai untuk mengatur pengiriman dan penerimaan data antara USB dan alat.
Program pengendali diimplementasikan menggunakan bahasa pemrograman Delphi 7.
Program
dibagi menjadi 2 bagian :
- program pengendali lampu melalui komputer dan
- program pengendali lampu melalui penekanan remote.
Tampilan
dari program pengendali seperti gambar di bawah ini:
Program
pengendali
Untuk
pengujian dari alat ini, dapat dilakukan dengan dua cara yaitu pengujian keseluruhan
melalui komputer dan pengujian melalui remote. Adapun perintah-perintah yang
dilaksanankan dalam pengujian melalui komputer adalah sebagi berikut:
- Menyalakan lampu secara bergantian.
Dari percobaan ini tidak ditemui kendala yang berarti, artinya program dan rangkaian berjalan dengan baik ketika dieksekusi.
Pengujian ini berjalan dengan baik walaupun perintah dilakukan selama 3 jam.
Pengujian
melalui remote dilakukan dengan cara menekan tombol-tombol remote yang
sudah ditentukan yang akan menghasilkan keluaran nyala lampu yang berbeda-beda.
Tabel di bawah adalah table dari tombol-tombol remote dengan macam fungsinya.
Tombol remote
|
Kode Remote
|
Fungsi
|
Tombol 1
|
128
|
Untuk menyalakan dan mematikan
lampu 1
|
Tombol 2
|
129
|
Untuk menyalakan dan mematikan
lampu 2
|
Tombol 3
|
130
|
Untuk menyalakan dan mematikan
lampu 3
|
Tombol 4
|
131
|
Untuk menyalakan dan mematikan
lampu 4
|
Tombol “Power”
|
149
|
Untuk menyalakan dan mematikan
semua lampu
|
Tombol “Mute”
|
148
|
Untuk menyalakan dan mematikan
lampu berjalan
|
Tombol “Program”
|
144(+), 145(-)
|
Untuk menyalakan dan mematikan
lampu secara bergantian sesuai jumlah penekanan tombol
|
Tombol “Volume”
|
146(+), 147(-)
|
Untuk menyalakan secara “volume”
|
Tidak ada komentar:
Posting Komentar