Buat Modul Joystick Arduino: Panduan Langkah demi Langkah

Joystick Module
Apakah Anda saat ini menangani proyek terkait gerakan dan robotika? Maka, ada kemungkinan Anda pernah mendengar tentang modul joystick Arduino, tetapi tidak tahu cara membuatnya.
Atau mungkin Anda ingin mendapatkan informasi lebih lanjut tentang cara kerja modul joystick Arduino?
Maka, Anda berada di tempat yang tepat.
Tujuan dari Joystick Arduino adalah untuk mengkomunikasikan gerakan ke Arduino. Dan ia melakukannya dalam 2-D (2-aksis), menjadikannya cocok untuk aplikasi gerakan dan robotika.
Jadi, dalam artikel ini, Anda akan mempelajari segala sesuatu tentang modul joystick Arduino, cara kerjanya, dan cara membuat rangkaian joystick Arduino yang mudah.
Apakah Anda siap? Mari kita lompat masuk!
Apa itu Modul Joystick?
Hampir tidak ada proyek robotika yang tidak memerlukan joystick. Kadang-kadang sulit untuk mendapatkan pengontrol yang akan bekerja untuk proyek Anda, dan mungkin bahkan mahal. Namun, modul joystick menyediakan cara yang lebih terjangkau untuk mencapai hasil yang sama.
Selain itu, modul joystick bekerja sama dengan joystick yang ditemukan pada gamepad analog. Komponen utamanya adalah dua potensiometer yang miring dengan sudut 90 derajat. Selain itu, ada hubungan antara tongkat pendek (dengan pegas di tengah) dan potensiometer.
Potensiometer
Modul joystick dapat mengeluarkan sekitar 2,5V dari sumbu X dan Y saat istirahat. Sekarang, saat Anda memindahkan Joystick, output akan bervariasi dari 0V hingga 5V. Namun, ini tergantung pada arah.
Plus, jika Anda menggunakan mikrokontroler dengan modul joystick, nilai nyata di posisi istirahat akan sekitar 512. Jadi, saat Anda memindahkan Joystick ini, Anda dapat melihat nilai berubah dari 0 hingga 1023, tetapi ini tergantung pada posisinya.
Konfigurasi Pin
Ini adalah konfigurasi pin untuk modul joystick:
| Pin No. | Pin Name | Description |
| 1 | GND | Terminal ground modul |
| 2 | +5V | Terminal supply positif modul |
| 3 | VRx | Tegangan proporsional ke sumbu X |
| 4 | VRy | Tegangan proporsional ke sumbu Y |
| 5 | SW | Saklar modul |
Fitur
Ini adalah fitur utama modul joystick Arduino:
- Memiliki dua potensiometer independen untuk setiap sumbu (X dan Y)
- Tidak terlalu berat
- Anda dapat dengan mudah menghubungkan modul dengan sebagian besar mikrokontroler atau Arduino
- Secara otomatis kembali ke posisi tengah saat tidak digunakan
- Juga memiliki knob jenis cangkir
Spesifikasi Teknis
Spesifikasi modul joystick meliputi:
- Memiliki tegangan operasional 5V
- Nilai potensiometer internal adalah 10k
- Suhu operasinya sekitar 0 hingga 70 derajat Celsius
- Lead antarmuka pin adalah 2,54 mm
- Dimensi modul joystick adalah: 1,57 in x 1,02 in x 1,26 in (4,0 cm x 2,6 cm x 3,2 cm)
- Memiliki lima pin
- Dua potensiometer mengontrol arah horizontal dan vertikal modul.
Diagram Skematik
Gambar di bawah ini menunjukkan skematik lengkap modul joystick. Seperti yang telah kami sebutkan sebelumnya, modul ini memiliki dua potensiometer yang mengontrol sumbu X dan Y.
Schematics for Joystick Module
Plus, kedua potensiometer (10k) bergerak secara independen. Dengan kata lain, Anda dapat memindahkan mereka secara individu dan dalam arah masing-masing. Juga, ada koneksi internal saklar (SW) pin ke push button.
Interfacing Joystick with Arduino
Modul joystick kompatibel dengan banyak mikrokontroler seperti Raspberry Pi, Arduino, dan lainnya. Plus, mudah untuk dihubungkan, dan Anda terlebih dahulu harus menghubungkan pin sumbu VRx dan VRy ke pin ADC mikrokontroler.
Juga, jika Anda berencana menggunakan saklar, maka Anda harus menghubungkan tombol ke pin digital mikrokontroler.
Lihat diagram di bawah ini untuk memahami cara menghubungkan modul joystick ke mikrokontroler apa pun.
Joystick Module to Microcontroller
Sekarang, diagram berikut akan menunjukkan kepada Anda cara menghubungkan modul joystick dengan Arduino. Dengan diagram ini, Anda akan dapat menghubungkan modul ke Arduino. Juga, Anda akan mendapatkan output tergantung pada arah Anda memindahkan knob joystick.
Joystick Module to Arduino
Setelah Anda selesai menghubungkan, kita akan menemukan bahwa setiap arah memiliki rentang output tetap. Gambar berikut akan menunjukkan output untuk sumbu X dan Y tergantung pada gerakan modul joystick ke empat arah, +X, -X, +Y, dan –Y. Akan juga ada beberapa nilai analog saat Anda memindahkan knob secara diagonal.
Movement Directions
Jika Anda ingin tahu saat Anda menekan knob Joystick ke bawah, Anda juga dapat menghubungkan pin SW ke pin digital 8 Arduino.
Selain itu, Joystick membutuhkan daya untuk bekerja dengan benar. Jadi, hubungkan pin VCC ke terminal 5V Arduino dan GND ke terminal GND Arduino.
Kode Arduino
Cukup mudah untuk memprogram program ini di Arduino IDE. Jadi, untuk mendapatkan hasil terbaik, Anda akan mengukur gerakan Joystick dari satu pin input digital dan dua input analog. Lalu, Arduino akan menampilkan dampaknya di monitor Anda.
Ini adalah bagian terbaik
Anda tidak perlu perpustakaan untuk memprogram program ini. Ini hanya membaca input analog dan menampilkan nilai yang diperoleh darinya. Plus, ini juga menampilkan output dari penekanan tombol.
Ini adalah sketsa mentah dari kodenya:
- #define joyX A0
- #define joyY A1
-
- void setup() {
- Serial.begin(9600);
- }
-
- void loop() {
- // put your main code here, to run repeatedly:
- xValue = analogRead(joyX);
- yValue = analogRead(joyY);
-
- //print the values with to plot or view
- Serial.print(xValue);
- Serial.print(”\t”);
- Serial.println(yValue);

Image showing the Arduino code
Mapping
Kadang-kadang, ini bukan hanya tentang membaca nilai analog, dan mungkin ada kebutuhan untuk memetakan modul Anda ke layar atau antarmuka lainnya. Jadi, untuk membantu Anda dengan itu, kami akan menunjukkan kepada Anda cara memetakan nilai dari kode di atas ke matriks LED 8×8.
Arduino Mapping
Hasil dari proses ini adalah untuk memindahkan piksel di layar dengan Joystick. Juga, mudah untuk mengubah kode untuk memetakan ke layar OLED atau grafik.
- #include “LedControl.h”
- #define joyX A0
- #define joyY A1
-
- int xMap, yMap, xValue, yValue;
- LedControl lc=LedControl(12,11,10,1);
-
- void setup() {
- Serial.begin(115200);
-
- lc.shutdown(0,false);
- /* Set the brightness to a medium values */
- lc.setIntensity(0,8);
- /* and clear the display */
- lc.clearDisplay(0);
- }
-
- void loop() {
- // put your main code here, to run repeatedly:
- xValue = analogRead(joyX);
- yValue = analogRead(joyY);
- xMap = map(xValue, 0,1023, 0, 7);
- yMap = map(yValue,0,1023,7,0);
- lc.setLed(0,xMap,yMap,true);
- lc.clearDisplay(0);
-
- }
Image of code required to map the Arduino to an OLED or graphic display
Note: the above code shows that you can use the map() function to map the ranges to fit your preferences.
Jadi, jika Anda melakukannya dengan benar, output di serial monitor Anda seharusnya terlihat seperti ini:
Aplikasi
Ini adalah beberapa aplikasi dari modul joystick Arduino:
- Anda dapat menggunakan modul joystick dalam robotika
Robot Drone
- Anda juga dapat mengontrol gerakan kamera yang dapat digerakkan
Movable Camera
- Berbagai macam aplikasi gerakan
Rounding Up
Ketika Anda mendengar kata Joystick, hal pertama yang mungkin terpikirkan adalah pengontrol game. Namun, ada begitu banyak aplikasi menarik dari modul joystick ketika berkaitan dengan elektronik DIY.
Game Controllers
Plus, modul-modul ini terutama bekerja untuk proyek DIY yang berdasarkan Arduino dan kontrol robot. Seperti yang telah kita bahas sebelumnya, modul joystick pertama kali merilis output analog untuk memberi input analog tergantung pada gerakan horizontal atau vertikal tongkat.
Nah, itu melengkapi artikel ini. Jika Anda memiliki pertanyaan atau saran, jangan ragu untuk menghubungi kami. Kami selalu senang membantu.