Pada suatu waktu ada pesan masuk melalui what's up, meminta dibuatkan alat yang bernama stik tester analyser, karena saya belum pernah mendengar sebelumnya lalu saya bilang alat untuk apa dan seperti apa? Dia bilang alat untuk mengecek setiap tombol pada stik PlayStation dan saya bilang bukannya tinggal colok aja ke playstation nya? Dan katanya lebih mudah dengan alat ini sebab tidak perlu adanya perangkat playstation dan televisi serta tidak harus mencari CD/DVD yang ada setiap fungsi tombol untuk mengecek tombol-tombolnya tersebut disamping itu lebih mudah dibawa-bawa, masuk akal.
Oleh karena itu saya mulai mempelajari bagaimana cara untuk mengakses perintah sebuah kontroller playstation(selanjutnya ditulis stik ps) baik stik PS1 maupun stik PS2.
Dari beberapa informasi yang saya dapatkan, pengaksesan stik ps dari mikrokontroller salah satunya dapat melalui jalur SPI, dengan demikian kita bisa memilih menggunakan mikrokontroller Atmega8.
Baca juga : Membuat Alat Kendali Lampu Terjadwal | Programmable Timer Relay - Fareed Read
Baca juga : Membuat Alat Kendali Lampu Terjadwal | Programmable Timer Relay - Fareed Read
Penyambungan antara jalur SPI mikrokontroller dengan jalur stik ps dilakukan sebagai berikut :
MIKROKONTROLLER - STIK PSX
==========================
MISO - PSX DATA (Cokelat)
MOSI - PSX COMMAND (Oranye)
____ - PSX ACKNOWLEDGE (Hijau)
==========================
MISO - PSX DATA (Cokelat)
MOSI - PSX COMMAND (Oranye)
____ - PSX ACKNOWLEDGE (Hijau)
GND - GND (Hitam)
VCC - VCC (Merah)
SS - PSX ATTEND (Kuning)
VCC - VCC (Merah)
SS - PSX ATTEND (Kuning)
SCK - PSX CLOCK (Biru)
____ - NC (Putih)
____ - Motor (Abu-abu)
____ - NC (Putih)
____ - Motor (Abu-abu)
Untuk jalur dari MOSI, SCK dan SS dihubungkan melalui resistor pembatas arus 220 ohm sedangkan jalur diberi resistor pullup 5V 4K7 tanpa melalui resistor pembatas arus atau secara langsung.
Prosedur pembacaan data dari kontroller PS. |
Pertukaran data antara stik ps dan mikrokontroller dilakukan dengan dimulainya pengiriman data byte pertama dari stik ps berupa perintah 0x01 kemudian dilanjutkan dengan byte kedua berupa perintah baca data 0x42 sekaligus menerima jenis joystick yaitu 0x41 untuk digital atau 0x73 untuk analog. Byte ketiga kontroller mengirimkan data 0x5A dan siap menerima instruksi/perintah penekanan tombol untuk posisi byte keempat dan byte kelima.
Baca juga : Cara Upload Program ke Mikrokontroller atau Upload Sketch tanpa Board Arduino
Baca juga : Cara Upload Program ke Mikrokontroller atau Upload Sketch tanpa Board Arduino
Untuk lebih jelasnya perhatian tabel berikut ini :
Data digital bersifat aktif low, artinya ketika tidak ada penekana tombol maka data yang diterima bernilai 0xFF.
Setelah memahami cara kerjanya kemudian saya buat skema dan layoutnya dan diimplementaskan sebagai berikut :
Skema tester kontroller PS. |
Layout tester kontroller PS. |
Bottom Layout tester kontroller PS. |
3D tester kontroller PS. |
Inilah video hasil pembuatan dan tesnya.
Setelah kita mengetahui cara akses kontroller PS, selanjutnya kita dengan mudah bisa memanfaatkan kontroller PS untuk dikembangkan menjadi sebuah kontroller mobil mainan atau robot yang erat kaitannya dengan mikrokontroller.