Daftar Isi:

Mouse Komputer Cyborg: 4 Langkah (dengan Gambar)
Mouse Komputer Cyborg: 4 Langkah (dengan Gambar)

Video: Mouse Komputer Cyborg: 4 Langkah (dengan Gambar)

Video: Mouse Komputer Cyborg: 4 Langkah (dengan Gambar)
Video: Fungsi Mouse pada Komputer 2024, November
Anonim
Mouse Komputer Cyborg
Mouse Komputer Cyborg

Banyak penelitian menunjukkan bahwa postur menggunakan mouse komputer konvensional bisa berbahaya. Mouse adalah peralatan komputer standar. Pengguna komputer menggunakan mouse hampir tiga kali lipat dari keyboard. Karena tingkat eksposur yang tinggi, memperbaiki postur ekstremitas atas saat menggunakan mouse komputer sangat penting.

Untuk proyek abstrak ini kami akan membuat perangkat yang dapat dipakai yang memungkinkan orang bergerak melalui layar komputer tanpa memerlukan teknologi eksternal. Dengan begitu kita bisa menggunakan gerakan alami tangan alih-alih mengklik perangkat di permukaan horizontal. Ini juga memungkinkan untuk menggunakan layar sambil berdiri, membuat presentasi lisan lebih menyenangkan.

Adapun prototipe akan menggunakan jari telunjuk sebagai joystick, jari tengah untuk klik kiri, jari manis untuk klik kanan dan kelingking untuk menghidupkan dan mematikan perangkat. Jempol akan bertindak sebagai permukaan tempat tombol ditekan. Semuanya akan ditambahkan ke dalam sarung tangan.

Perlengkapan

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Modul joystick
  • (x3) Tombol tekan
  • (x20±) Kabel jumper
  • (x3) Resistor 1KΩ
  • (x1) Perlengkapan menjahit sarung tangan
  • Velcro silikon panas
  • Kit Solder Kawat
  • Bagian cetak 3D

Langkah 1: Siapkan Perangkat Keras

Siapkan Perangkat Keras
Siapkan Perangkat Keras

Kami telah menyertakan sketsa Fritzing untuk pemahaman desain yang lebih baik. Kami merekomendasikan untuk memasang komponen pada protoboard terlebih dahulu. Dengan begitu Anda dapat memeriksa apakah semuanya berfungsi sebelum menyolder.

Langkah 2: Unggah Kode dan Tes

Setelah koneksi dibuat, sambungkan USB A (M) ke micro USB B (M) dari komputer ke Arduino Leonardo dan unggah sketsa. Jangan ragu untuk menyalin, memodifikasi, dan meningkatkan sketsa.

PERINGATAN: Saat Anda menggunakan perintah Mouse.move(), Arduino mengambil alih mouse Anda! Pastikan Anda memiliki kontrol sebelum menggunakan perintah. Ini hanya bekerja untuk Arduino Leonardo, Micro atau Due

Berikut adalah kode kami untuk proyek ini:

// Tentukan Pin#include; const int mouseMiddleButton = 2; // masukan pin untuk tombol tengah mouse const int startEmulation = 3; // beralih untuk menghidupkan dan mematikan emulasi mouse const int mouseLeftButton = 4; // masukan pin untuk tombol kiri mouse const int mouseRightButton = 5; // masukan pin untuk kanan mouse Tombol const int joystickX = A1; // joystick sumbu X const int joystickY = A0; // sumbu Y joystick

// parameter untuk membaca joystick:

int kecepatan kursor = 10; // kecepatan keluaran gerakan X atau Y int responseDelay = 5; // penundaan respons mouse, dalam ms int threshold = cursorSpeed / 4; // istirahat ambang int center = cursorSpeed / 2; // nilai posisi istirahat int mouseMiddleState = 0;

boolean mouseIsActive = salah; // apakah akan mengontrol mouse atau tidak

int lastSwitchState = RENDAH; // status sakelar sebelumnya

batalkan pengaturan() {

pinMode(startEmulation, INPUT); // pinMode sakelar pin(mouseMiddleButton, INPUT); // tombol tengah mouse pin pinMode(mouseLeftButton, INPUT); // tombol kiri mouse pin pinMode(mouseRightButton, INPUT); // pin tombol kanan mouse

Mouse.mulai(); // kendalikan mouse

}

lingkaran kosong() {

// baca sakelar: int switchState = digitalRead(startEmulation);

// jika berubah dan tinggi, alihkan status mouse:

if (switchState != lastSwitchState) { if (switchState == LOW) { mouseIsActive = !mouseIsActive; } }

// simpan status sakelar untuk loop berikutnya:

lastSwitchState = switchState;

// membaca dan menskalakan kedua sumbu:

int xMembaca = readAxis(A1); int yMembaca = readAxis(A0);

// jika status kontrol mouse aktif, gerakkan mouse:

if (mouseIsActive) { Mouse.move(xReading, yReading, 0); // (x, y, gulir roda mouse) }

//KIRI

// baca tombol mouse dan klik atau tidak klik: // jika tombol mouse ditekan: if (digitalRead(mouseLeftButton) == HIGH) { // jika mouse tidak ditekan, tekan: if (!Mouse.isPressed (MOUSE_LEFT)) { Mouse.tekan(MOUSE_LEFT); penundaan(100); // tunda untuk mengaktifkan klik tunggal dan dua kali Mouse.release(MOUSE_LEFT); } }

// jika tidak tombol mouse tidak ditekan:

else { // jika mouse ditekan, lepaskan: if (Mouse.isPressed(MOUSE_LEFT)) { Mouse.release(MOUSE_LEFT); } }

//BAIK

// membaca tombol mouse dan klik atau tidak klik: // jika tombol mouse ditekan: if (digitalRead(mouseRightButton) == HIGH) { // jika mouse tidak ditekan, tekan: if (!Mouse.isPressed (MOUSE_KANAN)) { Mouse.tekan(MOUSE_KANAN); penundaan(100); // tunda untuk mengaktifkan klik tunggal dan dua kali Mouse.release(MOUSE_RIGHT); } }

// jika tidak tombol mouse tidak ditekan:

else { // jika mouse ditekan, lepaskan: if (Mouse.isPressed(MOUSE_RIGHT)) { Mouse.release(MOUSE_RIGHT); } }

//TENGAH

// baca tombol mouse dan klik atau tidak klik: // jika tombol mouse ditekan: if (digitalRead(mouseMiddleButton) == HIGH) { // jika mouse tidak ditekan, tekan: if (!Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) { Mouse.press(MOUSE_MIDDLE); mouseMiddleState = 1; //aktualisasi el estado del botón } }

// jika tidak tombol mouse tidak ditekan:

else { // jika mouse ditekan, lepaskan: if (Mouse.isPressed(MOUSE_MIDDLE) && mouseMiddleState == 1) { Mouse.release(MOUSE_MIDDLE); mouseMiddleState = 0; } }

penundaan(penundaan tanggapan);

}

/*

membaca sumbu (0 atau 1 untuk x atau y) dan menskalakan rentang input analog ke rentang dari 0 hingga */

int readAxis(int thisAxis) {

// membaca input analog: int reading = analogRead(thisAxis);

// memetakan pembacaan dari rentang input analog ke rentang output:

membaca = peta(membaca, 0, 1023, 0, cursorSpeed);

// jika pembacaan output berada di luar dari

// ambang batas posisi istirahat, gunakan: int distance = reading - center;

if (abs(jarak) < ambang batas) { jarak = 0; }

// kembalikan jarak untuk sumbu ini:

jarak kembali; }

Langkah 3: Memasang Prototipe

Memasang Prototipe
Memasang Prototipe
Memasang Prototipe
Memasang Prototipe
Memasang Prototipe
Memasang Prototipe

Langkah pertama adalah menjahit velcro ke sarung tangan, Anda harus menjahit empat strip velcro satu ke setiap jari. Kami menjahit bagian lembut velcro.

Setiap tombol memiliki dua kabel, satu yang dimulai pada masing-masing pin dan terhubung ke kaki positif tombol dan satu lagi di kaki negatif. Di ujung lain dari kabel negatif kami menyolder resistansi setiap tombol ditambah kabel negatif joystick ke satu kabel terakhir, yang terhubung ke GND papan Arduino. Koneksi paralel yang sama bekerja untuk sisi positif. (3 tombol dan kaki positif joystick)

Setelah menyolder jumper, kami akan memasang velcro-strip yang keras, sehingga kabel akan tersangkut di antaranya. Terakhir, kami menempelkan modul joystick dengan termo ke potongan cetak 3D. Di bawah ini Anda dapat menemukan file. STL.

Langkah 4: Mulai Gunakan Tangan Anda Sebagai Mouse

Image
Image
Mulailah Menggunakan Tangan Anda Sebagai Mouse!
Mulailah Menggunakan Tangan Anda Sebagai Mouse!
Mulailah Menggunakan Tangan Anda Sebagai Mouse!
Mulailah Menggunakan Tangan Anda Sebagai Mouse!

Pilih kami dalam Kontes Teknologi Bantu jika Anda menikmati proyek ini.

Direkomendasikan: