Pada
penjelasan kali ini akan dibahas mengenai bagaimana cara mengakses mouse
komputer dengan mikrokontroller, alat ini menggunakan mikrokontroller ATMega16
yang difungsikan untuk mengolah data dan clock yang ada pada mouse, namun yang
harus diperhatikan yaitu pada device mouse yang digunakan, mouse yang dipakai
yaitu mouse yang menggunakan port PS/2 sebagai konektornya, Gambar 6.48a adalah
contoh alat dengan komunikasi mouse komputer.
Alat ini
hanya membaca koordinat pergerakan
mouse X dan Y atau bahasa lainnya maju-mundur dan kanan-kiri, tidak
hanya itu
pada mouse juga terdapat fitur klik kanan, klik kiri dan klik tengah,
itu pun
juga akan ditampilkan pada layar LCD 16x2 mikrokontroller, jadi jika
tombol
klik kanan ditekan maka akan menampilkan tulisan “klik kanan” begitu
pulan
dengan tombol kiri dan tengah.
Mouse
/ 3D Optical Mouse
Mouse pada alat ini adalah device yang sangat
menentukan, mouse yang digunakan adalah mouse jadul (jaman dulu) buatan lama
jadi kalau mouse yang buatan baru dimungkinkan tidak bisa berjalan dan yang
perlu diperhatikan yaitu mouse ini berlabel “3D Optical Mouse” ini dikarenakan
pada saat mencoba mouse yang berlabel “Optical Mouse” tidak bisa berjalan
seperti yang terjadi pada mouse yang berlabel “3D Optical Mouse”, berikut
adalah informasi dan bentuk mouse yang digunakan seperti Gambar berikut
Untuk
menghubungkan device mouse / 3D Optical Mouse dengan mikrokontroller
menggunakan 4 buah kabel yaitu Vcc, Gnd, Data dan Clock, memang hanya 4 buah
jalur saja dan 2 diantaranya adalah jalur powet Vcc dan Gnd. Untuk jalur clock
di hubungkan ke PortD.6 dan untuk data dihubungkan ke PortD.7, berikut
penjelasan lengkapnya seperti Gambar 6.48c berikut
Program
Bascom AVR
$regfile
= "m16def.dat"
$crystal
= 12000000
Config
Portd.6 = Input
Config
Portd.7 = Input
Ddrd.6
= 0
Ddrd.7
= 0
Clock_m
Alias Pind.6
Data_m
Alias Pind.7
Dim
Frek As Byte
Dim
Datamouse As Byte
Config
Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config
Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config
Lcd = 16 * 2
Dim S
As String * 12
Dim
Datahost As Byte
Dim
Pariti As Bit
Dim
Hasil As Byte
Dim
Hasil1 As Byte
Dim
Hasil2 As Byte
Dim Hasil3
As Byte
Dim
Hasil4 As Byte
Dim
Hasil5 As Byte
Dim
Ulang As Byte
Dim
Sumbux As Integer
Dim
Sumbuy As Integer
Dim
Perubah As Integer
Cls
Cursor
Off
Locate
1 , 1
Lcd
"uji mouse"
Wait 1
Cls
Cursor
Off
Frek = 0
Do
Waitus 5
Frek = Frek + 1
If Clock_m = 0 Then
Frek = 0
End If
Loop Until Frek > 250
Gosub Baca8bit
Hasil1 = Hasil
Gosub Baca8bit
Hasil2 = Hasil
Waitms 500
Datahost = &HFF
Gosub Kirimdrhost
Gosub Baca8bit
Hasil1 = Hasil
Gosub Baca8bit
Hasil2 = Hasil
Gosub Baca8bit
Hasil3 = Hasil
Waitms 500
Datahost = &HEA
Gosub Kirimdrhost
Gosub Baca8bit
Hasil1 = Hasil
Waitms 500
Datahost = &HF4
Gosub Kirimdrhost
Gosub Baca8bit
Hasil1 = Hasil
Sumbux = 0
Sumbuy = 0
Waitms 500
Do
Frek = 0
Do
Waitus 5
Frek = Frek + 1
If Clock_m = 0 Then
Frek = 0
End If
Loop Until Frek > 250
Gosub Baca8bit
Hasil1 = Hasil
Gosub Baca8bit
Hasil2 = Hasil
Gosub Baca8bit
Hasil3 = Hasil
Gosub Baca8bit
Hasil4 = Hasil
Gosub Baca8bit
Hasil5 = Hasil
If Hasil1.4 = 1 Then
Perubah = 255 - Hasil2
Perubah = Perubah * -1
Else
Perubah = Hasil2
End If
Sumbux = Sumbux + Perubah
If Sumbux < 0 Then
Sumbux = 0
‘koordinal minimal X, bisa dirubah
End If
If Sumbux > 1000 Then
Sumbux = 1000
‘koordinat maksimal X, bisa dirubah
End If
If Hasil1.5 = 1 Then
Perubah = 255 - Hasil3
Perubah = Perubah * -1
Else
Perubah = Hasil3
End If
Sumbuy = Sumbuy + Perubah
If Sumbuy < 0 Then
Sumbuy = 0
‘koordinat Y minimal, bisa dirubah
End If
If Sumbuy > 1000 Then
Sumbuy = 1000
‘koordinat Y maksimal, bisa dirubah
End If
Locate 1 , 1
If Hasil1.0 = 1 Then
Lcd "Klik Kiri "
Elseif Hasil1.1 = 1 Then
Lcd "Klik Kanan "
Elseif Hasil1.2 = 1 Then
Lcd "Klik Tengah "
Else
Lcd " "
End If
Locate 2 , 1
Lcd "X=" ; Sumbux ; " "
Locate 2 , 8
Lcd "Y=" ; Sumbuy ; " "
Loop
Baca8bit:
Bitwait Clock_m , Reset
Bitwait Clock_m , Set
For Ulang = 0 To 7
Bitwait Clock_m , Reset
Hasil.ulang = Data_m
Bitwait Clock_m , Set
Next
Bitwait Clock_m , Reset
Bitwait Clock_m , Set
Bitwait Clock_m , Reset
Bitwait Clock_m , Set
Return
Kirimdrhost:
Pariti = 1
For Ulang = 0 To 7
If Datahost.ulang = 1 Then
Pariti = Not Pariti
End If
Next
Ddrd.6 = 1
Portd.6 = 0
Waitus 80
Portd.6 = 1
Ddrd.6 = 0
Ddrd.7 = 1
Portd.7 = 0
Bitwait Clock_m , Reset
Bitwait Clock_m , Set
For Ulang = 0 To 7
Portd.7 = Datahost.ulang
Bitwait Clock_m , Reset
Bitwait Clock_m , Set
Next
Portd.7 = Pariti
Bitwait Clock_m , Reset
Bitwait Clock_m , Set
Portd.7 = 1
Bitwait Clock_m , Reset
Bitwait Clock_m , Set
Ddrd.7 = 0
Return
End
Cara Penggunaan Alat
Cara penggunaan alat ini
langkah awal yaitu memberikan teganagn 12 volt atau 9 volt dc untuk power
minimum sistem kemudian akan LCD akan menyala, setelah itu gerakkan mouse ke
kanan-kiri dan atas-bawah maka akan tertulis koordinat dari posisi mouse
tersebut dan juga tekan tombol yang ada pada mouse seperti klik kanan, kiri dan
tengah maka terdapat tulisan terkait dengan tombol yang ditekan.
No comments:
Post a Comment