Sisällysluettelo:

Cyborg -tietokonehiiri: 4 vaihetta (kuvilla)
Cyborg -tietokonehiiri: 4 vaihetta (kuvilla)

Video: Cyborg -tietokonehiiri: 4 vaihetta (kuvilla)

Video: Cyborg -tietokonehiiri: 4 vaihetta (kuvilla)
Video: KIDS YOU WON'T BELIEVE ACTUALLY EXIST 2024, Marraskuu
Anonim
Cyborg tietokonehiiri
Cyborg tietokonehiiri

Monet tutkimukset viittaavat siihen, että tavanomaisen tietokonehiiren käytön asento voi olla vaarallinen. Hiiri on vakio tietokonelaite. Tietokoneen käyttäjät käyttävät hiirtä lähes kolme kertaa enemmän kuin näppäimistöä. Koska altistumisnopeudet ovat korkeat, yläraajojen asennon parantaminen tietokoneen hiiren käytön aikana on erittäin tärkeää.

Tätä abstraktia projektia varten teemme pukun, jonka avulla ihmiset voivat liikkua tietokoneen näytön läpi ilman ulkoista tekniikkaa. Näin voimme käyttää käsien luonnollisia liikkeitä sen sijaan, että napsauttaisimme laitetta vaakasuoralle pinnalle. Tämä mahdollistaa myös näyttöjen käytön seisoessaan, mikä tekee suullisista esityksistä miellyttävämpiä.

Mitä tulee prototyyppiin, se käyttää hakemistoa ohjaussauvana, keskisormi vasemmanpuoleiselle napsautukselle, rengassormi oikealle napsautukselle ja vaaleanpunainen laitteen kytkemiselle päälle ja pois päältä. Peukalo toimii pintana, jossa painikkeita painetaan. Kaikki lisätään käsineeseen.

Tarvikkeet

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Joystick -moduuli
  • (x3) Painike
  • (x20 ±) Lankahyppyjohdot
  • (x3) 1 KΩ: n vastukset
  • (x1) Käsineiden ompelusarja
  • Velcro Hot silikoni
  • Johtosarja
  • 3D -painettu osa

Vaihe 1: Asenna laitteisto

Asenna laitteisto
Asenna laitteisto

Olemme lisänneet Fritzing -luonnoksen suunnittelun ymmärtämiseksi paremmin. Suosittelemme komponenttien asentamista ensin protoboardiin. Näin voit tarkistaa, että kaikki toimii ennen juottamista.

Vaihe 2: Lataa koodi ja testi

Kun liitännät on tehty, liitä USB A (M) mikro -USB B (M) -laitteeseen tietokoneesta Arduino Leonardo -laitteeseen ja lataa luonnos. Voit vapaasti kopioida, muokata ja parantaa luonnosta.

VAROITUS: Kun käytät Mouse.move () -komentoa, Arduino ottaa hiiren haltuunsa! Varmista, että hallitset ohjausta ennen komennon käyttöä. Se toimii vain Arduino Leonardo-, Micro- tai Due -laitteille

Tässä on koodimme tälle projektille:

// Määritä nastat#include; const int mouseMiddleButton = 2; // hiiren keskitulonappi Painike const int startEmulation = 3; // kytke päälle ja pois päältä hiiren emulointi const int mouseLeftButton = 4; // hiiren vasen syöttötappi Button const int mouseRightButton = 5; // hiiren syöttötappi Oikea painike const int joystickX = A1; // joystick X -akseli const int joystickY = A0; // ohjaussauvan Y -akseli

// parametrit ohjaussauvan lukemiseen:

int cursorSpeed = 10; // X- tai Y -liikkeen lähtönopeus int responseDelay = 5; // hiiren vastausviive, ms int kynnys = cursorSpeed / 4; // lepokynnys int center = cursorSpeed / 2; // lepoasennon arvo int mouseMiddleState = 0;

boolean mouseIsActive = epätosi; // hallitaanko hiirtä vai ei

int lastSwitchState = LOW; // edellinen kytkimen tila

void setup () {

pinMode (startEmulation, INPUT); // kytkintappi pinMode (mouseMiddleButton, INPUT); // hiiren keskimmäisen painikkeen pin pinMode (mouseLeftButton, INPUT); // hiiren vasen painike pin pinMode (mouseRightButton, INPUT); // hiiren oikean painikkeen nasta

Hiiri.begin (); // hallitse hiirtä

}

void loop () {

// lukea kytkin: int switchState = digitalRead (startEmulation);

// jos se on muuttunut ja se on korkea, vaihda hiiren tilaa:

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

// tallenna kytkimen tila seuraavaa silmukkaa varten:

lastSwitchState = kytkintila;

// lukea ja skaalata kaksi akselia:

int xLukeminen = lukuAkseli (A1); int yLukeminen = readAxis (A0);

// jos hiiren ohjaustila on aktiivinen, siirrä hiirtä:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, vieritä hiiren rullaa)}

// VASEN

// lue hiiren painike ja napsauta tai älä napsauta: // jos hiiren painiketta painetaan: if (digitalRead (mouseLeftButton) == HIGH) {// jos hiirtä ei paineta, paina sitä: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); viive (100); // viive yhden ja kaksoisnapsautuksen ottamiseksi käyttöön Hiiri. vapauta (MOUSE_LEFT); }}

// muuten hiiren painiketta ei paineta:

else {// jos hiirtä painetaan, vapauta se: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

// OIKEA

// lue hiiren painike ja napsauta tai älä napsauta: // jos hiiren painiketta painetaan: if (digitalRead (mouseRightButton) == HIGH) {// jos hiirtä ei paineta, paina sitä: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); viive (100); // viive yhden ja kaksoisnapsautuksen ottamiseksi käyttöön Hiiri. vapauta (MOUSE_RIGHT); }}

// muuten hiiren painiketta ei paineta:

else {// jos hiirtä painetaan, vapauta se: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

// KESKI

// lue hiiren painike ja napsauta tai älä napsauta: // jos hiiren painiketta painetaan: if (digitalRead (mouseMiddleButton) == HIGH) {// jos hiirtä ei paineta, paina sitä: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // todellinen el estado del botón}}

// muuten hiiren painiketta ei paineta:

else {// jos hiirtä painetaan, vapauta se: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

viive (responseDelay);

}

/*

lukee akselin (0 tai 1 x: lle tai y: lle) ja skaalaa analogisen tuloalueen välille 0 - */

int readAxis (int thisAxis) {

// lue analogitulo: int reading = analogRead (thisAxis);

// kartoitetaan lukema analogiselta tuloalueelta lähtöalueelle:

luku = kartta (lukeminen, 0, 1023, 0, kohdistimen nopeus);

// jos lähdön lukema on

// lepoasennon kynnys, käytä sitä: int distance = reading - center;

jos (abs (etäisyys) <kynnys) {etäisyys = 0; }

// palauttaa tämän akselin etäisyyden:

paluumatka; }

Vaihe 3: Prototyypin asennus

Prototyypin asennus
Prototyypin asennus
Prototyypin asennus
Prototyypin asennus
Prototyypin asennus
Prototyypin asennus

Ensimmäinen askel on ompele tarranauha käsineeseen, sinun on ommeltava neljä tarranauhaa yksi kumpaankin sormeen. Ompelimme tarranauhan pehmeän osan.

Jokaisessa painikkeessa on kaksi johtoa, joista toinen alkaa vastaavista nastoista ja kytkeytyy painikkeen positiiviseen osaan ja toinen negatiiviseen. Negatiivisen johdon toisessa päässä juotamme jokaisen painikkeen vastukset plus ohjaussauvan negatiivisen johdon viimeiseen lankaan, joka yhdistää Arduino -kortin GND: hen. Sama rinnakkaisliitäntä toimii positiivisella puolella. (3 painiketta ja ohjaussauvan positiivinen jalka)

Jumppausten juottamisen jälkeen asetamme kovat tarranauhat päälle, jotta johdot jäävät väliin. Lopuksi liimasimme joystick-moduulin 3D-tulostettuun kappaleeseen. Alta löydät. STL -tiedoston.

Vaihe 4: Aloita kätesi käyttö hiirellä

Image
Image
Aloita kätesi käyttö hiirellä!
Aloita kätesi käyttö hiirellä!
Aloita kätesi käyttö hiirellä!
Aloita kätesi käyttö hiirellä!

Äänestä meitä Assistive Tech Contestissa, jos pidit projektista.

Suositeltava: