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

Mouse Terkendali Ponsel Cerdas

Komponen dan persediaan

Arduino UNO
× 1
Modul Bluetooth HC-05
× 1
Kabel jumper (generik)
× 1

Aplikasi dan layanan online

Arduino IDE
IDLE(Python GUI)
Kontrol Mouse Bluetooth Penemu Aplikasi MIT

Tentang proyek ini

Proyek ini mirip dengan pekerjaan saya sebelumnya di mana saya telah menggunakan joystick untuk mengontrol kursor PC. Perbedaan utamanya adalah saya telah membuat aplikasi smartphone yang berisi 2 joystick virtual untuk menggerakkan kursor serta menggulir layar dan juga melakukan klik kiri dan kanan seperti trackpad biasa.

Bekerja

Proyek ini melibatkan aplikasi smartphone yang mengirimkan data sumbu x dan y joystick, status gulir, status klik kiri dan kanan menggunakan bluetooth ke Arduino Uno yang terhubung ke modul bluetooth HC-05. Data ini setelah diterima oleh Arduino dimanipulasi untuk membuat perubahan posisi kursor saat ini untuk mendapatkan posisi baru. Data yang dihasilkan beserta status scroll dan tombol kemudian dicetak sebagai output yang dikenali untuk dibaca oleh sketsa Python. Sketsa Python dibuat untuk mengeksekusi tindakan mouse menggunakan modul mouse.

Tentang Aplikasi

Aplikasi smartphone dibuat menggunakan MIT-App Inventor. Membuat aplikasi itu sederhana karena Anda hanya perlu menambahkan blok yang diinginkan untuk membangun aplikasi yang Anda butuhkan. Saya telah merujuk ke tutorial robotika Tabletop untuk membuatnya. Layar utama aplikasi adalah sebagai berikut-

Sebelum mengirim informasi utama ke modul HC-05, aplikasi terlebih dahulu mengirimkan nomor satu byte(255) untuk menunjukkan awal informasi. Urutan transfer data adalah sebagai berikut-

1. Kirim '255' untuk menunjukkan awal

2. Kirim nilai sumbu x joystick 1 byte

3. Kirim nilai sumbu y joystick 1 byte

4. Kirim status klik kiri, tombol klik kanan dan status gulir (1 byte).

Data dari aplikasi dikirim setiap 20 milidetik ke Arduino UNO.

Sisi Arduino

Bytes data dari Aplikasi diterima oleh Arduino dengan bantuan modul Bluetooth HC-05. Arduino berisi koordinat kursor saat ini di mana rentang koordinat x dari 0 hingga 1279 dan koordinat y berkisar dari 0 hingga 799. Saya telah memperoleh koordinat ekstrem ini dari fungsi python mouse.get_position() yang mengembalikan koordinat saat kursor dipindahkan (tidak digunakan dalam sketsa utama).

Berdasarkan data yang diterima saat menggerakkan joystick, posisi kursor saat ini (koordinat x dan y) kemudian ditambahkan/dikurangi dengan data yang diterima oleh aplikasi untuk memindahkan kursor ke koordinat baru yang diinginkan. Data akhir kemudian dicetak pada monitor Serial secara berurutan di bawah ini.

Urutan data berikut ini akhirnya dibaca oleh program python untuk mengeksekusinya. Untuk ini, kita perlu mengunduh modul tambahan yaitu mouse dan pyserial dalam langkah-langkah yang diberikan di bawah ini.

Pemrograman Python

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

(Untuk Windows)

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 tindakan mouse dan pyserial modul digunakan untuk mengirim/menerima data dari arduino. Saya sudah menginstal modul yang diperlukan, jadi saya mendapatkan ini

Eksekusi

Instal aplikasi Bluetooth Mouse Control di perangkat ponsel cerdas Anda.

Unggah sketsa Arduino ke Arduino UNO Anda dan ikuti rangkaian seperti yang diberikan dalam skema.

Sisi python -

1. Copy paste kode python di file notepad. Ubah port COM ke port COM Arduino UNO Anda dan simpan sebagai '.py'.

2. Buka python IDLE dan buka bentuk file notepad.

3. Jalankan Sketsa.

Anda kemudian akan diarahkan kembali ke layar pada gambar 2.2.

Buka aplikasi smartphone dan sambungkan ke modul bluetooth dan Anda akan melihat gerakan kursor saat mengubah arah joystick.

Kode

  • Kode Arduino
  • Kode Python
Kode ArduinoArduino
int data diterima[5] {0,0,0,0}; // Untuk menyimpan byte dari phoneint in_byte =0;int array_index =0;int l_prev=0,r_prev=0; // status sebelumnya dari mouse klik kiri dan kanan void setup() {Serial.begin (9600); // memulai monitor serial} int height=0,width=0;void loop() { int klik=0; int sensitivitas=20; // Anda dapat mengatur sensitivitas int xpos=0,ypos=0;if (Serial.available()> 0) { //menerima byte dari ponsel in_byte=Serial.read(); //menyimpan dalam byte ke dalam variabel if (in_byte ==(255)) { // jika variabelnya 0 stet array diindeks ke 0. array_index =0; } data yang diterima[array_index] =in_byte; //menyimpan nomor ke dalam array array_index =array_index +1; if(data diterima[1]>=110)xpos=map(data diterima[1],110,172,0,sensitivitas); // Saat dipindahkan ke kananif(data diterima[1]<=70)xpos=map(data diterima[1],60,1,0,-sensitivitas); // Saat dipindahkan ke kiriif(dataditerima[2]>=110)ypos=map(data diterima[2],110,255,0,sensitivitas); // Saat dipindahkan ke bawahif(datareceived[2]<=60)ypos=map(datareceived[2],70,1,0,-sensitivity); // Saat dipindahkan ke atas(data diterima[3]==1 &&l_prev==0) // UNTUK mengenali satu tombol tekan clicks=1;else if(datareceived[3]==2 &&r_prev==0)clicks=2;else if(data diterima[3]==3 || data diterima[3]==4)clicks=dataditerima[3]; // scrolll_prev=datareceived[3];r_prev=datareceived[3];if(xpos!=0 atau ypos!=0 atau clicks!=0) // ketika salah satu joystick dipindahkan atau tombol ditekan atau digulir{ tinggi=tinggi+ypos;lebar=lebar+xpos;jika(tinggi>=799)tinggi=799;jika(tinggi<=0)tinggi=0;jika(lebar>=1279)lebar=1279;jika(lebar<=0)width=0;Serial.print(width);Serial.print(":");Serial.print(height);Serial.print(":");Serial.println(klik);klik=0;} }}
Kode PythonPython
impor mouse, sysimport time import serialmouse.FAILSAFE=FalseArduinoSerial=serial.Serial('com3',9600) #Tentukan porttime COM yang benar.sleep(1) #delay 1 detik while 1:data=str(ArduinoSerial.readline ().decode('ascii')) (x,y,z)=data.split(":") # membaca data sumbu x dan y (x,y)=(int(x),int(y) ) # convert to int mouse.move(x,y) # pindahkan kursor ke koordinat yang diinginkan jika '1' di z:mouse.click(button="left") #klik tombol mouse elif '2' di z:mouse. click(button="right") elif '3' di z:mouse.wheel(delta=-1) # Gulir ke bawah elif '4' di z:mouse.wheel(delta=1) # Gulir ke atas 

Skema


Proses manufaktur

  1. Robot Raspberry Pi dikendalikan melalui Bluetooth
  2. Lampu Meja Interaktif Terkendali Gerakan
  3. Voltmeter DIY Menggunakan Arduino dan Smartphone
  4. LED Terkendali Alexa Melalui Raspberry Pi
  5. Mobil RC Terkendali Joystick
  6. Arduino dengan Bluetooth untuk Mengontrol LED!
  7. Lengan Robot Terkendali Nunchuk (dengan Arduino)
  8. Robot yang Dikendalikan Bicara
  9. MobBob:Robot Arduino DIY Dikendalikan oleh Smartphone Android
  10. Peralatan yang Dikendalikan Suara Bluetooth dengan OK Google