Arduino Joystick Tutorial Dasar Kode Program

Posted on

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.

Arduino Joystick Tutorial Dasar Kode Program

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:

Arduino Joystick Tutorial Dasar Kode Program

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.