Joystick Arduino
Arduino Joystick Tutorial Dasar Kode Program – Joystick adalah salah satu komponen elektronik yang memiliki tuas dapat digerakkan beberapa arah. Tuas digunakan untuk mengontrol posisi pada arah tertentu atau koordinat.
Joystick memiliki dua sumbu, yaitu sumbu X dan Y. Beberapa jenis joystick juga memiliki sebuah tombol.
Cara Kerja Joystick
Joystick akan mengeluarkan tegangan pada pin VRX (untuk sumbu X) dan VRY (untuk sumbu Y). Tegangan ini akan berayun dari 0 hingga 5V ketika tuas digerakkan. Untuk mendapatkan nilai yang presisi, tegangan akan di konversi menggunakan Analog Digital Converter (ADC) yang ada pada Arduino.
Rangkaian
Karena joystick memiliki dua sumbu, maka pada tutorial , ADC yang digunakan pada Arduino adalah A0 dan A1. Selain itu, karena joystick ini memiliki tombol ditengahnya yang dapat kita gunakan, maka akan kita hubungkan ke pin I/O 2. Untuk rangkaiannya perhatikan gambar berikut ini.
Kode program
Untuk dapat membaca nilai ADC yang dihasilkan dari tegangan yang dikeluarkan Joystick, teman-teman silahkan gunakan program berikut:
int adc_x = 0; //nilai awal pembacaan ADC A0
int adc_y = 0; //nilai awal pembacaan ADC A1
int tombol = 0; //nilai awal pembacaan pin tombol
void setup()
{
Serial.begin(9600);
pinMode(2, INPUT); //pin 2 sebagai input tombol
}
void loop()
{
adc_x = analogRead(A0); //baca ADC A0
adc_y = analogRead(A1); //baca ADC A1
tombol = digitalRead(2);//baca pin tombol
Serial.print(adc_x); //tampilkan nilai ADC A0
Serial.print(", ");
Serial.print(adc_y); //tampilkan nilai ADC A1
Serial.print(", ");
Serial.print(!tombol);//tampilkan nilai tombol
Serial.println(", ");
}
Hasil
Pada percobaan , joystick arduino tidak digerakkan. Artinya kita hanya melihat hasil dari program diatas melalui serial monitor. Silahkan teman-teman membuka serial monitor dan akan mendapatkan nilai seperti yang ditampilkan pada gambar berikut:
Penjelasan
Nilai akan berubah ketika tuas digerakkan. Ada 3 nilai yang didapatkan yaitu 525, 515, dan 0, dimana :
- Nilai awal 525 merupakan nilai dari ADC A0.
- Nilai 515 dari ADC A1
- 0 adalah kondisi dari tombol
Nilai 525 dan 515 merupakan nilai tengah dari ADC.
Karena joystick tidak digerakkan, maka posisi potensiometer berada ditengah. Nilai ADC pada tegangan 0V adalah 0, sedangkan nilai ADC pada tegangan 5V adalah 1023.
Karena posisi potensiometer berada ditengah maka hasilnya juga setengah dari nilai ADC total, 1023/2 adalah 511,5. Perlu diketahui bahwa setiap komponen itu punya toleransi, artinya nilai yang didapatkan bisa berubah 5% lebih tinggi atau lebih rendah.
Maka dari itu, nilai ADC yang didapatkan dari joystick pada percobaan kali adalah 525 dan 515. Pembacaan tombol menunjukkan nilai 0, artinya tombol belum ditekan.
Jika tombol di tekan akan menghasilkan nilai 1. Coba teman-teman gerakkan knop atau tombol joystick ke sembarang arah, maka nilai ADC akan berayun dari 0-1023.
Pada percobaan diatas, didapatkan nilai ADC berayun tidak stabil, cenderung berubah-ubah, meskipun perubahan hanya terjadi pada digit terakhir seperti contoh 525 berubah menjadi 522, 524, 525, 524 dan seterusnya.
Kondisi tidak baik jika kita gunakan untuk mengontrol peralatan. Jadi dibutuhkan satu teknik untuk membuat joystick arduino lebih stabil yang disebut dengan smooting.
Silahkan teman-teman mengunjungi artikel saya Tutorial ADC Stabil Pada Arduino di website .
Semoga artikel Arduino Joystick Tutorial Dasar Kode Program ini bermanfaat.