Kazalo:

Računalniška miška Cyborg: 4 koraki (s slikami)
Računalniška miška Cyborg: 4 koraki (s slikami)

Video: Računalniška miška Cyborg: 4 koraki (s slikami)

Video: Računalniška miška Cyborg: 4 koraki (s slikami)
Video: Как отказ от порно спасёт твой мозг 2024, November
Anonim
Računalniška miška Cyborg
Računalniška miška Cyborg

Številne študije kažejo, da je drža običajne računalniške miške lahko nevarna. Miška je standardni kos računalniške opreme. Uporabniki računalnikov uporabljajo miško skoraj trikrat toliko kot tipkovnico. Ker so stopnje izpostavljenosti visoke, je izboljšanje drže zgornjih okončin med uporabo računalniške miške zelo pomembno.

Za ta abstraktni projekt bomo izdelali nosilo, ki bo ljudem omogočalo premikanje po računalniškem zaslonu brez potrebe po zunanji tehnologiji. Tako bi lahko z rokami uporabljali naravne gibe, namesto da bi kliknili napravo na vodoravni površini. To omogoča tudi uporabo zaslonov stoje, zaradi česar so ustne predstavitve prijetnejše.

Kar zadeva prototip, bo indeks uporabljal kot krmilno palčko, srednji prst za levi klik, prstan za desni klik in roza za vklop in izklop naprave. Palec bo deloval kot površina, na kateri pritisnete gumbe. Vse to bo dodano v rokavico.

Zaloge

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Modul krmilne ročice
  • (x3) Gumb
  • (x20 ±) Žični mostički
  • (x3) Upori 1KΩ
  • (x1) Komplet za šivanje rokavic
  • Velcro vroči silikon
  • Komplet za spajkanje žice
  • 3D natisnjeni del

1. korak: Nastavite strojno opremo

Nastavite strojno opremo
Nastavite strojno opremo

Za boljše razumevanje zasnove smo vključili skico Fritzing. Priporočamo, da komponente najprej namestite na protoboard. Tako lahko pred spajkanjem preverite, ali vse deluje.

2. korak: Naložite kodo in preizkusite

Ko so povezave vzpostavljene, priključite USB A (M) na mikro USB B (M) iz računalnika v Arduino Leonardo in naložite skico. Skico lahko kopirate, spreminjate in izboljšujete.

OPOZORILO: Ko uporabite ukaz Mouse.move (), Arduino prevzame vašo miško! Pred uporabo ukaza se prepričajte, da imate nadzor. Deluje samo za Arduino Leonardo, Micro ali Due

Tu je naša koda za ta projekt:

// Definiraj nožice#include; const int mouseMiddleButton = 2; // vhodni pin za sredino miške Button const int startEmulation = 3; // preklop za vklop in izklop emulacije miške const int mouseLeftButton = 4; // vhodni pin za miško levo Button const int mouseRightButton = 5; // vhodni pin za miško desno Gumb const int joystickX = A1; // krmilna palica osi X const int krmilna palicaY = A0; // krmilna palica os Y

// parametri za branje krmilne palice:

int cursorSpeed = 10; // izhodna hitrost gibanja X ali Y int responseDelay = 5; // odziv miške, v ms int prag = cursorSpeed / 4; // prag mirovanja int center = cursorSpeed / 2; // vrednost položaja v mirovanju int mouseMiddleState = 0;

boolean mouseIsActive = false; // ali naj upravljamo miško ali ne

int lastSwitchState = NIZKO; // prejšnje stanje stikala

void setup () {

pinMode (startEmulation, INPUT); // stikalni pin pinMode (mouseMiddleButton, INPUT); // pin pin mode srednjega gumba miške (mouseLeftButton, INPUT); // pin pin Mode leve tipke miške (mouseRightButton, INPUT); // desni gumb miške

Mouse.begin (); // prevzame nadzor nad miško

}

void loop () {

// preberite stikalo: int switchState = digitalRead (startEmulation);

// če je spremenjeno in je visoko, preklopite stanje miške:

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

// shrani stanje stikala za naslednjo zanko:

lastSwitchState = switchState;

// beremo in merimo dve osi:

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

// če je stanje miške aktivno, premaknite miško:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, pomikanje kolesca miške)}

// LEVO

// preberemo gumb miške in kliknemo ali ne kliknemo: // če pritisnemo gumb miške: if (digitalRead (mouseLeftButton) == HIGH) {// če miška ni pritisnjena, jo pritisnemo: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); zamuda (100); // zakasnitev za omogočanje enojnega in dvokliknite Mouse.release (MOUSE_LEFT); }}

// drugače gumb miške ni pritisnjen:

else {// če je miška pritisnjena, jo spustite: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

//PRAV

// preberite gumb miške in kliknite ali ne kliknite: // če pritisnete gumb miške: if (digitalRead (mouseRightButton) == HIGH) {// če miška ni pritisnjena, pritisnite: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); zamuda (100); // zakasnitev za omogočanje enojnega in dvojnega klika na Mouse.release (MOUSE_RIGHT); }}

// drugače gumb miške ni pritisnjen:

else {// če je miška pritisnjena, jo spustite: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

// SREDNJI

// preberemo gumb miške in kliknemo ali ne kliknemo: // če pritisnemo gumb miške: if (digitalRead (mouseMiddleButton) == HIGH) {// če miška ni pritisnjena, jo pritisnemo: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // aktualizacija el estado del botón}}

// drugače gumb miške ni pritisnjen:

else {// če je miška pritisnjena, jo spustite: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

zamuda (responseDelay);

}

/*

bere os (0 ali 1 za x ali y) in poveča obseg analognega vhoda na območje od 0 do */

int readAxis (int thisAxis) {

// beremo analogni vhod: int reading = analogRead (thisAxis);

// preslikava odčitke iz analognega vhodnega območja v izhodno območje:

branje = zemljevid (branje, 0, 1023, 0, cursorSpeed);

// če je izhodni odčitek zunaj

// prag položaja mirovanja, ga uporabite: int distance = branje - center;

if (abs (razdalja) <prag) {distance = 0; }

// vrnemo razdaljo za to os:

povratna razdalja; }

3. korak: Namestitev prototipa

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

Prvi korak je, da velcro prišijete na rokavico, na vsak prst morate prišiti štiri trakove velcro. Mekani del velcro smo sešili.

Vsak gumb ima dve žici, eno, ki se začne pri ustreznih nožicah in se poveže s pozitivno nogo gumba, drugo pa na negativno nogo. Na drugem koncu negativne žice spajamo upornosti vsakega gumba skupaj z negativno žico krmilne palice na zadnjo žico, ki se poveže z GND plošče Arduino. Ista vzporedna povezava deluje na pozitivni strani. (3 gumbi in pozitivna noga krmilne palice)

Po spajkanju skakalcev si nataknemo trde velcro trakove, da se žice vmes zataknejo. Nazadnje smo termo lepljeni modul igralne palice na 3D natisnjen kos. Spodaj najdete datoteko. STL.

4. korak: Začnite uporabljati roko kot miško

Image
Image
Začnite uporabljati roko kot miško!
Začnite uporabljati roko kot miško!
Začnite uporabljati roko kot miško!
Začnite uporabljati roko kot miško!

Glasujte za nas na tekmovanju Assistive Tech Contest, če vam je bil projekt všeč.

Priporočena: