Daftar Isi:
- Perlengkapan
- Langkah 1: Menghubungkan Accelerometer Dengan Raspberry Pi
- Langkah 2: Menghubungkan Tombol Tekan Dengan Raspberry Pi
- Langkah 3: Mengembangkan Script Python untuk Mengontrol Mouse Pointer Secara Serial
- Langkah 4: Mengembangkan Script Python untuk Mengontrol Mouse Pointer Melalui Bluetooth
- Langkah 5: Menanamkan Akselerometer dan Tombol pada Sarung Tangan
Video: [Wearable Mouse] Pengontrol Mouse Wearable berbasis Bluetooth untuk Windows 10 dan Linux: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Saya membuat pengontrol mouse berbasis Bluetooth yang dapat digunakan untuk mengontrol penunjuk mouse dan melakukan operasi terkait mouse PC dengan cepat, tanpa menyentuh permukaan apa pun. Sirkuit elektronik, yang tertanam pada sarung tangan, dapat digunakan untuk melacak gerakan tangan melalui Accelerometer dan itu dapat diterjemahkan ke dalam gerakan penunjuk mouse. Perangkat ini juga dihubungkan dengan tombol yang mereplikasi klik tombol kiri. Perangkat dapat dipasang secara serial ke PC (melalui USB) atau secara nirkabel melalui koneksi Bluetooth. Bluetooth menyediakan komunikasi nirkabel yang kuat dan universal antara perangkat host dan mouse yang dapat dikenakan ini. Karena Bluetooth tersedia secara luas dan disematkan dengan hampir semua laptop pribadi, kasus penggunaan perangkat yang dapat dikenakan semacam itu sangat luas. Menggunakan Raspberry Pi, yang merupakan platform pengembangan yang umum digunakan untuk berbagai proyek, antarmuka berbagai sensor, dan pengembangan perangkat semacam itu mudah dan terukur. Sarung tangan dapat diganti dengan wearable lain untuk membuat aplikasinya lebih luas.
Sebagai tindakan pencegahan terhadap COVID-19, disarankan untuk menghindari menyentuh permukaan yang dapat digunakan bersama di antara orang yang berbeda, dan laptop layar sentuh atau mouse dapat menjadi salah satu permukaan umum tersebut. Menggunakan perangkat yang dapat dipakai seperti itu membantu menjaga kebersihan dan menjaga permukaan yang biasa digunakan tetap bersih:)
Perlengkapan
- Raspberry Pi 3 Model B V1.2
- Breakout Akselerometer Sumbu Tiga SparkFun - MMA8452Q
- Kawat Jumper Pria ke Wanita
- Sebuah sarung tangan
- Lakban
- Gunting
- Kabel micro-USB
- Kabel HDMI (untuk debugging melalui Raspberry Pi)
Langkah 1: Menghubungkan Accelerometer Dengan Raspberry Pi
Saya menggunakan akselerometer Triple-axis MMA8542Q dari Sparkfun yang menggunakan protokol komunikasi I2C untuk berbicara dengan pin GPIO Raspberry Pi dan mengirim data sumbu. Sensor ini menyediakan berbagai mode operasi dengan kecepatan data yang dapat dikonfigurasi, mode tidur, rentang akselerasi, mode filter, dll. Saya menemukan kode dari Pibits sangat membantu dalam konfigurasi awal sensor saya dan mengujinya dengan gerakan tangan saya. Lebih baik menempatkan sensor terlebih dahulu pada permukaan yang datar dan membuat kemiringan deterministik sambil mengamati nilai sensor mentah. Ini sangat berguna dalam memahami bagaimana sensor ini bereaksi dengan berbagai gerakan tangan dan bagaimana kita dapat mengatur ambang batas untuk aplikasi kita. Setelah akselerometer berhasil dihubungkan, Anda dapat melihat data sumbu mentah datang di layar terminal Pi.
Langkah 2: Menghubungkan Tombol Tekan Dengan Raspberry Pi
Di perangkat yang dapat dikenakan ini, saya menghubungkan tombol yang dapat berfungsi sebagai tombol kiri mouse sehingga saya dapat mengklik ikon di layar. Kedua ujung tombol kemudian dihubungkan ke 2 pin GPIO dari Pi. Salah satu pin mengeluarkan logika tinggi dan pin lainnya membaca nilai tersebut. Ketika tombol ditekan, sirkuit menjadi tertutup dan pin input dapat membaca nilai logika-tinggi, yang kemudian diproses oleh skrip yang saya tulis untuk meniru klik kiri-mouse. Karena kekurangan besi solder, saya menggunakan lakban untuk menghubungkan jumper dengan tombol.
Langkah 3: Mengembangkan Script Python untuk Mengontrol Mouse Pointer Secara Serial
Saya menggunakan pustaka Pyautogui Python untuk mengontrol penunjuk tetikus. Alasan menggunakan perpustakaan ini adalah karena perpustakaan ini berfungsi baik di Linux maupun di platform Windows. Untuk mengontrol penunjuk mouse pada Raspberry Pi saya, pertama-tama saya menghubungkan Pi saya ke layar. Kemudian, saya menggunakan API berikut yang disediakan oleh perpustakaan untuk mengontrol penunjuk mouse saya:
- pyautogui.move(0, 200, 2) # menggerakkan mouse ke bawah 200 piksel selama 2 detik
- pyautogui.click() # klik mouse
Untuk menyaring data kesalahan yang berasal dari Accelerometer, saya menggunakan rata-rata dan metode penyaringan lainnya yang dapat dengan mudah dipahami melalui kode terlampir. API pyautogui.move(0, y) digunakan sedemikian rupa sehingga penunjuk tetikus dapat naik-turun atau kiri-kanan sekaligus. Ini karena akselerometer melaporkan sumbu dalam arah X, Y, dan Z, tetapi API hanya membutuhkan 2 argumen, sumbu X dan Y. Oleh karena itu, pendekatan ini sangat cocok untuk akselerometer saya dan untuk memetakan gerakan di layar.
Langkah 4: Mengembangkan Script Python untuk Mengontrol Mouse Pointer Melalui Bluetooth
Bagian ini adalah aplikasi canggih di mana setiap laptop yang memiliki kemampuan Bluetooth dapat berkomunikasi dengan Raspberry Pi dalam model komunikasi server-klien dan mengirimkan data koordinat mouse secara nirkabel. Untuk mengatur laptop Windows 10 64-bit untuk memungkinkan Komunikasi Bluetooth, kita harus mengikuti langkah-langkah di bawah ini:
Windows 10:
- Buat port COM Bluetooth masuk.
- Pasangkan Bluetooth Pi dengan Bluetooth laptop dengan membuat Pi dapat ditemukan.
- Instal Python di Windows.
- Instal pip di Windows. Pip digunakan untuk menginstal perpustakaan pada mesin Linux atau Windows.
- Instal pyautogui di Windows menggunakan: pip install pyautogui
- Setelah pyautogui diinstal pada perangkat, instal Pybluez di Windows menggunakan perintah berikut di terminal Windows menggunakan: pip install PyBluez-win10. PyBluez mengaktifkan komunikasi Bluetooth pada PC Windows dan Linux.
-
Untuk mengembangkan aplikasi pada laptop Windows 10, kita perlu menginstal Microsoft Visual Studio (diperlukan ruang 15-20 GB) dan alat pembuatannya. Oleh karena itu, bersama dengan PyBluez, kita perlu mengikuti instruksi di bawah ini,
- Unduh dan jalankan "Visual Studio Installer":
-
Instal "Visual Studio Build Tools 2017", centang "Visual C++ build tools" dan "Universal Windows Platform build tools"
- git clone
- cd pybluez
python setup.py instal
- Jika instruksi di atas diikuti dengan benar, menjalankan Python di terminal windows, dan mengimpor modul pyautogui dan Bluetooth akan berfungsi tanpa kesalahan, sesuai gambar di atas.
- Di pustaka pybluez yang diinstal pada mesin Windows, navigasikan ke: pybluez-master\examples\simple\rfcomm-server.py dan jalankan menggunakan python rfcomm-server.py. Jika terminal masuk ke status menunggu tanpa kesalahan, buka bagian di bawah ini untuk mengatur Bluetooth di Pi. Jika ada kesalahan dalam menginstal pybluez, lihat Masalah GitHub untuk debugging.
Raspbian di Raspberry Pi:
- Instal PyBluez di Pi
- Jalankan contoh server di Windows. Kemudian, pada Pi, navigasikan ke pybluez-master\examples\simple\rfcomm-client.py dan jalankan. Jika kedua perangkat sudah mulai berkomunikasi, Bluetooth sekarang telah diatur di kedua perangkat. Untuk memahami lebih lanjut tentang cara kerja komunikasi soket dengan Python, lihat tautan ini dari MIT.
Akan ada beberapa parsing data tambahan yang diperlukan untuk mengirim data sumbu dari Pi ke PC, karena data dikirim dalam byte. Lihat kode terlampir untuk info lebih lanjut tentang komunikasi data klien dan server.
Langkah 5: Menanamkan Akselerometer dan Tombol pada Sarung Tangan
Setelah akselerometer terhubung dengan baik, sistem kerangka terlihat seperti gambar pertama pada langkah ini.
Karena permukaan sarung tangan tidak rata, saya menggunakan kartu kredit palsu yang datang ke kotak surat saya sesekali. Sesuai gambar kedua pada langkah ini, saya menempelkan kartu kredit dummy di permukaan atas sarung tangan saya dengan lakban. Di atas kartu, saya memasang akselerometer saya. Pengaturan ini cukup kuat untuk menjaga akselerometer saya tetap stabil dan dapat melacak gerakan saya secara akurat.
Direkomendasikan:
Menghubungkan Pemrosesan dan Arduino dan Membuat Pengontrol GUI 7 Segmen dan Servo: 4 Langkah
Menghubungkan Pemrosesan dan Arduino dan Membuat 7 Segmen dan Pengontrol GUI Servo: Untuk beberapa proyek yang Anda buat perlu menggunakan Arduino karena menyediakan platform prototyping yang mudah tetapi menampilkan grafik di monitor serial Arduino bisa memakan waktu cukup lama dan bahkan sulit dilakukan. Anda dapat menampilkan grafik pada Arduino Serial Monitor bu
Pengontrol Game DIY Berbasis Arduino - Pengontrol Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengontrol Game DIY Berbasis Arduino | Pengontrol Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Halo teman-teman, bermain game selalu menyenangkan tetapi bermain dengan Kontroler game kustom DIY Anda sendiri lebih menyenangkan. Jadi kami akan membuat Pengontrol game menggunakan arduino pro micro dalam instruksi ini
Pengontrol Starter DOL Berbasis IOT untuk Pompa Irigasi: 6 Langkah
Pengontrol Starter DOL Berbasis IOT untuk Pompa Irigasi: Halo TemanPetunjuk ini adalah tentang cara memantau dan mengontrol set pompa irigasi dari jarak jauh melalui internet. Cerita: Di peternakan saya, saya mendapatkan pasokan listrik dari jaringan lokal hanya sekitar 6 jam sehari. Pengaturan waktu tidak teratur, ketersediaan po
RuuviTag dan PiZero W dan Blinkt! Termometer Berbasis Bluetooth Beacon: 3 Langkah (dengan Gambar)
RuuviTag dan PiZero W dan Blinkt! a Bluetooth Beacon Based Thermometer: Instruksi ini menjelaskan pendekatan untuk membaca data suhu dan kelembaban dari RuuviTag menggunakan Bluetooth dengan Raspberry Pi Zero W dan untuk menampilkan nilai dalam bilangan biner pada kedipan Pimoroni! pHAT.Atau singkatnya: bagaimana membangun negara
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: 4 Langkah
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: Hai Pembuat,Saya baru-baru ini mulai menanam jamur di rumah, jamur tiram, tetapi saya sudah 3x pengontrol ini di rumah untuk kontrol Suhu Fermentor untuk minuman rumah saya, istri juga melakukan hal Kombucha ini sekarang, dan sebagai Termostat untuk Panas