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
Jika box dibuka, tampilannya seperti pada gambar di bawah :
Untuk desain sistem pendeteksian/pembacaan tombol hardware oleh Delphi, ilustrasinya adalah sebagai berikut :
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.
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’.
Selanjutnya cobalah menekan tombol hardware yang tadi sudah dibuat. Seharusnya, tampilan program  akan seperti pada gambar di bawah.
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).
Catatan : jika membutuhkan hardware tombol seperti di atas atau mungkin custom dengan model/sistem lain bisa menghubungi saya (081910026910)
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Tolong kirimin sketchnya mazz
beli atuh 🙂
Brapaan Mazz
mas pengin yang kayak gimana, kalo yg udah jadi harga 150rb, dapat satu tombol, dapet source code delphi, tp ga dpt source code arduino