Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

Komponen dan Perlengkapan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Sebagai alternatif untuk melacak kursor komputer menggunakan mouse atau trackpad, saya telah membuat aplikasi yang sama dengan bantuan joystick. Joystick dapat menggerakkan kursor ke segala arah (sumbu x dan Y) dan juga melakukan fungsi klik dengan switch bawaan joystick.

Dasar-dasar

Joystick sederhana terdiri dari 2 potensiometer yang diratakan di arah x dan y. Arduino membaca nilai analog dari joystick dalam rentang 0 hingga 1023. Jadi, ketika joystick berada dalam posisi default(tengah), nilai analog juga mendekati 500(antara 0 dan 1023).

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

Sketsa Arduino diprogram sehingga ketika joystick dipindahkan dari tengah, cetak nilai dalam rentang dari -sensitivity hingga +sensitivity(nilai default adalah 10) tergantung pada posisi. Jadi, ketika joystick dipindahkan ke posisi ekstrim satu, Arduino mencetak nilai 10 dan jika joystick dipindahkan ke posisi ekstrim lainnya, maka -10 dicetak.

Untuk mencetak nilai terpisah untuk arah x dan y, kita akan menggunakan ":" antara nilai arah x dan y. Contoh:

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

Status tombol joystick(SW) dicetak(1/0) di serial monitor setelah nilai x dan y.

Agar laptop/komputer dapat mengenali nilai, kita akan membutuhkan modul pyautogui python.

Pemrograman Python

(diedit 12/11/2020 - mengganti perpustakaan dari 'pyautogui' ke 'mouse')

Pengguna harus memiliki python 3 terinstal pada laptop/komputer mereka. Ini dapat diunduh dari sini.

Setelah instalasi, Salin jalur lokasi file python.

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

Langkah-langkah berikut harus dilakukan pada command prompt. Buka command prompt dan masukkan yang berikut-

1. cd <tempelkan jalur file python>

2. py –m pip install –-upgrade pip

3. py –m pip install mouse

4. py -m pip install pyserial

Modul mouse digunakan untuk melakukan tindakan mouse dan modul pyserial digunakan untuk mengirim/menerima data dari Arduino. Saya sudah menginstal modul yang diperlukan, jadi saya mendapatkan ini

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

Program python dibuat untuk membaca data yang dicetak oleh Arduino dan mengenali nilai arah x dan y serta status switch(SW).

Koordinat saat ini kursor diperoleh dari fungsi mouse mouse.get_position() yang menyediakan koordinat X dan Y kursor dalam bentuk piksel.

Ketika joystick digerakkan, nilai analog yang diberikan oleh Arduino ditambahkan dengan posisi kursor saat ini untuk menggerakkan kursor ke arah yang diinginkan.

Untuk menggerakkan kursor ke arah yang diberikan, fungsi mouse.move(X+x,Y+y) memenuhi tujuan ini.

di mana X dan Y adalah posisi kursor saat ini dan x dan y adalah posisi penambahan/pengurangan yang diberikan oleh Arduino.

contoh: mouse.moveTo(100,150) memindahkan kursor ke 100 piksel pada sumbu x dan 150 piksel pada sumbu y.

Untuk melakukan operasi klik berdasarkan status SW, mouse.click(button="left") digunakan.

Eksekusi Akhir

Unggah sketsa Arduino(yang diberikan di bawah ini) ke Arduino UNO Anda dan sambungkan joystick ke pin Arduino seperti yang diberikan dalam skematik.

Setelah memastikan mouse dan pyserial terinstal pada komputer/laptop Anda, lakukan langkah-langkah berikut.

1. Salin sketsa python ke file notepad. Tentukan port COM yang benar dari Arduino. Dari manajer perangkat, Anda dapat melihat port COM yang terhubung ke papan Arduino. Simpan file sebagai ".py" setelah melakukan perubahan.

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat
Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

2. Buka IDLE(python GUI) python dan buka file notepad darinya.

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat
Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

3. jalankan modul.

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

Anda akan diarahkan kembali ke layar pada Gambar 4

Jika Anda melihat kesalahan apa pun, mulai ulang IDLE dan periksa apakah Anda telah menyebutkan port COM yang benar dari Arduino.

Jika tidak ada kesalahan, lalu gerakkan joystick dan Anda akan melihat gerakan kursor.

Kode

Kode ArduinoArduino
//////////////////////////////// // Joystick controlled mouse/// /// by Shubham Santosh//////// ///////////////////////////// void setup() { Serial.begin(9600); pinMode(9,INPUT); // SW pin digitalWrite(9,HIGH); } int prev_state=0; // previous state of switch void loop() { int z=0,xpos=0,ypos=0; int x=analogRead(A0); int y=analogRead(A1); int sensitivity=10; // you can adjust the sensitivity based on your comfort if(x>=550) // when moved up xpos=map(x,550,1023,0,sensitivity); if(x<=450) // when moved down xpos=map(x,450,0,0,-sensitivity); if(y>=550) // when moved right ypos=map(y,550,1023,0,sensitivity); if(y<=450) // when moved left ypos=map(y,450,0,0,-sensitivity); int curr_state=digitalRead(9); if(curr_state==1 && prev_state==0) // when SW is pressed z=1; else z=0; if(xpos!=0 or ypos!=0 or z==1) // prints only when the joystick is moved { Serial.print(xpos); // print the data and separating by ":" Serial.print(":"); Serial.print(ypos); Serial.print(":"); Serial.println(z); } prev_state=curr_state; delay(10); // for normal operation } 
Kode PythonPython
# Joystick controlled mouse # By Shubham Santosh # last edited 12/11/2020 import mouse, sys import time import serial mouse.FAILSAFE=False ArduinoSerial=serial.Serial('com3',9600) #Specify the correct COM port time.sleep(1) #delay of 1 second while 1: data=str(ArduinoSerial.readline().decode('ascii')) #read the data (x,y,z)=data.split(":") # assigns to x,y and z (X,Y)=mouse.get_position() #read the cursor's current position (x,y)=(int(x),int(y)) #convert to int mouse.move(X+x,Y-y) #move cursor to desired position if '1' in z: # read the Status of SW mouse.click(button="left") # clicks left button 

Skematik

Mouse Arduino Dikontrol Joystick: Navigasi Kursor Akurat

Proses manufaktur

  1. Evolusi Mouse Komputer: Desain, Manufaktur, dan Tren Masa Depan
  2. Kipas Pendingin Mengontrol Suhu: Sistem Relay DIY untuk Pendingin Meja Media
  3. Sistem Akuaponik Dikontrol Raspberry Pi: Panduan & Kode Pembuatan
  4. Bangun Tombol IoT AWS Terkontrol Gerakan dengan Raspberry Pi, Sensor PIR, dan MQTT
  5. Membuat Robot Raspberry Pi yang Dikontrol Bluetooth dengan Umpan Balik Suara
  6. Membangun Robot Raspberry Pi Dikontrol Wi‑Fi dengan Python – Panduan Langkah demi Langkah
  7. Demo ARDrone 2.0 Dikontrol Alexa: Drone Diaktifkan Suara dengan Raspberry Pi & Hologram Nova
  8. Ubah Mobil RC Lama menjadi Kendaraan Terkontrol Joystick dengan Arduino
  9. Permainan Joystick Interaktif dengan Arduino dan Umpan Balik LED
  10. Aloy FeNi42: Ekspansi Termal Rendah untuk Seles Presisi