Përmbajtje:

Miu kompjuterik Cyborg: 4 hapa (me fotografi)
Miu kompjuterik Cyborg: 4 hapa (me fotografi)

Video: Miu kompjuterik Cyborg: 4 hapa (me fotografi)

Video: Miu kompjuterik Cyborg: 4 hapa (me fotografi)
Video: КАК НАСТРОИТЬ L4D2 2024, Nëntor
Anonim
Miu kompjuterik Cyborg
Miu kompjuterik Cyborg

Shumë studime sugjerojnë se qëndrimi i përdorimit të një miu kompjuterik konvencional mund të jetë i rrezikshëm. Miu është një pjesë standarde e pajisjeve kompjuterike. Përdoruesit e kompjuterit përdorin miun pothuajse tre herë më shumë se tastiera. Meqenëse normat e ekspozimit janë të larta, përmirësimi i qëndrimit të ekstremiteteve të sipërme gjatë përdorimit të miut kompjuterik është shumë i rëndësishëm.

Për këtë projekt abstrakt ne do të bëjmë një pajisje të veshshme që i lejon njerëzit të lëvizin nëpër ekranin e kompjuterit pa qenë e nevojshme teknologjia e jashtme. Në atë mënyrë ne mund të përdorim lëvizjet natyrale të duarve në vend që të klikojmë një pajisje në një sipërfaqe horizontale. Kjo gjithashtu ju lejon të përdorni ekranet në këmbë, duke i bërë prezantimet gojore më të këndshme.

Sa i përket prototipit do të jetë përdorimi i indeksit si një levë, gishti i mesëm për klikimin majtas, gishti unazor për klikimin e djathtë dhe rozë për ndezjen dhe fikjen e pajisjes. Gishti i madh do të veprojë si sipërfaqja ku shtypen butonat. Të gjitha do të shtohen në një dorezë.

Furnizimet

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Moduli i xhojstikut
  • (x3) Butoni i butonit
  • (x20 ±) Kërcyesit me tela
  • (x3) Rezistorët 1KΩ
  • (x1) Komplet qepjeje me doreza
  • Silkoni i nxehtë Velcro
  • Kompleti i saldimit me tela
  • Pjesë e printuar 3D

Hapi 1: Konfiguroni pajisjen

Vendosni pajisjen
Vendosni pajisjen

Ne kemi përfshirë një skicë Fritzing për një kuptim më të mirë të modelit. Ne rekomandojmë montimin e përbërësve në një protoboard së pari. Në atë mënyrë ju mund të kontrolloni që gjithçka po funksionon para bashkimit.

Hapi 2: Ngarko kodin dhe provën

Pasi të bëhen lidhjet, lidhni USB A (M) me mikro USB B (M) nga kompjuteri në Arduino Leonardo dhe ngarkoni skicën. Mos ngurroni të kopjoni, modifikoni dhe përmirësoni skicën.

KUJDES: Kur përdorni komandën Mouse.move (), Arduino merr miun tuaj! Sigurohuni që keni kontroll para se të përdorni komandën. Punon vetëm për Arduino Leonardo, Micro ose Due

Këtu është kodi ynë për këtë projekt:

// Përcaktoni kunjat#përfshijnë; const int mouseMiddleButton = 2; // pin pin për butonin e mesit të miut const int startEmulation = 3; // kaloni për të ndezur dhe fikur emulimin e miut const int mouseLeftButton = 4; // pin hyrës për miun majtas Button const int mouseRightButton = 5; // pin futës për miun djathtas Button const int joystickX = A1; // levë X boshtin const int joystickY = A0; // aksi i levës Y

// parametrat për leximin e levës:

int cursorSpeed = 10; // shpejtësia e daljes së lëvizjes X ose Y int respondDelay = 5; // vonesa e përgjigjes së miut, në ms int pragu = cursorSpeed / 4; // pragu i pushimit int center = cursorSpeed / 2; // vlera e pozicionit të pushimit në mouseMiddleState = 0;

boolean mouseIsActive = false; // nëse duhet kontrolluar apo jo miun

int lastSwitchState = LOW; // gjendja e kalimit të mëparshëm

void setup () {

pinMode (startEmulation, INPUT); // kaloni pinMode pin (mouseMiddleButton, INPUT); // butoni i mesit i miut pin pinMode (mouseLeftButton, INPUT); // butoni i majtë i miut pin pinMode (mouseRightButton, INPUT); // kunja e butonit të djathtë të miut

Mouse.filloj (); // marr kontrollin e miut

}

lak void () {

// lexoni çelësin: int switchState = digitalRead (startEmulation);

// nëse është ndryshuar dhe është e lartë, kaloni gjendjen e miut:

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

// ruani gjendjen e kalimit për lakin tjetër:

lastSwitchState = switchState;

// lexoni dhe shkallëzoni dy akset:

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

// nëse gjendja e kontrollit të miut është aktive, lëvizeni miun:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, rrotulloni rrotën e miut)}

// Majtas

// lexoni butonin e miut dhe klikoni ose mos klikoni: // nëse butoni i miut shtypet: nëse (digitalRead (mouseLeftButton) == LART) {// nëse miu nuk shtypet, shtypeni atë nëse (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); vonesë (100); // vonesë për të aktivizuar një dhe klikim të dyfishtë Mouse.release (MOUSE_LEFT); }}

// përndryshe butoni i miut nuk shtypet:

else {// nëse miu shtypet, lëshojeni: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

// E DREJTA

// lexoni butonin e miut dhe klikoni ose mos klikoni: // nëse butoni i miut shtypet: nëse (digitalRead (mouseRightButton) == LART) {// nëse miu nuk shtypet, shtypeni atë nëse (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); vonesë (100); // vonesë për të aktivizuar lëshimin e vetëm dhe të dyfishtë të Mouse.release (MOUSE_RIGHT); }}

// përndryshe butoni i miut nuk shtypet:

else {// nëse miu shtypet, lëshojeni: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

// E MESME

// lexoni butonin e miut dhe klikoni ose mos klikoni: // nëse butoni i miut shtypet: nëse (digitalRead (mouseMiddleButton) == HIGH) {// nëse miu nuk shtypet, shtypeni atë nëse (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}

// përndryshe butoni i miut nuk shtypet:

else {// nëse miu shtypet, lëshojeni atë: nëse (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

vonesë (Vonesa në përgjigje);

}

/*

lexon një bosht (0 ose 1 për x ose y) dhe shkallëzon gamën e hyrjes analoge në një interval nga 0 në */

int readAxis (int thisAxis) {

// lexoni hyrjen analoge: int reading = analogRead (thisAxis);

// hartoni leximin nga diapazoni i hyrjes analoge në gamën e daljes:

leximi = harta (leximi, 0, 1023, 0, cursorSpeed);

// nëse leximi i daljes është jashtë nga

// pragu i pozicionit të pushimit, përdoreni atë: int distance = lexim - qendër;

nëse (abs (distanca) <pragu) {distanca = 0; }

// ktheni distancën për këtë aks:

distanca e kthimit; }

Hapi 3: Montimi i Prototipit

Montimi i Prototipit
Montimi i Prototipit
Montimi i Prototipit
Montimi i Prototipit
Montimi i Prototipit
Montimi i Prototipit

Hapi i parë është qepja e velcro në dorezë, ju duhet të qepni katër shirita velcro një në secilin gisht. Ne qepëm pjesën e butë të velcro.

Çdo buton ka dy tela, njëra që fillon në kunjat përkatëse dhe lidhet me këmbën pozitive të butonit dhe një tjetër në këmbën negative. Në skajin tjetër të telit negativ ne lidhim rezistencat e secilit buton plus tela negative të levës në një tel të fundit, i cili lidhet me GND të bordit Arduino. E njëjta lidhje paralele funksionon për anën pozitive. (3 butona dhe këmbë pozitive me levë)

Pas bashkimit të kërcyesve do të vendosim shirita të fortë velcro, në mënyrë që telat të mbërthehen në mes. Së fundmi, ne termo-ngjitëm modulin e levës në një pjesë të printuar 3D. Më poshtë mund të gjeni skedarin. STL.

Hapi 4: Filloni të përdorni dorën tuaj si mi

Image
Image
Filloni të përdorni dorën tuaj si mi!
Filloni të përdorni dorën tuaj si mi!
Filloni të përdorni dorën tuaj si mi!
Filloni të përdorni dorën tuaj si mi!

Votoni për ne në Konkursin Teknik Ndihmës nëse ju pëlqeu projekti.

Recommended: