Mendeteksi Tombol Hardware di Port USB Menggunakan Delphi

Pada tutorial kali ini, saya akan mencoba menjelaskan bagaimana caranya mendeteksi penekanan tombol hardware di komputer/laptop menggunakan Delphi. Yang dimaksud dengan tombol hardware adalah tombol yang benar-benar tombol secara fisik (riil), bukan tombol virtual yang hanya ada di software/aplikasi. Jadi nantinya, setiap ada penekanan tombol di luar komputer (terhubung melalui kabel USB), akan mampu dideteksi dari sisi Delphi-nya. Contoh aplikasi yang mirip-mirip fungsinya seperti yang akan kita buat adalah aplikasi sistem antrian bank (Queueing System), HMI (Human Machine Interface), dan banyak aplikasi pada sistem automation di pabrik-pabrik.

Baiklah, kali ini kita coba membuat 4 buah tombol hardware/fisik, dengan 2 di antaranya bertipe push on, sedangkan sisanya bertipe push on-off. Alat dan bahan :

– 2 tombol push on
– 2 tombol push on-off
– box plastik
– bor dan mata bor
– kabel jumper secukupnya
– Arduino Uno, untuk mendeteksi penekanan tombol dan mengirimnya ke komputer melalui kabel USB.

Untuk sketch handler Arduino, pembuatan box dan skema rangkaian tombol hardware akan saya jelaskan di artikel terpisah. Untuk box tombol tampilannya kurang lebih seperti pada gambar di bawah

tombol hardware - fisik dengan interface kabel USB - delphi

Jika box dibuka, tampilannya seperti pada gambar di bawah :

tampak dalam box tombol usb delphi

Untuk desain sistem pendeteksian/pembacaan tombol hardware oleh Delphi, ilustrasinya adalah sebagai berikut :

desain Membaca Tombol Hardware di Komputer Menggunakan Delphi - kabel USB

Cara kerja : Jika ada salah satu tombol ditekan, Arduino akan mendeteksinya, kemudian mengirimkan data penekanan tombol berupa string ‘tombolx ditekan’ (x menunjukkan nomor tombol) ke komputer melalui kabel USB. Sesampainya di port USB komputer, data string akan dibaca Delphi, kemudian diolah dan ditampilkan sesuai tombol hardware yang ditekan. Demikian terus cara kerjanya, Delphi akan terus secara simultan membaca data yang ada di port USB dan mengolahnya berdasarkan karakter string yang dikirim.

Catatan : untuk case study di atas, port USB yang digunakan adalah yang bertipe emulasi port serial. Jadi secara fisik adalah port USB, namun data yang dikirim menggunakan protokol serial.

Jika hardware tombol sudah dirangkai,  maka langkah selanjutnya adalah membuat event handler di sisi Delphi untuk menangani pembacaan data string yang ada di port USB. Untuk maksud tersebut, Anda dapat menggunakan komponen CPort/comport. Jika belum memilikinya Anda dapat mengunduhnya secara gratis di sini. Jika sudah diinstal, event handler yang perlu diisi terletak pada event OnRxChar komponen ini.

Untuk lebih jelasnya, buatlah program baru di Delphi sebagai berikut (saya menggunakan Delphi 7). Ambil komponen TComport, TLabel (2 bh), TMemo, TButton (2 bh), TTimer. Atur peletakannya seperti pada gambar di bawah.

desain aplikasi baca tombol usb delphi

Atur properti masing-masing komponen seperti tabel di bawah :

Tab Komponen Properti Nilai
Standar Button1 Caption Setting
 Standar Button2 Caption Start
 Standar Label1 Caption Silahkan tekan tombol
 Standar Label2 Caption Tombol :

Berikutnya isi event handler untuk event OnRxChar komponen TComport  sebagai berikut :

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var
Str: String;
begin
ComPort1.ReadStr(Str, Count);
Memo1.Text := Memo1.Text + Str;
if pos('tombol1',str)<>0 then label2.caption:='Tombol 1 ditekan';
if pos('tombol2',str)<>0 then label2.caption:='Tombol 2 ditekan';
if pos('tombol3',str)<>0 then label2.caption:='Tombol 3 ditekan';
if pos('tombol4',str)<>0 then label2.caption:='Tombol 4 ditekan';
end;

Event handler komponen TButton1 :

procedure TForm1.Button1Click(Sender: TObject);
begin
 ComPort1.ShowSetupDialog;
end;

Event handler TButton2 :

procedure TForm1.Button2Click(Sender: TObject);
begin
if ComPort1.Connected then
 Begin
  ComPort1.Close;
  Button2.Caption:='Start';
 end
 else
  begin
   ComPort1.Open;
   Button2.Caption:='Stop';
 end;
end;

Fungsi tombol virtual Button1 adalah untuk melakukan setting port serial (COM port) yang terbaca di komputer Anda. Untuk memastikan nomor COM port yang digunakan, bukalah ‘Device Manager’ di Control Panel, dan nomor port akan terbaca di bagian ‘LPT & COM’. Sedangkan tombol Button2 fungsinya adalah untuk membuka port serial (port USB teremulasi) dan mengijinkan data masuk ke port serial (USB).

Jalankan program (F9), dan tekan tombol ‘Setting’ dan pilihlah COM port alat (cek di Device Manager). Setelah itu tekan tombol ‘Start’.

setting port com - program tombol hardware usb laptop pc

Selanjutnya cobalah menekan tombol hardware yang tadi sudah dibuat. Seharusnya, tampilan program  akan seperti pada gambar di bawah.

tampilan program tombol hardware ke usb laptop pc

Selamat, Anda sudah berhasil menangani tombol hardware yang terhubung melalui port USB di komputer menggunakan Delphi. Tutorial selanjutnya adalah bagaimana cara membuat sketch handler untuk Arduino supaya dapat mendeteksi penekanan tombol dan mengirimkan statusnya melalui port USB (emulasi port serial).

tampilan aplikasi deteksi tombol hardware - usb -delphi

Catatan : jika membutuhkan hardware tombol seperti di atas atau mungkin custom dengan model/sistem lain bisa menghubungi saya (081910026910)

0 0 votes
Article Rating

Leave a Reply

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
sigit

Tolong kirimin sketchnya mazz

sigit

Brapaan Mazz

4
0
Would love your thoughts, please comment.x
()
x