Tetikus Komputer Cyborg: 4 Langkah (dengan Gambar)
Tetikus Komputer Cyborg: 4 Langkah (dengan Gambar)
Anonim
Tetikus Komputer Cyborg
Tetikus Komputer Cyborg

Banyak kajian menunjukkan bahawa sikap menggunakan tetikus komputer konvensional boleh membahayakan. Tetikus adalah peralatan komputer yang standard. Pengguna komputer menggunakan tetikus hampir tiga kali ganda daripada papan kekunci. Oleh kerana kadar pendedahan tinggi, meningkatkan postur ekstremitas atas semasa menggunakan tetikus komputer sangat penting.

Untuk projek abstrak ini, kita akan membuat alat yang boleh dipakai yang membolehkan orang bergerak melalui skrin komputer tanpa memerlukan teknologi luaran. Dengan cara itu kita dapat menggunakan gerakan semula jadi tangan daripada mengklik peranti pada permukaan mendatar. Ini juga memungkinkan untuk menggunakan skrin semasa berdiri, menjadikan persembahan lisan lebih menyenangkan.

Adapun prototaip akan menggunakan indeks sebagai kayu bedik, jari tengah untuk mengklik kiri, jari manis untuk mengklik kanan dan kelingking untuk menghidupkan dan mematikan peranti. Ibu jari akan berfungsi sebagai permukaan di mana butang ditekan. Semua itu akan dimasukkan ke dalam sarung tangan.

Bekalan

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Modul Joystick
  • (x3) Butang tekan
  • (x20 ±) Pelompat wayar
  • (x3) Perintang 1KΩ
  • (x1) Kit menjahit sarung tangan
  • Velcro Hot silikon
  • Kit Pematerian Kawat
  • Bahagian bercetak 3D

Langkah 1: Sediakan Perkakasan

Sediakan Perkakasan
Sediakan Perkakasan

Kami telah memasukkan sketsa Fritzing untuk pemahaman reka bentuk yang lebih baik. Sebaiknya pasangkan komponen pada protoboard terlebih dahulu. Dengan cara itu anda dapat memastikan bahawa semuanya berfungsi sebelum menyolder.

Langkah 2: Muat naik Kod dan Uji

Setelah sambungan dibuat sambungkan USB A (M) ke mikro USB B (M) dari komputer ke Arduino Leonardo dan muat naik lakarannya. Jangan ragu untuk menyalin, mengubah dan memperbaiki lakaran.

PERINGATAN: Apabila anda menggunakan arahan Mouse.move (), Arduino mengambil alih tetikus anda! Pastikan anda mempunyai kawalan sebelum anda menggunakan arahan. Ia hanya berfungsi untuk Arduino Leonardo, Micro atau Due

Inilah kod kami untuk projek ini:

// Tentukan Pin # include; const int mouseMiddleButton = 2; // pin input untuk tetikus tengah butang const int startEmulation = 3; // beralih untuk menghidupkan dan mematikan emulasi tetikus tetikus tetikusLeftButton = 4; // pin input untuk tetikus kiri butang const int mouseRightButton = 5; // pin input untuk tetikus kanan Button const int joystickX = A1; // joystick X axis const int joystickY = A0; // paksi Y joystick

// parameter untuk membaca kayu bedik:

int kursorSpeed = 10; // kelajuan output pergerakan X atau Y dalam tindak balas Kelewatan = 5; // kelewatan tindak balas tetikus, dalam ambang int ms = cursorSpeed / 4; // rehat ambang int tengah = kursorSpeed / 2; // nilai kedudukan rehat int mouseMiddleState = 0;

tetikus booleanIsActive = false; // sama ada mahu mengawal tetikus atau tidak

int lastSwitchState = RENDAH; // keadaan suis sebelumnya

batal persediaan () {

pinMode (startEmulation, INPUT); // suis pin pinMode (mouseMiddleButton, INPUT); // butang tetikus tengah pin pinMode (mouseLeftButton, INPUT); // butang tetikus kiri pin pinMode (mouseRightButton, INPUT); // pin butang tetikus kanan

Tetikus.begin (); // mengawal tetikus

}

