Cuprins:
- Provizii
- Pasul 1: configurați hardware-ul
- Pasul 2: încărcați codul și testați
- Pasul 3: Montarea prototipului
- Pasul 4: Începeți să folosiți mâna ca mouse
Video: Mouse computer Cyborg: 4 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Multe studii sugerează că postura utilizării unui mouse convențional de computer poate fi periculoasă. Mouse-ul este o piesă standard de echipament de calculator. Utilizatorii de computere folosesc mouse-ul de aproape trei ori mai mult decât tastatura. Deoarece ratele de expunere sunt ridicate, îmbunătățirea posturii extremităților superioare în timpul utilizării mouse-ului computerului este foarte importantă.
Pentru acest proiect abstract vom realiza un dispozitiv portabil care să permită oamenilor să se deplaseze printr-un ecran de computer fără a fi necesară o tehnologie externă. În acest fel am putea folosi mâinile mișcări naturale în loc să facem clic pe un dispozitiv pe o suprafață orizontală. Acest lucru permite, de asemenea, utilizarea ecranelor în picioare, făcând prezentările orale mai plăcute.
În ceea ce privește prototipul, se va folosi indexul ca joystick, degetul mijlociu pentru clic stâng, deget inelar pentru clic dreapta și roz pentru pornirea și oprirea dispozitivului. Degetul mare va acționa ca suprafața pe care se apasă butoanele. Toate acestea vor fi adăugate într-o mănușă.
Provizii
- (x1) Arduino Leonardo
- (x1) Protoboard
- (x1) Modul joystick
- (x3) Buton
- (x20 ±) Jumperi de sârmă
- (x3) Rezistențe de 1KΩ
- (x1) Set de cusut pentru mănuși
- Silicon fierbinte cu velcro
- Set de lipit sârmă
- Piesă tipărită 3D
Pasul 1: configurați hardware-ul
Am inclus o schiță Fritzing pentru o mai bună înțelegere a designului. Vă recomandăm mai întâi să montați componentele pe un protoboard. În acest fel puteți verifica dacă totul funcționează înainte de lipire.
Pasul 2: încărcați codul și testați
Odată ce conexiunile sunt făcute, conectați USB A (M) la micro USB B (M) de la computer la Arduino Leonardo și încărcați schița. Simțiți-vă liber să copiați, să modificați și să îmbunătățiți schița.
AVERTISMENT: Când utilizați comanda Mouse.move (), Arduino preia mouse-ul! Asigurați-vă că aveți controlul înainte de a utiliza comanda. Funcționează doar pentru Arduino Leonardo, Micro sau Due
Iată codul nostru pentru acest proiect:
// Definiți pini # include; const int mouseMiddleButton = 2; // pin de intrare pentru mijlocul mouse-ului Buton const int startEmulation = 3; // comutați pentru a activa și dezactiva emularea mouse-ului const int mouseLeftButton = 4; // pin de intrare pentru mouse stânga Buton const int mouseRightButton = 5; // pin de intrare pentru mouse dreapta Buton const int joystickX = A1; // joystick X axis const int joystickY = A0; // joystick axa Y
// parametrii pentru citirea joystick-ului:
int cursorSpeed = 10; // viteza de ieșire a mișcării X sau Y int responseDelay = 5; // întârziere de răspuns a mouse-ului, în prag ms int = cursorSpeed / 4; // prag de odihnă int center = cursorSpeed / 2; // valoarea poziției de repaus int mouseMiddleState = 0;
mouse booleanIsActive = false; // dacă se controlează sau nu mouse-ul
int lastSwitchState = LOW; // starea de comutare anterioară
configurare nulă () {
pinMode (startEmulation, INPUT); // comutatorul pin pinMode (mouseMiddleButton, INPUT); // butonul din mijloc al mouse-ului pin pinMode (mouseLeftButton, INPUT); // butonul stâng al mouse-ului pin pinMode (mouseRightButton, INPUT); // butonul drept al mouse-ului
Mouse.begin (); // preia controlul mouse-ului
}
bucla nulă () {
// citiți comutatorul: int switchState = digitalRead (startEmulation);
// dacă este modificat și este ridicat, comutați starea mouse-ului:
if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}
// salvați starea comutatorului pentru următoarea buclă:
lastSwitchState = switchState;
// citiți și scalați cele două axe:
int xReading = readAxis (A1); int yReading = readAxis (A0);
// dacă starea de control a mouse-ului este activă, mutați mouse-ul:
if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, rotița mouse-ului)}
//STÂNGA
// citiți butonul mouse-ului și faceți clic sau nu faceți clic: // dacă butonul mouse-ului este apăsat: if (digitalRead (mouseLeftButton) == HIGH) {// dacă mouse-ul nu este apăsat, apăsați-l: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); întârziere (100); // întârziere pentru a activa un singur clic și dublu clic pe Mouse.release (MOUSE_LEFT); }}
// altfel butonul mouse-ului nu este apăsat:
else {// dacă mouse-ul este apăsat, eliberați-l: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}
//DREAPTA
// citiți butonul mouse-ului și faceți clic sau nu faceți clic: // dacă butonul mouse-ului este apăsat: if (digitalRead (mouseRightButton) == HIGH) {// dacă mouse-ul nu este apăsat, apăsați-l: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); întârziere (100); // întârziere pentru a activa un singur clic și dublu clic pe Mouse.release (MOUSE_RIGHT); }}
// altfel butonul mouse-ului nu este apăsat:
else {// dacă mouse-ul este apăsat, eliberați-l: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}
//MIJLOC
// citiți butonul mouse-ului și faceți clic sau nu faceți clic: // dacă butonul mouse-ului este apăsat: if (digitalRead (mouseMiddleButton) == HIGH) {// dacă mouse-ul nu este apăsat, apăsați-l: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza statul butonului}}
// altfel butonul mouse-ului nu este apăsat:
else {// dacă mouse-ul este apăsat, eliberați-l: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}
întârziere (responseDelay);
}
/*
citește o axă (0 sau 1 pentru x sau y) și scalează gama de intrare analogică la un interval de la 0 la * /
int readAxis (int thisAxis) {
// citiți intrarea analogică: int reading = analogRead (thisAxis);
// mapează citirea de la intervalul de intrare analogic la intervalul de ieșire:
citire = hartă (citire, 0, 1023, 0, cursorSpeed);
// dacă citirea de ieșire este în afara de
// pragul poziției de odihnă, folosiți-l: distanță int = citire - centru;
if (abs (distanță) <prag) {distance = 0; }
// returnează distanța pentru această axă:
distanța de întoarcere; }
Pasul 3: Montarea prototipului
Primul pas este să coaseți velcro-ul pe mănușă, trebuie să coaseți patru benzi de velcro una la fiecare deget. Am cusut partea moale a velcro-ului.
Fiecare buton are două fire, unul care pornește de la pinii respectivi și se conectează la piciorul pozitiv al butonului și altul la piciorul negativ. La celălalt capăt al firului negativ lipim rezistențele fiecărui buton plus firul negativ al joystick-ului la un ultim fir, care se conectează la GND-ul plăcii Arduino. Aceeași conexiune paralelă funcționează și pentru partea pozitivă. (3 butoane și joystick pozitiv picior)
După lipirea jumperilor, vom pune benzi de velcro dure, astfel încât firele să se blocheze între ele. În cele din urmă, am termo-lipit modulul joystick-ului pe o piesă tipărită 3D. Mai jos puteți găsi fișierul. STL.
Pasul 4: Începeți să folosiți mâna ca mouse
Votați pentru noi în cadrul concursului de asistență tehnică dacă v-a plăcut proiectul.
Recomandat:
[Wearable Mouse] Controler Wearable Mouse bazat pe Bluetooth pentru Windows 10 și Linux: 5 pași
[Wearable Mouse] Wearable Mouse Controller bazat pe Bluetooth pentru Windows 10 și Linux: am realizat un controler de mouse bazat pe Bluetooth care poate fi folosit pentru a controla indicatorul mouse-ului și a efectua operațiuni legate de mouse-ul PC-ului, fără a atinge nicio suprafață. Circuitul electronic, care este încorporat pe o mănușă, poate fi folosit pentru a urmări h
Un mouse inteligent de computer pentru mănuși: 4 pași (cu imagini)
Un mouse de computer Smart Glove: Acesta este un „Smart Glove” mouse de computer care poate fi utilizat cu orice computer PC, Mac sau Linux. Este realizat folosind un adaptor de gazdă USB multi-protocol Binho Nova, care vă permite să conectați senzori și alte componente la computer și apoi să controlați
Cum să dezasamblați un computer cu pași și imagini ușoare: 13 pași (cu imagini)
Cum să dezasamblați un computer cu pași și imagini ușoare: Aceasta este o instrucțiune despre cum să dezasamblați un computer. Majoritatea componentelor de bază sunt modulare și ușor de îndepărtat. Cu toate acestea, este important să fiți organizat în acest sens. Acest lucru vă va ajuta să nu vă pierdeți piese și, de asemenea, să faceți reasamblarea
Theremoose - mouse-ul de computer controlat Theremin: 6 pași (cu imagini)
Theremoose - mouse-ul de computer controlat Theremin: Acest proiect a fost realizat în colaborare cu Randy Glenn, asigurați-vă că îl verificați aici: https://www.instructables.com/member/rglenn/ Acum aproximativ o săptămână am participat la un hackathon pentru idei groaznice aici la Toronto (stupidhacktoronto.com). Aceasta este a
Cyborg Zombie Evolution: 9 pași (cu imagini)
Cyborg Zombie Evolution: Este bine cunoscut de la epoca aburului până la epoca steampunk … dacă este cool, înfiorător, drăguț sau toate trei în același timp, aducerea unei creaturi la viață ia electricitate. În cazul acestui zombie cyborg ca celulă galvanică unică, cunoscut sub numele de a & q