Sadržaj:

Računalni miš Cyborg: 4 koraka (sa slikama)
Računalni miš Cyborg: 4 koraka (sa slikama)

Video: Računalni miš Cyborg: 4 koraka (sa slikama)

Video: Računalni miš Cyborg: 4 koraka (sa slikama)
Video: Собаку бросили в лесу с коробкой макарон. История собаки по имени Ринго. 2024, Srpanj
Anonim
Računalni miš Cyborg
Računalni miš Cyborg

Mnoge studije ukazuju na to da položaj korištenja konvencionalnog računalnog miša može biti opasan. Miš je standardni dio računalne opreme. Korisnici računala koriste miš gotovo tri puta više od tipkovnice. Budući da su stope izloženosti velike, poboljšanje držanja gornjih ekstremiteta tijekom korištenja računalnog miša vrlo je važno.

Za ovaj apstraktni projekt napravit ćemo nosivi uređaj koji omogućuje ljudima da se kreću kroz zaslon računala bez potrebe za vanjskom tehnologijom. Na taj način bismo mogli koristiti ruke prirodnim pokretima umjesto klikanja uređaja na vodoravnoj površini. To također omogućuje korištenje zaslona dok stojite, što usmene prezentacije čini ugodnijim.

Što se tiče prototipa, indeks će se koristiti kao joystick, srednji prst za lijevi klik, prstenjak za desni klik i pinky za uključivanje i isključivanje uređaja. Palac će djelovati kao površina na kojoj se pritisnu tipke. Sve će se to dodati u rukavicu.

Pribor

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Modul joystick
  • (x3) Tipkalo
  • (x20 ±) Žicasti kratkospojnici
  • (x3) Otpornici od 1KΩ
  • (x1) Komplet za šivanje rukavica
  • Vrući silikon na čičak
  • Komplet za lemljenje žice
  • 3D ispisani dio

Korak 1: Postavite hardver

Postavite hardver
Postavite hardver

Uključili smo skicu Fritzinga za bolje razumijevanje dizajna. Preporučujemo da komponente prije instalirate na protoboard. Na taj način možete provjeriti radi li sve prije lemljenja.

Korak 2: Prenesite kôd i testirajte

Nakon povezivanja spojite USB A (M) na mikro USB B (M) s računala na Arduino Leonardo i prenesite skicu. Skicu slobodno kopirajte, izmijenite i poboljšajte.

UPOZORENJE: Kada koristite naredbu Mouse.move (), Arduino preuzima vaš miš! Prije upotrebe naredbe provjerite imate li kontrolu. Radi samo za Arduino Leonardo, Micro ili Due

Evo našeg koda za ovaj projekt:

// Definiranje pinova#include; const int mouseMiddleButton = 2; // ulazni pin za sredinu miša Gumb const int startEmulation = 3; // prebacivanje za uključivanje i isključivanje emulacije miša const int mouseLeftButton = 4; // ulazni pin za miš lijevo Button const int mouseRightButton = 5; // ulazni pin za miša desno Button const int joystickX = A1; // joystick X os const int joystickY = A0; // joystick Y os

// parametri za čitanje upravljačke palice:

int cursorSpeed = 10; // izlazna brzina kretanja X ili Y int responseDelay = 5; // kašnjenje odgovora miša, u ms int prag = cursorSpeed / 4; // prag mirovanja int center = cursorSpeed / 2; // vrijednost položaja u mirovanju int mouseMiddleState = 0;

boolean mouseIsActive = false; // hoće li se upravljati mišem ili ne

int lastSwitchState = LOW; // prethodno stanje prekidača

void setup () {

pinMode (startEmulation, INPUT); // prekidač pin pinMode (mouseMiddleButton, INPUT); // srednja tipka miša pin pinMode (mouseLeftButton, INPUT); // lijeva tipka miša pin pinMode (mouseRightButton, INPUT); // pribadača desne tipke miša

Mouse.begin (); // preuzimamo kontrolu nad mišem

}

void loop () {{100} {101}

// čitanje sklopke: int switchState = digitalRead (startEmulation);

// ako je promijenjen i visok, promijenite stanje miša:

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

// spremi stanje prekidača za sljedeću petlju:

lastSwitchState = switchState;

// očitavanje i mjerenje dviju osi:

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

// ako je stanje kontrole miša aktivno, pomaknite miš:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, pomičite kotačić miša)}

//LIJEVO

// pročitajte gumb miša i kliknite ili ne kliknite: // ako je tipka miša pritisnuta: if (digitalRead (mouseLeftButton) == HIGH) {// ako miš nije pritisnut, pritisnite je: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); kašnjenje (100); // odgoda za omogućavanje jednog i dva klika na Mouse.release (MOUSE_LEFT); }}

// inače tipka miša nije pritisnuta:

else {// ako je miš pritisnut, otpustite ga: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

//PRAVO

// pročitajte gumb miša i kliknite ili ne kliknite: // ako je tipka miša pritisnuta: if (digitalRead (mouseRightButton) == HIGH) {// ako miš nije pritisnut, pritisnite je: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); kašnjenje (100); // odgoda za omogućavanje jednog i dva klika na Mouse.release (MOUSE_RIGHT); }}

// inače tipka miša nije pritisnuta:

else {// ako je miš pritisnut, otpustite ga: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

// SREDNJI

// čitajte tipku miša i kliknite ili ne kliknite: // ako je tipka miša pritisnuta: if (digitalRead (mouseMiddleButton) == HIGH) {// ako miš nije pritisnut, pritisnite je: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // aktualiziranje el estado del botón}}

// inače tipka miša nije pritisnuta:

else {// ako je miš pritisnut, otpustite ga: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

kašnjenje (responseDelay);

}

/*

čita os (0 ili 1 za x ili y) i skalira raspon analognog ulaza u raspon od 0 do */

int readAxis (int thisAxis) {{100} {101}

// čitanje analognog ulaza: int reading = analogRead (thisAxis);

// preslikavanje očitanja iz raspona analognog ulaza u izlazni raspon:

čitanje = karta (čitanje, 0, 1023, 0, cursorSpeed);

// ako je očitavanje izlaza izvan

// prag položaja mirovanja, upotrijebite ga: int udaljenost = čitanje - središte;

if (abs (udaljenost) <prag) {udaljenost = 0; }

// vraća udaljenost za ovu os:

povratna udaljenost; }

Korak 3: Montiranje prototipa

Montaža prototipa
Montaža prototipa
Montaža prototipa
Montaža prototipa
Montaža prototipa
Montaža prototipa

Prvi korak je šivanje čička na rukavicu, morate prišiti četiri trake čička po jednu na svaki prst. Sašili smo mekani dio čička.

Svaki gumb ima dvije žice, jednu koja počinje od odgovarajućih pinova i povezuje se s pozitivnom nogom gumba, a druga s negativnom nogom. Na drugom kraju negativne žice lemimo otpore svakog gumba plus negativnu žicu upravljačke palice na posljednju žicu, koja se spaja na GND Arduino ploče. Ista paralelna veza radi i s pozitivne strane. (3 gumba i pozitivna noga upravljačke palice)

Nakon lemljenja kratkospojnika stavit ćemo tvrde čičak trake, tako da se žice zaglave između njih. Na kraju smo termo-lijepili modul upravljačke palice na 3D ispisani komad. Ispod možete pronaći. STL datoteku.

Korak 4: Počnite koristiti ruku kao miš

Image
Image
Počnite koristiti ruku kao miš!
Počnite koristiti ruku kao miš!
Počnite koristiti ruku kao miš!
Počnite koristiti ruku kao miš!

Glasajte za nas na natječaju za pomoćnu tehniku ako vam se svidio projekt.

Preporučeni: