Isi kandungan:

Joystick USB MPU-6050 DIY: 5 Langkah
Joystick USB MPU-6050 DIY: 5 Langkah

Video: Joystick USB MPU-6050 DIY: 5 Langkah

Video: Joystick USB MPU-6050 DIY: 5 Langkah
Video: Usb 3D Mouse Using Arduino and Mpu6050 Accelerometer #programming #arduino #arduinotutorial 2024, November
Anonim
Joystick USB MPU-6050 DIY
Joystick USB MPU-6050 DIY

Dengan Microsoft Flight Simulator 2020, saya dengan cepat menyedari betapa sukarnya menggunakan papan kekunci untuk membuat rancangan. Mencari dalam talian, saya tidak dapat mencari kayu bedik dengan harga yang berpatutan untuk dibeli. Sebilangan besar peruncit dalam talian tidak mempunyai stok. Populariti MS Flight Simulator dan pandemi COVID 19 menghapuskan semua stok kayu bedik yang ada. Satu-satunya pilihan saya ialah membina sendiri.

Sebilangan besar kayu bedik di luar sana menggunakan potensiometer di dasar untuk menentukan sudut kayu bedik dan menghantar maklumat paksi x dan y kembali ke komputer. Ini berfungsi dengan baik tetapi menyukarkan pembinaan kayu bedik. dan lama-kelamaan. potensiometer mungkin haus. Daripada menggunakan potensiometer, saya memutuskan untuk pergi dengan papan sensor pecutan / giroskop untuk menghantar maklumat ke komputer pada sudut tongkat.

Dengan populariti pelbagai mikropemproses Arduino dan pelbagai sensor, kos membina projek Arduino menjadi jauh lebih berpatutan. Salah satu papan sensor akselerometer / giroskop yang biasa digunakan ialah MPU-6050. Di Kanada, harganya sekitar $ 7CAN di Amazon. Saya mendapat barang dari eBay yang dihantar dari China lebih sedikit, tetapi masa penghantaran adalah seperti 3 bulan atau lebih lama.

www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…

Mana-mana papan Arduino akan berfungsi, tetapi menggunakan papan berasaskan ATmega32u4 akan jauh lebih mudah, kerana ATmega32u4 mempunyai sokongan HID (Peranti Antaramuka Manusia) asli. Setelah papan diprogramkan, anda boleh menggunakannya di mana-mana PC Windows 10 dan tidak memerlukan perisian tambahan. Windows 10 secara automatik akan mengenalinya sebagai kayu bedik semasa USB dipasang. (Penggunaan papan Arduino jenis lain terlalu rumit untuk projek binaan sederhana ini).

Saya memilih papan Arduino Leonardo. $ 17CAN dari Amazon.

www.amazon.ca/KEYESTUDIO-Leonardo-Developm…

2 peranti ini adalah syarat utama untuk projek ini. Item lain yang lebih kecil seperti pendawaian dan butang tekan juga diperlukan. Dalam projek ini, saya hanya menggunakan 2 butang tekan untuk kesederhanaan.

Pemegang kayu bedik dibuat dari paip air PVC sekerap. Ini dapat diganti dengan mudah dengan paip tegar pendek.

Pangkal kayu bedik adalah pemberhentian pintu pegas yang dipasang pada sekeping kayu.

Perhentian pintu spring boleh didapati dari Home Depot dengan harga $ 2.83CAN.

www.homedepot.ca/product/everbilt-spring-d…

Langkah 1: Sambungkan MPU6050 dan Tombol Tekan ke Arduino Leonardo Board

Menyambungkan MPU6050 dan Tombol Tekan ke Arduino Leonardo Board
Menyambungkan MPU6050 dan Tombol Tekan ke Arduino Leonardo Board
Menyambungkan MPU6050 dan Tombol Tekan ke Arduino Leonardo Board
Menyambungkan MPU6050 dan Tombol Tekan ke Arduino Leonardo Board
Menyambungkan MPU6050 dan Tombol Tekan ke Arduino Leonardo Board
Menyambungkan MPU6050 dan Tombol Tekan ke Arduino Leonardo Board

Hanya 4 sambungan yang digunakan pada MPU 6050. Mereka dilabel VCC, GND, SCL dan SDA.

Sambungkan VCC ke 5v atau 3.3v di Arduino Leonardo. (MPU 6050 boleh menggunakan 5v atau 3.3v. Tidak menjadi masalah)

Sambungkan GND ke mana-mana GND di Arduino Leonardo.

Sambungkan SCL ke SCL di Arduino Leonardo.

Sambungkan SDA ke SDA di Arduino Leonardo.

Saya hanya menggunakan 2 butang tekan untuk tujuan demonstrasi ini.

Butang tekan pertama digunakan untuk menetapkan semula pusat kayu bedik. Dalam contoh ini, satu hujung butang tekan disambungkan ke GND dan satu hujung ke PIN 13.

Butang tekan kedua digunakan sebagai butang kayu bedik. Dalam contoh ini, ia disambungkan ke PIN 9 dan GND.

Anda boleh menambah butang tambahan yang diperlukan dalam projek anda.

Langkah 2: Membina Joystick Base

Membina Joystick Base
Membina Joystick Base
Membina Joystick Base
Membina Joystick Base
Membina Joystick Base
Membina Joystick Base

Cari sekeping bongkah kayu. Lebih berat semakin baik. Ini akan menjadikan asas kayu bedik lebih stabil.

Skru penyumbat pintu spring di tengah blok kayu seperti yang ditunjukkan dalam gambar.

Gunakan sekeping paip pendek sebagai pemegang kayu bedik. Saya menggunakan paip PVC mengikis. Tarik wayar sehingga sensor pecutan / giroskop duduk di atas paip.

Kemudian letakkan paip di atas penyumbat pintu spring. Saya menggunakan pita elektrik untuk merakam sensor di bahagian atas.

Langkah 3: Siapkan Arduino IDE

Muat turun dan pasang Arduino IDE.https://www.arduino.cc/en/Main/Software

Saya menggunakan Arduino 1.8.13 untuk projek ini. Editor Web Arduino boleh digunakan untuk projek ini juga.

2 perpustakaan digunakan.

1. MPU6050_tockn oleh tockn

github.com/Tockn/MPU6050_tockn

atau anda boleh mencarinya di menu "Urus Perpustakaan".

2. Perpustakaan Joystick oleh Matthew Heironimus

github.com/MHeironimus/ArduinoJoystickLibr…

Yang ini hanya tersedia dari laman web GitHub.

Klik pada muat turun Kod dan Muat turun ZIP. Ekstrak fail ZIP ke direktori perpustakaan Arduino anda.

Dalam kes saya, ia adalah perpustakaan E: / PinChung / Documents / Arduino

Langkah 4: Program Arduino

Muat Pin_Joystick.ino ke Arduino IDE dan kompilasi dan muat naik ke papan Leonardo.

Pastikan papan Arduino Leonardo dipilih dan nombor port dipilih ke COM yang betul: di bawah menu Tools.

Saya perhatikan beberapa ketika, program tidak dapat dimuat dengan kod ralat port COM tidak tersedia. Menekan butang reset pada papan Leonardo beberapa kali semasa menyusun mungkin akan membantu. Memulakan semula Windows 10 mungkin juga membantu membebaskan port COM.

Setelah program dimuat naik ke papan Leonardo, Windows 10 akan secara automatik mengesan Leonardo Joystick. Di bar carian Windows 10, ketik Game Controller, jalankan Siapkan USB Game Controller.

pilih Leonardo Joystick dan klik Properties. Pergerakan joystick dan butang joystick # 1 harus diambil oleh Windows 10.

Sekiranya kayu bedik tidak berpusat, apabila anda melepaskannya, klik pada butang tetapkan semula batang Joystick yang baru kami buat. Pengawal Permainan USB harus menunjukkan titik kayu bedik di bahagian tengah. Tidak perlu menentukur kayu bedik dalam program USB Game Controller..

Nota Sampingan: Bagi mereka yang tidak biasa dengan Arduino Leonardo, apabila peranti dikonfigurasikan sebagai kayu bedik, tetikus atau papan kekunci, port bersiri tidak akan berfungsi. Jadi "Serial.print ()" tidak akan berfungsi. Juga, MPU6050 menggunakan perpustakaan wayar i2c dan menggunakan pin SDA dan SLC. Di Leonardo, SDA dan SCL menggunakan PIN 2 dan PIN 3, jadi jangan gunakan 2 pin ini untuk perkara lain.

Langkah 5: Menguji Joystick

Saya mengujinya pada Microsoft Flight Simulator 2020 dan ia berfungsi dengan baik. Kadang-kadang saya mesti menekan kekunci tengah untuk mengetepikan kayu bedik. Nilai sensor MPU6050 mungkin melayang sedikit dari masa ke masa.

Terdapat banyak peluang untuk dibelanjakan untuk projek ini, seperti menambahkan lebih banyak butang dan menambahkan kawalan pendikit. Semoga ini dapat memberi inspirasi kepada pengguna lain untuk meneroka cara baru membuat sesuatu.

Disyorkan: