Selamat datang kembali di blog Manusia Gabut, jadi beberapa waktu lalu sempet viral orang - orang yang ngebikin alat buat nge-hack
atau buat menyelesaikan game dinosaurus yang ada di google chrome. Buat
kalian yang belum tau, jadi game ini bakalan muncul secara otomatis
pada saat kita buka google chrome tapi komputer kita sedang offline
alias tidak terkoneksi ke jaringan internet.
Buat
kalian yang pengen tau atau pengen buat alat tersebut berbahagialah
karena aku bakal sharing cara buatnya. Sebenernya cukup sederhana kok,
tapi komponen yang digunakan kayanya sedikit asing buat orang awam
HEHEHE. OKe gausah panjang lebar, langsung aja yah ke alat - alat yang
bakal kita perlukan dulu
- Microcontroller Arduino + kabel datanya, saya menggunakan Arduino Uno
- Motor servo, saya menggunakan servo tower pro seperti gambar di bawah
- LDR (Light Dependent Resistor), seperti gambar di bawah
- Resistor 1 Kohm
- Kabel jumper
- Breadboard (cukup yang kecil aja) seperti gambar di bawah
Oke
sebelum kita ke cara pembuatannya, kita mesti paham dulu gimana cara
kerjanya ya. Nah jadi pada dasarnya semua sistem itu kan ada bagian
input, pemrosesan, dan bagian outputnya. Begitu pula pada alat ini, jadi
bagian input (sensor) menggunakan LDR, LDR ini seperti namanya akan
menghasilkan nilai resistansi yang berubah - ubah sesuai dengan
intensitas cahaya yang mengenainya. Jadi LDR nantinya akan kita
tempelkan pada layar komputer untuk membaca apakah ada obstacle (pohon
kaktus atau burung) yang mendekati dinosaurus kita atau tidak. Hal ini
dapat dilakukan karena warna latar belakang gamenya berbeda dengan warna
obstacle.
Untuk
pemasangannya sendiri tidak perlu memerhatikan polaritas (+ dan - sama
saja). Nah sebagai bagian pemrosesan, Arduino hanya membaca tegangan
sehingga kita perlu mengonversi nilai resistansi dari LDR tersebut
menjadi tegangan dengan cara membuat rangkaian pembagi tegangan dengan
resistor yang telah kita siapkan. Di bawah akan diperlihatkan gambar
detailnya.
Kemudian
Arduino akan membaca nilai antara 0 - 255 (nilai tegangan yang sudah
diskalakan). Nah berdasarkan nilai tersebut kita bandingkan nilainya
pada saat tidak ada obstacle dan pada saat ada obstacle yang terdeteksi.
Apabila terdeteksi maka Arduino memberikan perintah kepada motor servo
untuk bergerak sebesar X derajat, kita akan tempatkan pada keyboard
sehingga motor servo menekan keyboard dan dinosaurus kita bisa melompati
obstaclenya.
Gimana? Terdengar mudah dong pastinya? Nah sekarang kita langsung aja ke cara bikinnya ya
- Buat
rangkaian pembagi tegangan antara resistor dan LDR. Salah satu ujung
resistor kita hubungkan ke pin gnd (-), kemudian ujung lainnya
dihubungkan dengan ujung LDR.
Kemudian ujung LDR yang lainnya dihubungkan ke pin 5V. Pada titik pertemuan resistor dan LDR kita hubungkan ke salah satu pin analog Arduino, dalam hal ini saya menggunakan pin A0. - Hubungkan kabel positif (merah) dari servo
ke pin 5V, kabel negatif (cokelat) ke pin GND (-), serta kabel PWM
(kuning) ke pin 9 Arduino.
Sebenarnya kalian dapat memilih pin PWM lainnya asalkan diubah juga pada codingannya nanti.
Buat yang belum tau, PWM (Pulse Width Modulation) intinya adalah melakukan switching pada tegangan DC dengan duty cycle tertentu sehingga level tegangannya dapat diubah - ubah. Dalam hal ini digunakan untuk mengatur sudut gerakan servo yang diinginkan.
Nah
kalo udah, kita ke bagian coding nya sekarang. Kalo kalian baru pertama
kali menggunakan arduino, silahkan download dulu Arduino IDE di website
arduino.cc. Jangan lupa download juga library myservo.
Inti
dari programnya adalah seperti cara kerja yang sudah dijelaskan di
atas. Perlu diperhatikan bahwa pada codingan yang saya buat ini untuk
background berwarna hitam, untuk kalian yang backgroundnya berwarna
putih silahkan ubah di bagian "if(obs > 90)" menjadi "if(obs <
90)". Sebagai catatan, silahkan sesuaikan posisi LDR nya di monitor
kalian saran saya sih sekitar 2 cm di depan dinosaurusnya. Dan untuk
percobaan pertama silakan cek dulu angka yang terbaca di Serial Monitor,
bandingkan saat ada obstacle dan tidak ada jika bukan 90, maka silahkan
diganti angka 90 yang ada di codingan saya. Untuk posisi motor servo
saya meletakannya di tombol spasi di keyboard, sudut gerakannya kalian
juga bisa atur di codingan yang saya buat.
Untuk download codingannya bisa dilakukan disini: CODE LINK
Jika kalian bingung cara downloadnya bisa cek di: HOW TO DOWNLOAD?
Kurang lebih hasil akhirnya akan seperti gambar di bawah ini
Selamat mecoba, semoga bermanfaat :)
*Disclaimer:
cara ini ngga akan berhasil kalo obstaclenya udah di score yang cukup
tinggi, kalo ga salah ada burung yg terbangnya rendah gitu trus ga
kebaca sama LDRnya HEHEHE
Tidak ada komentar:
Posting Komentar