Modul Joystick Arduino:Cara Membuatnya Secara Efektif

Modul Joystick
Apakah Anda saat ini menangani proyek yang berkaitan dengan gerak dan robotika? Kemudian, ada kemungkinan Anda pernah mendengar tentang modul Arduino Joystick, tetapi Anda 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-sumbu), sehingga cocok untuk aplikasi gerak 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 kamu siap? Ayo masuk!
Apa itu Modul Joystick?
Hampir tidak ada proyek robot yang tidak memerlukan joystick. Terkadang sulit untuk mendapatkan pengontrol yang sesuai untuk proyek Anda, dan bahkan mungkin mahal. Namun, modul joystick menyediakan cara yang lebih terjangkau untuk mencapai hasil yang sama.
Selain itu, modul joystick bekerja mirip dengan joystick yang ditemukan di gamepad analog. Komponen utamanya adalah dua potensiometer yang dimiringkan pada sudut 90 derajat. Selain itu, ada hubungan antara tongkat pendek (dengan pegas di tengahnya) dan potensiometer.
Potensiometer
Modul joystick dapat menghasilkan sekitar 2.5V dari sumbu X dan Y saat sedang beristirahat. Sekarang, ketika Anda menggerakkan Joystick, outputnya akan bervariasi dari 0V hingga 5V. Namun, ini tergantung pada arahnya.
Plus, jika Anda menggunakan mikrokontroler dengan modul joystick, nilai sebenarnya dalam posisi istirahat akan menjadi sekitar 512. Jadi, ketika Anda memindahkan Joystick ini, Anda dapat melihat nilainya berubah dari 0 menjadi 1023, tetapi ini tergantung pada posisinya.
Konfigurasi Pin
Berikut adalah konfigurasi pin untuk modul joystick:
Nomor Pin | Nama Pin | Deskripsi |
1 | GND | Terminal ground modul |
2 | +5V | Terminal suplai positif modul |
3 | VRx | Tegangan sebanding dengan sumbu X |
4 | VRy | Tegangan sebanding dengan sumbu Y |
5 | SW | Saklar modul |
Fmakanan
Berikut adalah fitur utama modul joystick Arduino:
- Ini 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
- Ini juga memiliki kenop tipe cangkir
Spesifikasi Teknis
Spesifikasi modul joystick meliputi:
- Ini memiliki tegangan operasi 5V
- Nilai potensiometer internal adalah 10k
- Suhu pengoperasiannya sekitar 0 hingga 70 derajat Celcius
- Sambungan antarmuka pin berukuran 2,54mm
- Dimensi modul joystick adalah:1,57 inci x 1,02 inci x 1,26 inci (4,0 cm x 2,6 cm x 3,2 cm)
- Ini memiliki lima pin
- Dua potensiometer mengontrol arah horizontal dan arah vertikal modul.
Diagram Skema
Gambar di bawah ini menunjukkan skema lengkap modul joystick. Seperti yang kami sebutkan sebelumnya, modul ini memiliki dua potensiometer yang mengontrol sumbu X dan Y.
Skematis untuk Modul Joystick
Plus, kedua potensiometer (10k) bergerak secara independen. Dengan kata lain, Anda dapat memindahkannya satu per satu dan ke arahnya. Selain itu, ada koneksi internal pin sakelar (SW) ke tombol tekan.
Menghubungkan Joystick dengan Arduino
Modul joystick kompatibel dengan banyak mikrokontroler seperti Raspberry Pi, Arduino, dan lainnya. Selain itu, antarmukanya mudah, dan Anda harus terlebih dahulu menghubungkan pin sumbu VRx dan VRy ke pin ADC mikrokontroler.
Juga, jika Anda berencana menggunakan sakelar, maka Anda harus menghubungkan tombol ke pin digital mikrokontroler.
Lihat diagram di bawah untuk memahami cara menghubungkan modul joystick ke mikrokontroler apa pun.
Modul Joystick ke Mikrokontroler
Sekarang, diagram berikut akan menunjukkan kepada Anda bagaimana menghubungkan modul joystick dengan Arduino. Dengan diagram ini, Anda akan dapat menghubungkan modul ke Arduino. Selain itu, Anda akan mendapatkan output tergantung pada arah Anda menggerakkan kenop joystick.
Modul Joystick ke Arduino
Setelah Anda selesai berinteraksi, kami akan menemukan bahwa setiap arah memiliki rentang keluaran tetap. Gambar berikut akan menunjukkan kepada Anda output untuk sumbu X dan Y tergantung pada pergerakan modul joystick dalam empat arah, +X, -X, +Y, dan –Y. Juga akan ada beberapa nilai analog saat Anda menggerakkan kenop secara diagonal.
Arah Gerakan
Jika Anda ingin tahu kapan Anda menekan kenop Joystick ke bawah, Anda juga dapat menghubungkan pin SW ke pin digital 8 Arduino.
Selain itu, Joystick membutuhkan daya untuk bekerja dengan benar. Jadi, sambungkan pin VCC ke terminal 5V Arduino dan GND ke terminal GND Arduino.
Kode Arduino
Sangat mudah untuk membuat kode program ini di Arduino IDE. Jadi, untuk mendapatkan hasil terbaik, Anda akan mengukur gerakan Joystick dari satu pin input digital dan dua input analog. Kemudian, Arduino akan menampilkan dampaknya pada monitor Anda.
Inilah bagian terbaiknya
Anda tidak memerlukan perpustakaan untuk mengkode program ini. Itu hanya membaca input analog dan menampilkan nilai yang didapat darinya. Plus, itu juga menunjukkan output dari penekanan tombol.
Berikut sketsa mentah kodenya:
- #define joyX A0
- #define joyY A1
-
- tidak berlaku penyiapan () {
- Serial . mulai ( 9600 );
- }
-
- tidak berlaku lingkaran () {
- // taruh kode utama Anda di sini, untuk dijalankan berulang kali:
- xNilai = analogBaca ( joyX );
- yNilai = analogBaca ( kegembiraanY );
-
- //mencetak nilai dengan plot atau tampilan
- Serial . cetak ( xValue );
- Serial . cetak ( ”\t” );
- Serial . println ( yNilai );

Gambar menunjukkan kode Arduino
Pemetaan
Terkadang, ini tidak semua tentang membaca nilai analog, dan mungkin ada kebutuhan untuk memetakan modul Anda ke tampilan atau antarmuka lainnya. Jadi, untuk membantu Anda, kami akan menunjukkan cara memetakan nilai kode di atas ke matriks led 8x8.
Pemetaan Arduino
Hasil dari proses ini adalah memindahkan piksel yang ditampilkan dengan Joystick. Selain itu, mudah untuk mengubah kode untuk memetakannya ke OLED atau tampilan grafis.
- #sertakan “LedControl.h”
- #define joyX A0
- #define joyY A1
-
- int xPeta , yPeta , xNilai , yNilai ;
- Kontrol Led lc = Kontrol Led ( 12 , 11 , 10 , 1 );
-
- tidak berlaku penyiapan () {
- Serial . mulai ( 115200 );
-
- lc . matikan ( 0 , salah );
- /* Atur kecerahan ke nilai sedang */
- lc . setIntensitas ( 0 , 8 );
- /* dan hapus tampilan */
- lc . clearDisplay ( 0 );
- }
-
- tidak berlaku lingkaran () {
- // taruh kode utama Anda di sini, untuk dijalankan berulang kali:
- xNilai = analogBaca ( joyX );
- yNilai = analogBaca ( kegembiraanY );
- xPeta = peta ( xValue , 0 , 1023 , 0 , 7 );
- yPeta = peta ( yNilai , 0 , 1023 , 7 , 0 );
- lc . diatur ( 0 , xMap , yMap , benar );
- lc . clearDisplay ( 0 );
-
- }
Gambar kode yang diperlukan untuk memetakan Arduino ke OLED atau tampilan grafis
Catatan:kode di atas menunjukkan bahwa Anda dapat menggunakan fungsi map() untuk memetakan rentang agar sesuai dengan preferensi Anda.
Jadi, jika Anda melakukan semuanya dengan benar, output pada monitor serial Anda akan terlihat seperti ini:
Aplikasi
Berikut beberapa aplikasi modul Joystick Arduino:
- Anda dapat menggunakan modul joystick dalam robotika
Robot Drone
- Anda juga dapat mengontrol pergerakan kamera bergerak
Kamera Bergerak
- Berbagai macam aplikasi gerakan
Pembulatan ke Atas
Saat mendengar kata Joystick, hal pertama yang mungkin terlintas di benak Anda adalah pengontrol game. Namun, ada begitu banyak aplikasi menarik dari modul joystick dalam hal elektronik DIY.
Pengendali Game
Plus, modul ini terutama berfungsi untuk proyek DIY berdasarkan Arduino dan kontrol robot. Seperti yang telah kita bahas sebelumnya, modul joystick pertama kali merilis output analog untuk mengumpankan input analog tergantung pada gerakan horizontal atau vertikal stick.
Nah, itu yang melengkapi artikel ini. Jika Anda memiliki pertanyaan atau saran, jangan ragu untuk menghubungi kami. Kami selalu senang membantu.