AN-0203 Cara menggunakan Joystick PS2 pada mikrokontroler dengan Delta Robotic Studio

Untuk mengendalikan robot baik mobile robot, android, hexapod ataupun drone, joystick adalah sebuah perangkat HID yang seringkali digunakan. Joystick PS2 memiliki 14 input digital dan 4 buah analog input yang cukup variatif untuk memberikan masukan pada robot. Artikel berikut ini akan membahas cara menggunakan joystick ps2 pada mikrokontroler agar dapat digunakan untuk aplikasi robotik.

Di sini Joystick PS2 yang kita gunakan telah dimodifikasi dengan mengganti konektornya menjadi DB9 agar lebih mudah diperoleh konektor pasangannya

Cara Menggunakan Joystick PS2 pada mikrokontroler

Joystick PS2 yang dimodifikasi dengan konektor DB9

Cara menggunakan Joystick PS2 pada mikrokontroler

Deskripsi Pin Joystick PS2

Data, pin ini berfungsi untuk mengirim data dari joystick ps2 ke mikrokontroler, data dikirim dengan bentuk serial sinkron 8 bit fallin edge.
Command, pin ini berfungsi untuk mengirim data dari mikrokontroler ke joystick ps2, data yang di kirim berbentuk serial sinkron 8 bit fallin edge.
Vcc, Joystick ps2 membutuhkan power suplly sebesar 5 volt.
ATT, adalah pin yang digunakan untuk memilih josystick ps2 mana yang aktif ( select ).
Clock, berfungsi untuk sinkronisasi pengiriman dan penerimaan data antara mikrokontroler dan joysick ps2. Sinyal clock dibangkitkan oleh mikrokontroler.
Acknolwedge adalah sinyal yang dikirim oleh joystick ps2 apabila telah menerima data dari mikrokontroler, ACK akan berlogika low kira-kira satu siklus clock pada saat data 8 bit telah terkirim.

Transmisi data

Semua transmisi data antara mikrokontroller dan joystick adalah 8 bit serial sinkron falling edge ( data masuk pada saat clock berubah dari tinggi ke rendah ). Jika mikrokontroller ingin mengambil data dari joystick maka mikrokontroller harus membuat pin ATT berlogika low dan mengirim data sebagai start command (0×01). Setelah start commad diterima oleh joystick maka joystick akan mengirim data yang menunjukkan ID dari joystick ( 0×41 untuk joystik digital dan 0×73 untuk joystick analog red mode ). Pada saat josytick mengirim ID mikrokontroller juga mengirim data ( 0×42 ) untuk meminta data dari joystick setelah data ( 0×42 ) diterima oleh joystick maka joystisk membalas dengan mengirimkan data ( 0×52 ) sebagai pemberitahuan bahwa data akan dikirim, setelah itu joystik mengirimkan data 6 x 8 bit yang berisi informasi tombol mana saja yang ditekan ( semua tombol adalah aktif low ).

Cara menggunakan joystick ps2 pada mikrokontroler

timing-diagram-joystick-ps2

Cara menggunakan joystick ps2 pada mikrokontroler

data-joystick-ps2

Namun untuk pemula, pengambilan data joystick ps2 yang menggunakan transmisi synchronous serial tersebut bukanlah hal yang mudah. Untuk itu Delta Robotic Studio saat ini telah menyediakan makro untuk antarmuka joystick ps2  sehingga pembuatan program untuk menggunakan joystick ps2 dapat dilakukan dengan mudah karena menggunakan visual dan flowchart.

Cara menggunakan joystick ps2 pada mikrokontroler

Makro Joystick PS2

Walaupun pada gambar di atas tampak bahwa makro yang dibuat menggunakan skrip dalam assembler, bukan berarti pengguna harus menguasai bahasa assembler, karena pengguna hanya cukup memasang makro  tersebut pada flowchart saja. Hanya saja pengguna tingkat advance yang menguasai bahasa assembler akan diperbolehkan untuk mengedit skrip tersebut.

Software Delta Robotic Studio dapat didownload di link berikut

Update Makro dan Library untuk aplikasi ini ada di link berikut

Update yang dilakukan adalah:

  • Library DS1307
  • Library Joystick
  • Revisi board file ST-51 dan TRN-02
  • Tambahan makro-makro LCD, DS1307 dan Joystick

File Flowchart Aplikasi Joystick dapat didownload di link berikut

    DELTA ELECTRONIC, Paulus Andi Nalwan, ST

    Tags: , , , , , , , ,

    Leave a Reply