Translate

Membuat Alat Kendali Led dengan Joystick PS 2


Membuat Alat Kendali Led dengan Joystick PS 2
         Pada bab ini akan dibahas mengenai bagaimana cara membuat alat untuk mengendalikan led on/off menggunakan Joystick PS2, alat yang akan dibuat ini menggunakan mikrokontroller ATMega8 yang mana difungsikan sebagai otak dan pemberi perintah ke output, sehingga output yang berupa led pada alat ini akan berjalan sebagaimana mestinya.
        Jadi terdapat sebuah Joystick PS2 yang terhubung ke mikrokontroller, saat ditekan tombol X atau silang pada Joystik maka akan menampilkan kata-kata pada LCD berupa “Silang” dan led akan menyala, namun jika tombol pada Joystick tidak ditekan maka akan bertuliskan “Diam” dan led akan mati begitu juga dengan tombol segitiga , tombol bulat dan kotak, akan menampilkan karakter pada LCD dan led akan menyala selama tombol masih ditekan.
         Koneksi Joystick PS2 ke mikrokontroller menggunakan Port SPI yaitu dihubungkan ke port MOSI, MISO, dan SCK, sehingga sinyal masukan yang diberikan oleh Joystick dapat diterjemahkan dengan baik oleh mikrokontroller ATMega8.

Joystick PS2
                  Joystick PS2 yang digunakan untuk pembuatan alat ini bisa berjenis dengan kabel artinya joystick yang menggunakan kabel sebagai penghubungnya seperti Gambar 6.27b atau Joystick yang menggunakan wireless / tanpa kabel sebagai media penghubungnya seperti pada Gambar 6.27c. dan perlu diperhatikan bahwa Joystick yang digunakan menggunakan port seperti Gambar 6.27d dan tidak menggunakan port USB, jika membeli Joystick dengan port USB maka harus menggunakan converter dari USB ke port PS2 sehingga port yang akan dihubungkan ke mikrokontroller jelas terlihat.



            Nah, jadi Joystick memiliki 9 buah Port yang bisa digunakan untuk koneksi ke mikrokontroller, namun tidak semua port digunakan, dari 9 port yang ada, yang dipakai untuk koneksi SPI ke mikrokontroller hanya 6 buah, yaitu Command ke MOSI, Data ke MISO, Clock ke SCK, Attention ke PortB.0 dan VCC, GND, untuk lebih jelasnya seperti pada gambar 6.27e berikut
 
 Rangkaian Minimum Sistem

 
Program Bascom AVR
$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 , Rs = Portc.4 , E = Portc.5 , Db4 = Portc.0
Config Lcdpin = Pin , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3
Config Lcd = 16 * 2

Config Spi = Hard , Interrupt = Off , Data Order = Lsb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 128
Spiinit

Config Pinb.0 = Output
Pad_att_line Alias Portb.0

Config Pind.4 = Output
Led Alias Portd.4


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

Cls
Cursor Off
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


   If Key_x = 0 Then
    Cls
   Upperline
   Lcd "Silang"
   Led = 1

   Elseif Key_circle = 0 Then
    Cls
   Upperline
   Lcd "Bulet"
   Led = 1

   Elseif Key_triangle = 0 Then
    Cls
   Upperline
   Lcd "Segitiga"
   Led = 1

   Elseif Key_square = 0 Then
    Cls
   Upperline
   Lcd "kotak"
   Led = 1

   Elseif Key_up = 0 Then
    Cls
    Upperline
   Lcd "Atas"

   Elseif Key_down = 0 Then
    Cls
  Upperline
   Lcd "Bawah"

   Elseif Key_right = 0 Then
    Cls
   Upperline
   Lcd "kanan"

   Elseif Key_left = 0 Then
   Cls
   Upperline
   Lcd "kiri"

   Else
   Cls
   Upperline
   Lcd "Diam"
   Led = 0

   End If

Loop

  
Cara Penggunaan Alat
                  Untuk cara penggunaan alat ini yaitu hubungkan alat dengan sumber tegangan dan arus misalnya power supply 12v, setelah itu akan tampak LCD display menyala yang menandakan alat siap digunakan. Cobalah untuk menekan tombol X, tombol  kotak, tombol segitiga, tombol O, arrow up, arrow down, arrow left, dan arrow right jika alatnya berhasil maka akan tampil seperti table berikut

Tombol Yang Ditekan
Tampilan LCD
Kondisi Led
Tombol X
Silang
Menyala
Tombol segitiga
Segitiga
Menyala
Tombol kotak
Kotak
Menyala
Tombol O
Bulet
Menyala
Tombol Arrow Up
Atas
Mati
Tombol Arrow Down
Bawah
Mati
Tombol Arrow Left
Kiri
Mati
Tombol Arrow Right
Kanan
Mati
Tombol Tidak Ditekan
Diam
Mati

 












No comments:

Post a Comment