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

Mouse yang dikendalikan joystick

Komponen dan persediaan

Arduino UNO
× 1
Joystick sumbu ganda
× 1

Aplikasi dan layanan online

Arduino IDE
IDLE(Python GUI)

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 sakelar joystick bawaan.

Dasar-

Sebuah joystick sederhananya terdiri dari 2 potensiometer yang disejajarkan dalam arah x dan y. Arduino membaca nilai analog dari joystick dalam kisaran 0 hingga 1023. Jadi, ketika joystick berada di posisi default(tengah), nilai analog juga menjadi mendekati 500 (antara 0 dan 1023).

Sketsa arduino diprogram sedemikian rupa sehingga ketika joystick dipindahkan dari tengah, kemudian mencetak nilai dalam kisaran dari -sensitivitas hingga +nilai sensitivitas (set vlaue default adalah 10) tergantung pada posisinya. Jadi, ketika joystick digerakkan dalam satu posisi ekstrim, 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 ":" di antara nilai arah x dan y. Contoh:

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

Agar laptop/komputer dapat mengenali nilainya, kita memerlukan modul pyautogui python.

Pemrograman Python

(diedit 12/11/2020 - mengubah perpustakaan dari 'pyautogui' menjadi 'mouse')

Pengguna harus menginstal python 3 di laptop/komputer mereka. Itu dapat diunduh dari sini.

Setelah instalasi, Salin jalur lokasi file python.

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

1. cd

2. py –m pip install –-upgrade pip

3. py –m pip install mouse

4. py -m pip install pyserial

tikus modul digunakan untuk melakukan aksi mouse dan pyserial modul digunakan untuk mengirim/menerima data dari arduino. Saya sudah menginstal modul yang diperlukan, jadi saya mendapatkan ini

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

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

Saat joystick digerakkan, nilai analog yang disediakan oleh arduino ditambahkan dengan posisi kursor saat ini untuk memindahkan kursor ke arah yang diinginkan.

Untuk memindahkan kursor ke arah tertentu, 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 kenaikan/penurunan yang disediakan 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 (diberikan di bawah) ke arduino UNO Anda dan hubungkan joystick ke pin arduino seperti yang diberikan dalam skema.

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

1. Salin sketsa python di file notepad. Tentukan port COM yang benar dari arduino. Dari manajer perangkat, Anda bisa mendapatkan port COM tempat papan arduino terhubung. Simpan file sebagai ".py" setelah melakukan perubahan.

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

3. jalankan modul.

Anda kemudian akan diarahkan kembali ke layar pada Gambar 4

Jika Anda melihat kesalahan, mulai ulang IDLE dan periksa apakah Anda telah menyebutkan port COM arduino yang benar.

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

Kode

  • Kode Arduino
  • Kode Python
Kode ArduinoArduino
/////////////////////////////// Joystick mouse yang dikendalikan////// oleh Shubham Santosh/ ///////////////////////////////////pengaturan batal() { Serial.begin(9600); pinMode(9,INPUT); // SW pin digitalWrite(9,HIGH);}int prev_state=0; // keadaan sebelumnya dari loopvoid() { int z=0,xpos=0,ypos=0; int x=analogRead(A0); int y=analogBaca(A1); int sensitivitas=10; // Anda dapat menyesuaikan sensitivitas berdasarkan kenyamanan Anda if(x>=550) // saat dipindahkan xpos=map(x,550,1023,0,sensitivity); if(x<=450) // ketika dipindahkan ke bawah xpos=map(x,450,0,0,-sensitivitas); if(y>=550) // ketika dipindahkan ke kanan ypos=map(y,550,1023,0,sensitivitas); if(y<=450) // saat dipindahkan ke kiri ypos=map(y,450,0,0,-sensitivitas); int curr_state=digitalRead(9); if(curr_state==1 &&prev_state==0) // saat SW ditekan z=1; lain z=0; if(xpos!=0 or ypos!=0 or z==1) // mencetak hanya ketika joystick dipindahkan { Serial.print(xpos); // print data dan pisahkan dengan ":" Serial.print(":"); Serial.print(ypos); Serial.print(":"); Serial.println(z); } prev_state=curr_state; penundaan (10); // untuk operasi normal}
Kode PythonPython
# Mouse yang dikontrol joystick# Oleh Shubham Santosh# terakhir diedit 12/11/2020impor mouse, sysimport time import serialmouse.FAILSAFE=FalseArduinoSerial=serial.Serial('com3',9600) #Tentukan COM porttime.sleep(1 ) #penundaan 1 detik while 1:data=str(ArduinoSerial.readline().decode('ascii')) #membaca data (x,y,z)=data.split(":") # ditetapkan ke x, y dan z (X,Y)=mouse.get_position() #membaca posisi kursor saat ini (x,y)=(int(x),int(y)) #convert ke int mouse.move(X+x,Yy ) #pindahkan kursor ke posisi yang diinginkan jika '1' di z:# baca Status mouse SW.klik(button="kiri") # klik tombol kiri 

Skema


Proses manufaktur

  1. Mouse Komputer
  2. Kipas dengan pengatur suhu
  3. Aquaponik Terkendali Raspberry Pi
  4. Tombol AWS IoT Terkendali Gerakan
  5. Robot Raspberry Pi dikendalikan melalui Bluetooth
  6. Robot Terkendali Wifi Menggunakan Raspberry Pi
  7. MayorTom:Alexa Voice Controlled ARDrone 2.0
  8. Mobil RC Terkendali Joystick
  9. Game Joystick
  10. Paduan 42 Paduan Ekspansi Terkendali