Mengontrol USB Relay 8-Channel Menggunakan Delphi

 

Screenshot di atas adalah tampilan program Delphi untuk mengontrol USB Relay 8-Channel (USB-8REL). Sederhana saja. Cuma demo pengontrolan kondisi relay, ON atau OFF.

USB-8REL adalah sebuah board berbasis mikrokontroler ATtiny2313A yang dapat mengontrol 8 buah relay dari komputer melalui perantaraan port USB. Selain modul USB dengan 8 relay, terdapat juga modul dengan 1/2/4 relay yakni: USB-1REL, USB-2REL dan USB-4REL.

USB-8REL membutuhkan catudaya 9-12V DC minimal 1A. Relay yang digunakan memiliki kontak NO dengan kemampuan menghantarkan arus maksimal 10A.

Modul USB Relay dapat digunakan untuk mengontrol berbagai peralatan listrik seperti lampu, fan, TV, AC, bel/sirine, motor portal parkir dan lain-lain.

Contoh aplikasi yang dapat dibuat dengan USB-8REL antara lain adalah:

  • kontrol lampu pada sistem rental meja biliar
  • kontrol lampu ruangan otomatis
  • kontrol penyiram tanaman otomatis
  • kontrol power TV pada sistem rental PlayStation

Delphi

Delphi merupakan salah satu perangkat lunak pengembang aplikasi yang populer di Indonesia. Dahulu semasa saya kuliah, hampir semua rekan menggunakan Delphi untuk membuat program interfacing. Delphi dianggap lebih mudah untuk pemrograman hardware dibanding VB terlebih lagi C/C++.

Apalagi waktu itu masih jaman Windows95/98 dan sistem operasi belum seprotektif sekarang. Kita bisa langsung mengakses port IO tanpa minta ijin kepada sistem operasi. Dan dengan Delphi, kita bisa dengan mudah menyisipkan kode program assembly untuk mengakses port IO. Sebelum mikrokontroler populer, port paralel (LPT) dan card PPI8255 (ISA) merupakan interface yang sangat populer pada waktu itu. Baru setelah mikrokontroler ramai digunakan, port serial pun mulai digunakan.

Sekarang Jaman USB

Sekarang port paralel sudah hampir punah, demikian pula halnya dengan port serial (secara fisik). Kini jamannya USB. Laptop dan komputer keluaran terbaru bahkan sudah tidak menyertakan lagi port serial DB9. Oleh karenanya mau-tidak-mau kita harus menggunakan port USB untuk keperluan interfacing, baik secara langsung atau menggunakan konverter USB-to-RS232.

Mengakses port USB secara langsung tidaklah mudah, perlu penguasaan teknologi USB, baik secara hardware maupun software. Untuk hardware kita bisa menggunakan mikrokontroler AVR dengan implementasi USB seperti V-USB yang dibuat oleh http://www.obdev.at.

Untuk software, salah satu library USB yang tersedia gratis adalah LIBUSB. Library ini tersedia dalam bentuk file DLL. Semua bahasa pemrograman yang memiliki kemampuan mengakses DLL bisa memanfaatkan library ini untuk menjembatani pemrograman antarmuka USB.

Untuk lebih gampangnya, saya biasa menggunakan bahasa C. Namun pada tulisan ini saya menggunakan Delphi (bahasa Pascal).

Unit LIBUSB.PAS

Untuk mengakses port USB menggunakan Delphi, kita memerlukan sebuah unit yang menghubungkan program Delphi dengan library LibUSB. Unit LIBUSB.PAS adalah unit yang saya dapatkan dari salah satu situs forum di luar negeri (Jerman kalau tidak salah). Dengan unit ini kita bisa mengakses port USB menggunakan Delphi dengan lebih mudah. Unit ini sudah saya coba gunakan juga menggunakan Lazarus dan bekerja dengan baik.

Berikut adalah cuplikan unit libusb.pas:

libusb_delphi

Dengan LIBUSB.PAS, kita dapat berkomunikasi dengan perangkat USB secara langsung tanpa kesulitan. Dengan mengirimkan data tertentu yang sesuai dengan apa yang telah diprogramkan kepada mikrokontroler pada modul, maka kita dapat mengontrol kondisi relay pada modul tersebut.

Nah, berikut adalah cuplikan kode program yang meng-handle button Relay-1 ON dan Relay-1 OFF.

usb8rel_delphi_r1

Untuk mengaktifkan Relay-1 pada modul, program menggunakan perintah:

n:= usb_control_msg(USB8REL_Handle, $C0, 1, 0, 1, buffer, sizeof(buffer), 5000);

Fungsi tersebut akan mengembalikan jumlah karakter dari pesan yang diterima dari USB Relay sebagai tanda bahwa perintah sukses dijalankan oleh mikrokontroler. Jika jumlah karakter yang diterima = 0 (nol), maka berarti gagal. Nilai pesan diletakkan pada parameter buffer.

USB-8REL In Action

Dan berikut ini adalah foto hasil pengujiannya.

USB-8REL Testing

CD USB-8REL

Proyek Delphi USB-8REL ini tersedia pada CD bawaan modul USB-8REL. Selain versi Delphi, tersedia juga contoh program versi C, Python dab REBOL. Kami juga menyediakan program Command-Line Interface versi Windows, Linux dan Raspberry Pi untuk memudahkan user dalam membuat aplikasi menggunakan bahasa pemrograman apapun.

Silakan menuliskan komentar atau menghubungi kami jika Anda berminat dengan program ini atau produk terkait.

Salam inovatif.

Advertisements
About

Kami berfokus pada perancangan dan pembuatan piranti USB untuk keperluan kontrol dan penginderaan berbasis PC atau SBC untuk platform Windows, Linux dan Raspberry Pi.

Tagged with: , , ,
Posted in USB-8REL

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: