Perangkat yang dirancang dapat bekerja dalam dua mode yaitu mode alas dan mode air mouse dimana mouse dapat bekerja tanpa menggunakan alas. Perubahan
kursor dideteksi menggunakan sensor akselerometer dan giroskop. Perhitungan pembacaan sensor menjadi perubahan koordinat akan dijelaskan sub bab berikutnya.
3.3.1.1. Perhitungan Perubahan Koordinat Kursor Pada Permukaan Alas
Akselerometer digunakan untuk mengukur besar percepatan yang dialami mouse. Informasi percepatan yang terukur kemudian diolah untuk mendapatkan data
perubahan posisi dan diterjemahkan kedalam perpindahan kursor mouse pada PC Gambar 3.14.
Data yang berasal dari sensor akselerometer masih berupa data mentah yang harus diolah terlebih dahulu untuk mendapatkan nilai percepatan yang sesungguhnya.
Untuk menentukan nilai percepatan a dari data yang terbaca diperoleh dengan persamaan [6]:
g as
Sensitivit sensor
Data a
1
3.4 Dengan,
a = Percepatan terukur ms
2
1g = Nilai percepatan rata-rata gravitasi bumi 9.81ms
2
Idealnya ketika posisi diam pada bidang datar tegak lurus arah gravitasi bumi, akselerometer harus menunjukkan nilai 0 pada sumbu x dan y. Pada kenyataannya yang
terukur tidak menunjukkan nilai 0 akibat getaran mekanik. Untuk mengatasi hal tersebut dilakukan discrimination window untuk mengurangi efek gangguan mekanik.
Berikut adalah gambar ilustrasi discrimination window pada pembacaan akselerometer.
Mulai Pengukuran percepatan
Berdasarkan sensor akselerometer
Eliminasi pengaruh gravitasi Pada pengukuran akselerometer
Menerapkan discrimination window
Menghitung perubahan posisi
Menerapkan algoritma Zero Velocity Compensation
ZVC Konversi perubahan posisi
menjadi perubahan kursor Selesai
Gambar 3.14 Diagram alir perhitungan perubahan kursor bidang datar
Gambar 3.15 Ilustrasi discrimination window
Untuk mengeliminasi pengaruh gravitasi bumi terhadap hasil pengukuran sensor akselerometer dilakukan dengan mengurangkan percepatan yang terukur dengan
percepatan gravitasi yang mempengaruhi.
cos
g a
a
terukur translasi
3.5 Dimana
translasi
a adalah percepatan akibat gerak translasi,
terukur
a merupakan
percepatan total, dan merupakan sudut yang dibentuk antara bidang datar dan sumbu
ukur sumbu x dan y. Untuk mendapatkan perubahan posisi kursor akibat dari pergerakan mouse
ditentukan dengan langkah-langkah berikut: a. Melakukan perhitungan posisi berdasarkan hasil pengukuran percepatan.
Untuk mendapatkan posisi didapatkan dengan melakukan integral ganda percepatan terhadap waktu, dengan persamaan:
dt
dt a
s
3.7 Dengan,
m posisi
n perpindaha
s
a
percepatan ms
2
2
s m
n pencuplika
waktu dt
Proses integral dilakukan dalam 2 tahap, integral yang pertama untuk memperoleh nilai kecepatan , kemudian integral kedua untuk memperoleh perubahan posisi
s
. Perhitungan integral menggunakan metode penghitungan luasan trapezoidal seperti
ditunjukkan pada Gambar 3.16 dengan persamaan :
2
1 1
n n
n i
f f
t t
luasan
3.8 Sehingga jika diterapkan dalam algoritma pemrograman dapat dilihat pada pseudo
code berikut. velo1
= velo0+time2acc1+acc0; pos1
= pos0+time2velo1+velo0; Dengan,
acc0 = percepatan sebelumnya acc1 = percepatan saat ini
velo0 = kecepatan sebelumnya velo1 = kecepatan saat ini
pos0 = posisi sebelumnya pos1 = posisi saat ini
Gambar 3.16 Metode penghitungan secara trapezoidal
Kelemahan dari sensor akselerometer pada saat percepatan bernilai nol tidak mampu membedakan apakah akselerometer pada kondisi diam atau sedang bergerak
konstan. Kelemahan lainya, akselerometer membaca semua percepatan yang dialaminya, baik percepatan gravitasi, percepatan ketika bergerak translasi, dan
bahkan derau. Akibatnya, pengukuran percepatan dinamis menjadi tidak akurat. Hal ini berimbas pada perhitungan kecepatan yang tidak dapat kembali ke posisi nol
ketika benda berhenti. Untuk mengatasinya digunakan algoritma zero velocity compensation [17]
.
b. Konversi perubahan posisi menjadi perubahan koordinat kursor mouse. Perubahan posisi mouse merupakan selisih jarak perpindahan tempat antara posisi
awal mouse dengan posisi mouse ketika berhenti bergerak, yang didefinisikan melalui persamaan:
Awal Posisi
Akhir Posisi
Posisi
3.9
Untuk mendapatkan perubahan koordinat kursor didapatkan dengan cara mengalikan perubahan posisi dengan suatu faktor pengali K.
K Posisi
Koordinat
3.10
Proses perhitungan koordinat kursor berlaku untuk kedua sumbu koordiat, baik sumbu X maupun Y.
3.3.1.2. Perhitungan Perubahan Koordinat Kursor Tanpa Alas