Penjelasan Singkat
Modul joystick adalah komponen yang berbentuk seperti tuas atau tongkat yang dapat digerakan ke berbagai arah untuk mendapatkan posisi yang diinginkan.
Pada umumnya modul ini memiliki 2 axis yaitu axis X dan axis Y dan 1 push button. Pengaplikasian modul ini banyak dijumpai pada joystick game PlayStasiun, X-Box, pengendali servo motor, kursi motor, dan lain – lain.
Modul ini yang banyak dipakai yaitu tipe bi-axial. Tipe joystick ini merupakan tipe yang sama dengan yang digunakan pada gagang kendali analog pada konsol Sony Playstation, X-box.
Berikut adalah gambar dari modul joystick bi-axial :
Modul Joystick Bi-axial
Spesifikasi dari modul bi-axial
- Terdapat dual-axis X,Y
- Dimensi : 4cm x 2.6cm x 3.2cm
- Terdapat 2 potentiometers untuk 2 axis
- Terdapat 1 switch (push button)
- pin pin kaki: +5Vcc – GND – VRx – VRy – SW
Tutorial Pertama mengakses modul joystick
Mengakses modul untuk pengecekan axis x,y, dan pushbutton dengan komunikasi port serial, dan tidak memerlukan library tambahan dari pihak ketiga.
Bahan yang diperlukan untuk tutorial ini antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Modul Joystick Bi-axial
- Kabel Jumper
Skema yang perlu dirangkaikan
Untuk contoh pemrograman
/* www.nyebarilmu.com */ int button_Pin = 2; int x_Pin = A1; //Nama alias pin A1 yaitu xPin int y_Pin = A0; //Nama aliasa pin A0 yaitu yPin //nilai default int x_Position = 0; int y_Position = 0; int buttonState = 0; void setup() { //inisialisasi komunikasi serial pada 9600bps Serial.begin(9600); //deklarasi xPin dan yPin sebagai input pinMode(x_Pin, INPUT);pinMode(y_Pin, INPUT); //deklarasi buttonPin sebagai input dengan kondisi pull-up pinMode(button_Pin, INPUT_PULLUP); } void loop() { //Pembacaan kondisi x_Position = analogRead(x_Pin);y_Position = analogRead(y_Pin); buttonState = digitalRead(button_Pin); //menampilkan hasil pada serial monitor Serial.print("X: ");Serial.print(x_Position); Serial.print(" | Y: ");Serial.print(y_Position); Serial.print(" | Button: ");Serial.println(buttonState); delay(100); //waktu tunda sebesar 100ms }
Keterangan :
Pada contoh diatas dapat mengakses 3 fungsi sekaligus dari joystick sebagai pengecekan awal kondisi dari modul sudah dikatakan dalam kondisi bagus atau tidak.
[irp]
Tutorial Kedua
Mengakses modul joystick untuk mengendalikan 2 servo (axis x dan axis y) yang dapat dimanfaatkan dalam berbagai aplikasi.
Bahan yang diperlukan untuk tutorial ini antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Modul Joystick Bi-axial
- 2 servo mini
- Kabel Jumper
Rangkaian yang perlu dirangkaikan
Koding pemrograman
#include <Servo.h> const int servo1 = 3; //servo 1 const int servo2 = 5; //servo 2 const int joyH = A0; const int joyV = A1; int servoVal; Servo myservo1; Servo myservo2; void setup() { myservo1.attach(servo1); myservo2.attach(servo2); Serial.begin(9600); } void loop(){ outputJoystick(); servoVal = analogRead(joyH); servoVal = map(servoVal, 00, 1023, 00, 180); myservo2.write(servoVal); servoVal = analogRead(joyV); servoVal = map(servoVal, 00, 1023, 70, 180); myservo1.write(servoVal); delay(15); } void outputJoystick(){ Serial.print(analogRead(joyH)); Serial.print ("***"); Serial.print(analogRead(joyV)); Serial.println ("************"); }
Hasil untuk kedua program diatas, akan segera menyusul.
Selamat mencoba!
Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!
>> CMIIW <<