Program Kontrol Modul USB-2REL Menggunakan Delphi Dengan libusb.pas


usb2rel_delphi_libusbGambar di samping adalah screenshot program demo pengontrolan modul USB-2REL menggunakan Delphi yang mengakses port USB menggunakan library dari paket program driver libusb-win32.

Tidak seperti program Delphi sebelumnya yang menggunakan fungsi ShellExecute untuk mengeksekusi program USB2R.EXE untuk mengontrol relay pada modul USB-2REL, kali ini akan saya berikan contoh program Delphi untuk mengontrol LED dan RELAY pada modul USB-2REL yang langsung mengakses port USB menggunakan library libusb0.dll.

Thanks to Stephan Meyer, Johannes Erdfelt, and Yvo Nelemans for providing the special unit LIBUSB.PAS 😀

Project Delphi yang kita buat ini mengikutsertakan unit libusb.pas yang berisi definisi/deklarasi fungsi-fungsi yang ada dalam libusb0.dll. Selain fungsi-fungsi, libusb.pas juga mendeklarasikan struktur-struktur data, konstanta-konstanta, dan variabel-variabel yang berkaitan dengan implementasi port USB.

Untuk dapat mengontrol LED dan RELAY pada modul USB-2REL, pertama-tama kita harus mendapatkan handle dari USB-2REL. Berikut adalah penggalan programnya.

var
  Form1: TForm1; 
  USB2REL_Device: pUSB_Device; 
  USB2REL_Handle: pUSB_Dev_Handle;
  buffer: array[0..100] of byte;

implementation

{$R *.dfm}

function USBFindDevice(VID, PID: word): pUSB_Device;
var
  bus: PUSB_BUS;
  dev: PUSB_device;
begin
  result := nil;
  usb_init();
  usb_find_busses();
  usb_find_devices();
  bus:=USB_get_Busses;
  while (bus<>nil) do
  begin
    dev:=bus.devices;
    while (dev<>nil) do begin
      if (dev.descriptor.idVendor=VID) and (dev.descriptor.idProduct=PID) then
        result:=dev;
      dev:=dev.next;
    end;
    bus:=bus.next;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin 
  USB2REL_Device:= USBFindDevice(5824, 1500); 
  USB2REL_Handle:= usb_open(USB2REL_Device);
end;

Fungsi USBFindDevice() adalah fungsi yang saya dapatkan di sebuah forum berbahasa Jerman http://www.entwickler-ecke.de yang telah saya modifikasi sedikit. 😀

Perintah: USB2REL_Device:= USBFindDevice(5824, 1500); berfungsi untuk mendapatkan pointer dari device USB-2REL. Modul USB-2REL memiliki VID=5824 dan PID=1500. Sedangkan perintah: USB2REL_Handle:= usb_open(USB2REL_Device); berfungsi untuk membuka piranti USB dengan pointer device yang dimaksud (dalam hal ini adalah USB-2REL) untuk mendapatkan handle dari modul USB-2REL. Jika kedua fungsi ini berhasil dengan baik, maka kita siap mengirimkan perintah kepada modul USB-2REL.

Kok gak ada validasinya, Pak? 😦
Tambah sendiri aja deh… 😀

Dan berikut adalah rutin-rutin untuk mengontrol USB-2REL yang sesuai dengan event untuk masing-masing button seperti pada screenshot di atas.

procedure TForm1.Relay1OnClick(Sender: TObject);
begin
  usb_control_msg(USB2REL_Handle, $40, 1, 1, 1, buffer, sizeof(buffer), 5000);
  grpRelay1.Caption:= ‘ RELAY-1 = ON ‘;
end;

procedure TForm1.Relay1OffClick(Sender: TObject);
begin
  usb_control_msg(USB2REL_Handle, $40, 1, 0, 1, buffer, sizeof(buffer), 5000);
  grpRelay1.Caption:= ‘ RELAY-1 = OFF ‘;
end;

procedure TForm1.Relay2OnClick(Sender: TObject);
begin
  usb_control_msg(USB2REL_Handle, $40, 1, 1, 2, buffer, sizeof(buffer), 5000);
  grpRelay2.Caption:= ‘ RELAY-2 = ON ‘;
end;

procedure TForm1.Relay2OffClick(Sender: TObject);
begin
  usb_control_msg(USB2REL_Handle, $40, 1, 0, 2, buffer, sizeof(buffer), 5000);
  grpRelay2.Caption:= ‘ RELAY-2 = OFF ‘;
end;

procedure TForm1.AllOnClick(Sender: TObject);
begin
  usb_control_msg(USB2REL_Handle, $40, 2, 0, 0, buffer, sizeof(buffer), 5000);
  grpRelay1.Caption:= ‘ RELAY-1 = ON ‘;
  grpRelay2.Caption:= ‘ RELAY-2 = ON ‘;
end;