gelung kosong () {

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

// jika berubah dan tinggi, alihkan keadaan tetikus:

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

// simpan keadaan suis untuk gelung seterusnya:

lastSwitchState = switchState;

// baca dan timbang dua paksi:

int xReading = readAxis (A1); int yReading = readAxis (A0);

// jika keadaan kawalan tetikus aktif, gerakkan tetikus:

jika (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, roda tetikus tatal)}

//MENINGGALKAN

// baca butang tetikus dan klik atau tidak klik: // jika butang tetikus ditekan: jika (digitalRead (mouseLeftButton) == TINGGI) {// jika tetikus tidak ditekan, tekan: jika (! Mouse.isTekan (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); kelewatan (100); // kelewatan untuk mendayakan Mouse.release klik tunggal dan dua kali (MOUSE_LEFT); }}

// jika tidak butang tetikus tidak ditekan:

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

// KANAN

// baca butang tetikus dan klik atau tidak klik: // jika butang tetikus ditekan: jika (digitalRead (mouseRightButton) == TINGGI) {// jika tetikus tidak ditekan, tekan: jika (! Mouse.is ditekan (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); kelewatan (100); // kelewatan untuk mengaktifkan tetikus tunggal dan klik dua kali (MOUSE_RIGHT); }}

// jika tidak butang tetikus tidak ditekan:

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

// TENGAH

// baca butang tetikus dan klik atau tidak klik: // jika butang tetikus ditekan: if (digitalRead (mouseMiddleButton) == TINGGI) {// jika tetikus tidak ditekan, tekan: if (! Mouse.is Tekan (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); tetikusMiddleState = 1; // aktualiza el estado del botón}}

// jika tidak butang tetikus tidak ditekan:

lain {// jika tetikus ditekan, lepaskan: jika (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); tetikusMiddleState = 0; }}

kelewatan (responsDelay);

}

/*

membaca paksi (0 atau 1 untuk x atau y) dan skala julat input analog ke julat dari 0 hingga * /

int readAxis (int iniAxis) {

// baca input analog: int reading = analogRead (iniAxis);

// memetakan bacaan dari julat input analog ke julat output:

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

// jika bacaan output berada di luar dari

// ambang kedudukan rehat, gunakannya: int jarak = membaca - pusat;

jika (abs (jarak) <ambang) {jarak = 0; }

// kembalikan jarak bagi paksi ini:

jarak balik; }

Langkah 3: Memasang Prototaip

Memasang Prototaip
Memasang Prototaip
Memasang Prototaip
Memasang Prototaip
Memasang Prototaip
Memasang Prototaip

Langkah pertama ialah menjahit velcro ke sarung tangan, anda harus menjahit empat helai velcro satu ke setiap jari. Kami menjahit bahagian lembut velcro.

Setiap butang tekan mempunyai dua wayar, satu yang bermula pada pin masing-masing dan menghubungkan ke kaki positif butang dan satu lagi pada kaki negatif. Di hujung wayar negatif yang lain, kami menyolokkan rintangan setiap butang ditambah dengan wayar joystick negatif ke satu wayar terakhir, yang menghubungkan ke GND papan Arduino. Sambungan selari yang sama berfungsi untuk sisi positif. (3 butang dan kaki positif kayu bedik)

Setelah menyolder jumper kita akan memakai tali velcro keras, sehingga wayar akan tersekat di antara. Terakhir kami memasang modul joystick dengan termo pada sekeping cetak 3D. Di bawah ini anda dapat mencari fail. STL.

Langkah 4: Mula Menggunakan Tangan Anda Sebagai Tikus

Image
Image
Mula Menggunakan Tangan Anda Sebagai Tikus!
Mula Menggunakan Tangan Anda Sebagai Tikus!
Mula Menggunakan Tangan Anda Sebagai Tikus!
Mula Menggunakan Tangan Anda Sebagai Tikus!

Undi kami dalam Peraduan Teknologi Bantuan jika anda menikmati projek ini.

Disyorkan: