Satura rādītājs:

Cyborg datora pele: 4 soļi (ar attēliem)
Cyborg datora pele: 4 soļi (ar attēliem)

Video: Cyborg datora pele: 4 soļi (ar attēliem)

Video: Cyborg datora pele: 4 soļi (ar attēliem)
Video: Dienasgrāmata, kurā ir šausmīgi noslēpumi. Pāreja. Džeralds Durels. Mistiķis. Šausmas 2024, Novembris
Anonim
Cyborg datora pele
Cyborg datora pele

Daudzi pētījumi liecina, ka parastās datora peles lietošanas poza var būt bīstama. Pele ir standarta datortehnika. Datoru lietotāji peli izmanto gandrīz trīs reizes vairāk nekā tastatūru. Tā kā ekspozīcijas rādītāji ir augsti, ir ļoti svarīgi uzlabot augšējo ekstremitāšu pozu, lietojot datora peli.

Šim abstraktajam projektam mēs izgatavosim valkājamu, kas ļaus cilvēkiem pārvietoties pa datora ekrānu, neizmantojot ārējas tehnoloģijas. Tādā veidā mēs varētu izmantot roku dabiskās kustības, nevis noklikšķināt uz ierīces uz horizontālas virsmas. Tas arī ļauj izmantot ekrānus stāvot, padarot mutiskas prezentācijas patīkamākas.

Attiecībā uz prototipu indeksu izmantos kā kursorsviru, vidējo pirkstu, lai noklikšķinātu pa kreisi, ar gredzenveida pirkstu, lai noklikšķinātu uz labās puses, un rozā, lai ieslēgtu un izslēgtu ierīci. Īkšķis darbosies kā virsma, kur pogas tiek nospiestas. Tas viss tiks pievienots cimdam.

Piegādes

  • (x1) Arduino Leonardo
  • (x1) protobords
  • (x1) kursorsviras modulis
  • (x3) Spiedpoga
  • (x20 ±) Stiepļu džemperi
  • (x3) 1KΩ rezistori
  • (x1) Cimdu šūšanas komplekts
  • Velcro Hot silikons
  • Stiepļu lodēšanas komplekts
  • 3D drukātā daļa

1. darbība: iestatiet aparatūru

Iestatiet aparatūru
Iestatiet aparatūru

Mēs esam iekļāvuši Fritzing skici, lai labāk izprastu dizainu. Mēs iesakām vispirms uzstādīt detaļas uz protoboarda. Tādā veidā jūs varat pārbaudīt, vai viss darbojas pirms lodēšanas.

2. darbība: augšupielādējiet kodu un pārbaudiet

Kad savienojumi ir izveidoti, savienojiet USB A (M) ar mikro USB B (M) no datora uz Arduino Leonardo un augšupielādējiet skici. Jūtieties brīvi kopēt, modificēt un uzlabot skici.

BRĪDINĀJUMS: Lietojot komandu Mouse.move (), Arduino pārņem peli! Pirms komandas izmantošanas pārliecinieties, ka jums ir kontrole. Tas darbojas tikai Arduino Leonardo, Micro vai Due

Šeit ir mūsu kods šim projektam:

// Definēt tapas#include; const int peleMiddleButton = 2; // peles vidējā ievades tapa Poga const int startEmulation = 3; // pārslēgties, lai ieslēgtu un izslēgtu peles emulāciju const int mouseLeftButton = 4; // peles ievades taustiņš pa kreisi Poga const int mouseRightButton = 5; // peles ievades tapa labajā pusē Poga const int kursorsviraX = A1; // kursorsvira X ass const int kursorsviraY = A0; // kursorsviras Y ass

// kursorsviras lasīšanas parametri:

int cursorSpeed = 10; // X vai Y kustības izejas ātrums int responseDelay = 5; // peles atbildes aizkave, ms int slieksnis = cursorSpeed / 4; // atpūtas slieksnis int centrs = cursorSpeed / 2; // atpūtas pozīcijas vērtība int mouseMiddleState = 0;

Būla peleIsActive = false; // vai kontrolēt peli

int lastSwitchState = LOW; // iepriekšējais slēdža stāvoklis

void setup () {

pinMode (startEmulation, INPUT); // slēdža tapa pinMode (mouseMiddleButton, INPUT); // peles vidējās pogas tapa pinMode (mouseLeftButton, INPUT); // peles kreisās pogas tapa pinMode (mouseRightButton, INPUT); // peles labās pogas tapa

Pele.sākt (); // pārņemt kontroli pār peli

}

void loop () {

// lasīt slēdzi: int switchState = digitalRead (startEmulation);

// ja tas ir mainīts un ir augsts, pārslēdziet peles stāvokli:

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

// saglabāt slēdža stāvokli nākamajai cilpai:

lastSwitchState = switchState;

// nolasiet un mērogojiet abas asis:

int xLasīšana = readAxis (A1); int yLasīšana = readAxis (A0);

// ja peles vadības stāvoklis ir aktīvs, pārvietojiet peli:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, ritiniet peles ritenīti)}

// KREISI

// izlasiet peles pogu un noklikšķiniet vai neklikšķiniet: // ja peles poga ir nospiesta: if (digitalRead (mouseLeftButton) == HIGH) {// ja pele nav nospiesta, nospiediet to: if (! Mouse.isPressed (PELE), {PELE] kavēšanās (100); // kavēšanās, lai iespējotu vienu un dubultklikšķi uz Mouse.release (MOUSE_LEFT); }}

// citādi peles poga netiek nospiesta:

else {// ja pele ir nospiesta, atlaidiet to: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

//TAISNĪBA

// izlasiet peles pogu un noklikšķiniet vai neklikšķiniet: // ja peles poga ir nospiesta: if (digitalRead (mouseRightButton) == HIGH) {// ja pele nav nospiesta, nospiediet to: if (! Mouse.isPressed (PELES_RIGHT)) {Mouse.press (MOUSE_RIGHT); kavēšanās (100); // kavēšanās, lai iespējotu vienu un dubultklikšķi uz Mouse.release (MOUSE_RIGHT); }}

// citādi peles poga netiek nospiesta:

else {// ja pele ir nospiesta, atlaidiet to: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

// VIDUS

// izlasiet peles pogu un noklikšķiniet vai neklikšķiniet: // ja peles poga ir nospiesta: if (digitalRead (mouseMiddleButton) == HIGH) {// ja pele nav nospiesta, nospiediet to: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // aktualitāte el estado del botón}}

// citādi peles poga netiek nospiesta:

else {// ja pele ir nospiesta, atlaidiet to: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

kavēšanās (responseDelay);

}

/*

nolasa asi (0 vai 1 x vai y) un mērogo analogās ievades diapazonu līdz diapazonam no 0 līdz */

int readAxis (int thisAxis) {

// lasīt analogo ieeju: int reading = analogRead (thisAxis);

// kartējiet lasījumu no analogās ievades diapazona uz izvades diapazonu:

lasīšana = karte (lasīšana, 0, 1023, 0, cursorSpeed);

// ja izejas rādījums ir ārpus

// atpūtas pozīcijas slieksnis, izmantojiet to: int distance = reading - centre;

ja (abs (attālums) <slieksnis) {distance = 0; }

// atgriež šīs ass attālumu:

atgriešanās attālums; }

3. darbība: prototipa uzstādīšana

Prototipa uzstādīšana
Prototipa uzstādīšana
Prototipa uzstādīšana
Prototipa uzstādīšana
Prototipa uzstādīšana
Prototipa uzstādīšana

Pirmais solis ir šūt velcro pie cimda, katram pirkstam ir jāšuj četras velcro sloksnes. Mēs šuvām velcro mīksto daļu.

Katrai spiedpogai ir divi vadi, viens, kas sākas ar attiecīgajām tapām un savienojas ar pogas pozitīvo kāju, un otrs - uz negatīvās kājas. Negatīvā stieples otrā galā mēs lodējam katras pogas pretestību plus kursorsviras negatīvo vadu līdz pēdējam vadam, kas savienojas ar Arduino plates GND. Tas pats paralēlais savienojums darbojas arī pozitīvajā pusē. (3 pogas un kursorsviru pozitīva kāja)

Pēc džemperu lodēšanas mēs uzliksim cietās velcro sloksnes, lai starp tām iestrēgtu vadi. Visbeidzot, mēs termolīmējām kursorsviras moduli 3D drukātā gabalā. Zemāk varat atrast. STL failu.

4. solis: sāciet lietot roku kā peli

Image
Image
Sāciet lietot roku kā peli!
Sāciet lietot roku kā peli!
Sāciet lietot roku kā peli!
Sāciet lietot roku kā peli!

Balsojiet par mums Palīgtehnikas konkursā, ja jums patika projekts.

Ieteicams: