Wireless Joystik PS2 + ATMega 8 + Bascom AVR = LOVE IT…



Sesuai dengan judul kita kali ini, meka akan memberikan beberapa artikel tentang interfaceing wireless joystick PS2 dengan mikrokonroler. Perkembangan dunia robotic di tanah air dalam decade ini meningkat pesat, terlebih banyak diselengarakanya iven-iven perlombaan robotic baik yang robot berkaki maupun beroda dengan sistem  otomatis dan manual. Untuk sistem yang manual diperlukan sebuah consule remote untuk mengendalikan pergerakan robot yang dibuat, so ini yang sering menjadi masalah bagi para pengila robot baik itu dari akademis ( mahasiswa) maupun bagi penghoby robotic. Pengunaan Wireless Joystik PS2 diharapkan dapat memberikan solusi bagi teman-teman kita semua, menginggat harga wireless joystick PS2 murah meriah Cuma RP.165.000,- saja. kalo masih kemahalan pake yang biasa saja harga Cuma Rp.80.000,- .
Sob mau beli Konsul joystip PS2 wireless dan biasa disini sob..
Oke kita langsung ke TKP. Ane angap soba udah punya joystick PS2 baik yang wireless maupun yang kabel. Biar ni artikel kagak membosenin ane kasi gambar aja deh.

Gimana sob udah ada gambaran kan artikel yang sob baca ini.
NEXT. Selajutnya kita masuk ke tahap berikutnya
Wireless joystick PS2 yang digunakan oleh ane buatan dari EXXEN dengan frekeunsi wireless 2.4 GHz teknologi. Untuk data pancar lumayan jauh sob…. Sekitar 18 meter masih oke… lihat gambar dibawah sob….

Sebelum masuk ke tahap interfacing, ane kanan jelaskan beberapa teori tentang PS2 Kontroler Protokol

1.  PIN KONFIGURASI dan comunication
Konfigurasi pin yang ane massud adalah wiring Conetor Joystik PS2, ini gambarnya sob
Wireless joystick PS2 mengunakan komunikasi SPI (Serial Pheripehal Interface) atau bias orang sebut sebagai 3 wire interface. 

2.   DATA PROTOKOL
Untuk berkomunikasi dengan kontroler pada joystick PS2 diperlukan beberapa proses pengiriman ID .
  •       Mikrokontroler mengirim data &H01 (start up)
  •       Setelah itu mikrokontroler mengirim data &H42 (read data)
  •       Kemudian disaat yang sama mikrokontroler akan menerima data tipe joystick yang digunakan.
                     &H41 = Konsul Digital
               &H73  = Konsul Analog
  •       Setelah itu mikrokontroler akan menerima data &H5
  •       Data byte pertama akan diterima kemudian byte kedua, setelah itu data analog 1 dan analog 2
3.       FRAME DATA
Pertarhatikan table dibawah …bro

Sepintas sob sudah baca tentang perangkat joystick PS2, langkah selanjutnya kita buat rangkaiannya sob. Untuk rangkaian interface antara mikrokontroler dan joystick PS2 baik itu yang wireless maupun yang kabel sama saja. Ada beberapa referensi yang mengunakan resistor sebagai pengaman, akan tetapi ane rasa itu tidak perlu karena tegangan kerja dari kedua perangkat ini berlevelkan sama yaitu 5volt. So ketika sobat mendapatkan referensi yang mengunakan resistor jangan binggung ya..

Kemudian dibawah ini listing programnya sob….
'###############################################################################
'# File Name : Joystik PS2.bas
'# Written By : Supriono
'# Blog       : mekatronika-corner.blogspot.com
'# Support:   -> Sony PSX handcontroller
'#            -> Hardware Spi functions in Bascom
'#            -> Internal Crystal 8Mhz
'# Pull-up   : 4.7Kohm Mosi
'#
'# PSX Pinout looking at the plug.
'#         _______________________
'# Pin 1->| o o o | o o o | o o o |
'#         \_____________________/
'#
'# Pin1 = Data (PSX PAD Data Line Output)
'# Pin2 = Command (PSX PAD Data Line Input)
'# Pin3 = N/C No Connection
'# Pin4 = GND Obvious
'# Pin5 = Vcc +5Vdc Obvious
'# Pin6 = ATT (Select)
'# Pin7 = Clock Line
'# Pin8 = N/C No Connection
'# Pin9 = ACK No Connection
'#
'###############################################################################

$regfile = "m8def.dat"
$crystal = 8000000

Deflcdchar 0 , 32 , 4 , 14 , 27 , 17 , 31 , 32 , 32       '  segitiga
Deflcdchar 1 , 32 , 31 , 17 , 17 , 17 , 17 , 31 , 32       ' kotak
Deflcdchar 2 , 32 , 4 , 14 , 21 , 4 , 4 , 4 , 32       ' up
Deflcdchar 3 , 32 , 4 , 4 , 4 , 21 , 14 , 4 , 32       ' down
Deflcdchar 4 , 32 , 4 , 2 , 31 , 2 , 4 , 32 , 32       ' kanan
Deflcdchar 5 , 32 , 4 , 8 , 31 , 8 , 4 , 32 , 32       ' kiri

Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5:Config Lcd = 16 * 2 : Cursor Noblink Off : Cls

Config Spi = Hard , Interrupt = Off , Data Order = Lsb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 128 : Spiinit:Config Pinb.1 = Output : Pad_att_line Alias Portb.1

Dim Cmdstart As Byte : Cmdstart = &H01
Dim Cmdstatus As Byte : Cmdstatus = &H42
Dim Joy_present As Byte , Joy_mode As Byte
Dim Joy_byte1 As Byte , Joy_byte2 As Byte
Dim Joy_kanan_x As Byte , Joy_kanan_y As Byte
Dim Joy_kiri_x As Byte , Joy_kiri_y As Byte

Key_select
Alias Joy_byte1.0
Key_joyr
Alias Joy_byte1.1
Key_joyl
Alias Joy_byte1.2
Key_start
Alias Joy_byte1.3
Key_up
Alias Joy_byte1.4
Key_right
Alias Joy_byte1.5
Key_down
Alias Joy_byte1.6
Key_left
Alias Joy_byte1.7

Key_l2 Alias Joy_byte2.0
Key_r2
Alias Joy_byte2.1
Key_l1
Alias Joy_byte2.2
Key_r1
Alias Joy_byte2.3
Key_triangle
Alias Joy_byte2.4
Key_circle
Alias Joy_byte2.5
Key_x
Alias Joy_byte2.6
Key_square
Alias Joy_byte2.7

Do
  
Waitms 100
  
Reset Pad_att_line : Waitus 10
  
Spiout Cmdstart , 1
   Joy_mode
= Spimove(cmdstatus)        '
  
Spiin Joy_present , 1
  
Spiin Joy_byte1 , 1
  
Spiin Joy_byte2 , 1
  
Spiin Joy_kanan_x , 1
  
Spiin Joy_kanan_y , 1
  
Spiin Joy_kiri_x , 1
  
Spiin Joy_kiri_y , 1
  
Set Pad_att_line : Waitus 10

  
Upperline : Lcd "X" ; Key_x ; " O" ; Key_circle ; " " ; Chr(0) ; Key_triangle ; " " ; Chr(1) ; Key_square
  
Lowerline : Lcd Chr(2) ; Key_up ; " " ; Chr(3) ; Key_down ; " " ; Chr(4) ; Key_right ; " " ; Chr(5) ; Key_left
Loop



Pengunaan joystick PS2 biasa (kabel) dapat langsung dihubungkan dengan mikrokontroler dan dapat digunakan joystiknya. Sedangkan untuk yang versi wireless terlebih dahulu kita harus mengkoneksikan perangkat penerima dengan pengirim dengan menekan tombol scan pada receiver modul tau menekan tombol FC pada joystik. Lebih mudah pake gambar aja ya sob…look at the picture below................(sok  inggris)…hahahahha

Untuk lebih lengkap prosedur koneksi seperti ini:
      1.       Tekan tombol Scan pada receiver modul
      2.       Untuk mengkoneksikan joystick dengan receiver modul dapat langsung menekan tombol FC
      3.       Sedangkan untuk memutuskan koneksi tekan tombol FC sekali lagi.
      4.       Lampu indicator pada receiver modul akan berkedip jika tidak terkoneksi dengan joystick
      5.       Penekan tombol scan juga berfunsi untuk mereset komunikasi, jika terjadi error penerimaan data.
      Sedangkan untuk penampakan hasil dari ekperimen kita kali ini sudah ane lihat kan pada gambar yang paling atas…tapi ngak apa deh tak kasi gambar lagi biar puas…puas..puas…. tukul punya cerita.

1 Response to " Wireless Joystik PS2 + ATMega 8 + Bascom AVR = LOVE IT… "

  1. mantap gan
    by : mekarobot

Welcome In Kode Blogger

Contoh Sliding Login Dengan JQuery

Disamping ini adalah contoh Sliding Login menggunakan JQuery. Login Form Disamping hanya Contoh dan tidak dapat digunakan layaknya Login Form FB, Karena Blog ini terbuka untuk umum tanpa perlu mendaftar menjadi Member

Tutorial Blog

Untuk membuatnya Silahkan : Klik Disini

Member Login

Lost your password?

Not a member yet? Sign Up!