- Home »
- Kontrol lampu LED On-Off melalui port USB dengan Visual C
// Robby Fajri Maulana
// On-19 Apr 2015
Nama: M Robby Fajri Maulana
Kelas: 2Cb
NIM: 061430700535
Mata Kuliah: Praktek Peripheral Interface
Dosen Pembimbing: Ali Firdaus S.Kom., M.Kom.
Kontrol lampu LED On-Off
melalui port USB dengan Visual C
Sebagai
mana komputer/laptop sekarang banyak yang sudah menghilangkan port paralel dan
port
serialnya, sebagai
gantinya terpasang beberapa port USB. Lupakan dahulu tentang specifikasi,
protokol dan driver USB, kita langsung saja semudah mungkin bisa on-off-kan
(menghidupkan dan mematikan) lampu LED melalui port USB. Biasanya setelah
praktek bisa menghidupkan LED akan lebih mudah untuk mempelajari lebih lanjut.
Ini merupakan contoh yang sangat sederhana sehingga mudah untuk diterapkan bagi
pemula sekalipun. Untuk mengontrol LED melalui port USB kita membutuhkan
konverter yang bisa menerjemahkan protokol serial USB menjadi logika high low
seperti yang kita inginkan. Kita tidak bisa menggunakan port USB ini langsung
berlogika high atau low seperti port paralel, kita membutuhkan konverter yang
menerjemahkan protokol USB ke logika high-low. Di internet di jual
bermacam-macam
konverter ini, misal
konverter USB ke serial yang cukup terkenal dari FTDI. Untuk pemograman LED ini
kita akan mengunakan USB I/O Converter dari www.satu-microelectronics.com
yaitu USB HID IO Converter yang berupakan USB HID yang tidak
memerlukan driver tersendiri, ini seperti Mouse dan Keyboard USB yang tinggal
colok dan langsung bisa digunakan.
USB HID IO Converter merupakan konverter USB ke 8
bit IO, I2C, SPI dan ADC. USB
konverter ini adalah
USB kelas HID (Human Interface Device) sehingga tidak memerlukan instalasi
driver USB baik di sistem operasi Windows (XP, WIN7 maupun Windows 8). Sistem
operasi tersebut sudah menyediakan drivernya yang tentunya memudahkan kita
dalam menggunakannya. Sistem operasi lain seperti MAC, Android dan LINUX pun
juga sudah menyediakan driver untuk USB kelas HID sehingga USB HID IO Converter
ini juga bisa di gunakan pada sistim operasi tersebut.
USB HIDClass<->IOConverter
Program sederhana untuk mengontrol lampu LED ini akan kita beri
nama USB HID - LED On-Off. Program ini digunakan untuk melakukan pengontrolan
(menyalakan / mematikan) LED. Kita bisa menyalakan atau mematikan LED dengan
mencentang CheckBox pada program kita, dan LED akan hidup atau mati sesuai
kondisi CheckBox. Program ini memerlukan rangkaian LED yang dikoneksikankan
pada port IO USB HIDClass<->IOConverter.
Rangkaian
LED
Berikut adalah
rangkaian LED yang harus dihubungkan dengan port IO0-IO7 USB HIDClass<-
>IOConverter ke
Ground melalui resistor 1K Ohm, seperti pada Gambar dibawah
www.satu-microelectronics.com 2
Pemograman
USB HID - LED On-Off
Setelah
rangkaian LED telah dibuat, maka sekarang adalah pembuatan program yang
digunakan untuk mengontrol LED tersebut. Langkah – langkah pembuatan program USB
HID - LED On-Off adalah sebagai berikut;
1. Buka Visual C.
Pada menu File, klik perintah New Project, lalu klik OK untuk membuat sebuah file
executable standar. Simpanlah project dengan nama LED
On-Off.
2. Klik kontrol Label
untuk membuat sebuah label yaitu untuk Label1 yang
akan kita gunakan untuk menampilkan pesan.
3. Buat delapan buah
kotak Check Box. Kotak - kotak check box tersebut nantinya akan menjadi status
dari LED yang akan kita kontrol.
4. Ubah properties
dan ukuran form agar seukuran kotak dialog sedang, seperti Gambar
dibawah
5. Klik menu ProjectAdd
Reference dan tambahkan HID_IOConverter_NET.dll seperti
gambar dibawah. (Copykan file HID_IOConverter_NET.dll pada folder project
terlebih dahulu)
www.satu-microelectronics.com
3
6. Buka View Code
maka akan terlihat penambahan code ;
using
HID_IOConverter_NET;
dan tambahkan code berikut;
using
Microsoft.Win32.SafeHandles;
7. Tambahkan object
class HID_IOConverter_Function dan tambahkan code untuk event
Form1_Load berikut;
SafeFileHandle
iHandle;
HID_IOConverter_Function
HIDi = new
HID_IOConverter_Function ();
long
iReturn;
private
void Form1_Load(object sender, EventArgs e)
{
iHandle
= HIDi.Hid_OpenDevice();
if (iHandle.IsInvalid)
{
label1.Text
= "USB HIDClass<->IOConverter tidak terkoneksi..." +
"\n"
+ "Koneksikan USB HIDClass<->IOConverter terlebih dahulu," +
"\n"
+ "kemudian buka kembali program ini....";
}
else
{
iReturn
= HIDi.GPIO_DDR_Out(iHandle, 255);
iReturn
= HIDi.GPIO_Port_Out(iHandle, 0);
label1.Text
= "Check CheckBox to turn on LED "
+
"\n"
+ "Uncheck CheckBox to turn off LED";
}
}
Gambar. Menambahkan object HID_IOConverter_Function
Prosedur Form1_Load
ini akan berjalan pertama kali ketika program dijalankan. Program
akan
mencoba mencari USB
HIDClass<->IOConverter melalui fungsi Hid_OpenDevice dan
handle dari USB ini akan kita simpan pada iHandle, jika berhasil maka
akan di kirim perintah
GPIO_DDR_Out(iHandle, 255) ke
USB HIDClass<->IOConverter untuk memnuat 8 bit
port IO-nya sebagai
output semua, kemudian mengirim perintah GPIO_Port_Out(iHandle,0)
yang akan membuat
ouput GPIO berlogika low (LED mati semua) saat awal program.
Jika USB
HIDClass<->IOConverter tidak ditemukan maka akan di tampilan pesan pada
Label1
bahwa USB
HIDClass<->IOConverter tidak terkoneksi.
www.satu-microelectronics.com
4
8. Ketikkan kode
program berikut ini pada even CheckBox1_CheckedChanged sampai
CheckBox8_CheckedChanged
private
void checkBox1_CheckedChanged(object
sender, EventArgs e)
{
if (checkBox1.Checked)
{
HIDi.Set_Bit(iHandle,
HID_IOConverter_Function.GPIO_Port0);
}
else
{
HIDi.Clear_Bit(iHandle,
HID_IOConverter_Function.GPIO_Port0);
}
}
Gambar. Mengakses fungsi-fungsi pada HID_IOConverter_Function
Setiap kali terjadi
peng-klik-an pada CheckBox1 maka LED pada port IO USB HIDClass<-
>IOConverter akan
ON dan OFF.
9. Selesai sudah
pembuatan program LED Driver.
Menjalankan
Program USB HID - LED Driver
Sekarang
kita siap menjalankan program LED On-Off. Tancapkan USB
HIDClass<->IOConverter
pada komputer,
kemudian klik tombol Start pada Toolbar, maka jika tidak ada kesalahan akan
muncul
seperti Gambar
berikut;
www.satu-microelectronics.com 5
Gambar Tampilan program LED On-Off
Pada awal program,
LED akan OFF semua. Peng-klik-an pada CheckBox LED0 - LED7 akan
menyalakan LED,
peng-klik-an selanjutnya akan mematikan kembali LED.
Foto USB HID - LED On-Off
Sumber:
http://www.satu-microelectronics.com/?p=22