procedure TForm1.AllOffClick(Sender: TObject);
begin
  usb_control_msg(USB2REL_Handle, $40, 3, 0, 0, buffer, sizeof(buffer), 5000);
  grpRelay1.Caption:= ‘ RELAY-1 = OFF ‘;
  grpRelay2.Caption:= ‘ RELAY-2 = OFF ‘;
end;

Sangat mudah, bukan? 😀

Jika Anda berminat untuk mendapatkan file project Delphi secara lengkap, silakan menuliskan komentar di bawah tulisan ini beserta nama dan alamat email yang benar dan kami akan menginformasikan download link-nya.

Modul USB-2REL dapat dipesan di http://teknikelektrolinks.com.

Selamat belajar dan selamat berkarya!

🙂

Iklan
Perihal

Cek situs kami di http://teknikelektrolinks.com. Blog Raspberry Pi: http://raspi.teknikelektrolinks.com

Tagged with: , , ,
Ditulis dalam Antarmuka Komputer, AVR, Delphi, Driver Relay, Elektronika, Gratisan, Industrial Control and Automation, Mikrokontroler, Software/Programming
11 comments on “Program Kontrol Modul USB-2REL Menggunakan Delphi Dengan libusb.pas
  1. M Nanang Muzzammil berkata:

    Mas saya boleh tau prosés dr awal gag?
    Saya benar2 belum tau tp saya ingin tau dan bisa.
    Kalo ada tutorial,pengertian2 dan cara memulai sekaligus hardware dan software yg digunakan, saya akan sangat senang sekali.
    Terimakasih sebelumnya dan salam kenal

  2. Nnde berkata:

    untuk libusb0.dll dan libusb0.pas apa harus download lg apa udh ada dlm project delphi ??
    tolong saya minta contoh programnya dunk as …
    trim’s ..

    • Chandra MDE berkata:

      File libusb.pas sudah ada dalam project Delphi.
      Untuk kemudahaan penggunaan, silakan download dan instalasi paket driver libusb-win32.
      Terima kasih dan download link sudah kami kirim ke alamat Email Anda.

  3. Abdullah Aslam berkata:

    saya berminat..

  4. Tommy berkata:

    slamat sore pak, selama ini sy bljar vb6. alhamdulillah sdh bsa koneksi via lpt dan serial. apa bisa, vb6 sy koneksikan secara lgsg ke port usb pak? spt pada halnya bpk mengontrol relay via usb. mohon tutorialnya. trima kasih

  5. wawan hitam berkata:

    luar biasa , terimakasih . . . saya tertarik. biasanya kalau gunakan printerport saya menggunakan inpout32.dll. kalau usb saya sama sekali buta . . . tolong bantuannya.

  6. M. Busrol Karim berkata:

    saya berminat pesan hardwarenya, tolong kirim contoh source code untuk mengontrol hardware dengan delphi ke email saya, terimakasih

  7. UYan berkata:

    Jika tidak Keberatan saya minta filenya mas chandra.
    Uyan, Email: manguyan09@gmail.com
    Salam

  8. uyan sumarna berkata:

    mas chandra, kalo tidak keberatan saya minta filenya. terima kasih.
    salam
    Uyan S

    email: manguyan09@gmail.com

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

Bergabunglah dengan 2.501 pengikut lainnya

Hot Links




Display Counter 3-Digit Dengan Koneksi Wi-Fi
Display Nomor Antrian WiFi Android
Mengontrol Relay Via USB/Serial dan Wi-Fi
USB Relay USB-2REL
USB Relay USB-4REL
Water Level Control WLC-02
Serial Relay SER-4REL
NEO STARDUINO SMS ALARM

Alarm SMS Berbasis NEO STARDUINO

1 PC – 6 Unit USB-2REL

Testing 6 USB-2REL Pada 1 Komputer

Standard Pengujian USB-2REL

Pengujian USB-2REL Sebelum Dikirim

LPT-4REL on Knoppix 7.0.5

Testing LPT-4REL on Knoppix Linux

T101 Inkubator Telur

T101 Inkubator Penetas Telur

KONTROL PERALATAN LISTRIK VIA PORT LPT KOMPUTER

Demo Kontrol Kontaktor via Port LPT

STARDUINO meets ANDROID

Demo Kontrol Bluetooth Relay Android

STARDUINO SMS RELAY

Kontrol Relay Via SMS Dengan Starduino

STARDUINO WEB RELAY

Demo Kontrol Relay Via Web/Internet

JustBASIC USB-2REL Control

Demo Kontrol USB-2REL + JustBASIC

STARDUINO + GPS + LCD

Demo Starduino GPS Dengan LCD

USB-2REL EXTREME TEST

Demo Kontrol On/Off Lampu USB-2REL

THERMOSTAT T101 IN ACTION

Demo Thermostat T101 Pada SV=37.5°C

WATER LEVEL CONTROL WLC-02

Demo Kontrol Level Air Tandon WLC-02

HUMIDITY CONTROLLER H103

Demo Kontrol Kelembaban H103 (DHT11)

%d blogger menyukai ini: