Tartalomjegyzék:

Cyborg számítógépes egér: 4 lépés (képekkel)
Cyborg számítógépes egér: 4 lépés (képekkel)

Videó: Cyborg számítógépes egér: 4 lépés (képekkel)

Videó: Cyborg számítógépes egér: 4 lépés (képekkel)
Videó: Megkérdezték ezt a ROBOTOT, hogy hisz-e ISTENBEN 2024, November
Anonim
Cyborg számítógépes egér
Cyborg számítógépes egér

Sok tanulmány szerint a hagyományos számítógépes egér használata veszélyes lehet. Az egér egy szabványos számítógépes berendezés. A számítógép -felhasználók majdnem háromszor annyit használnak, mint a billentyűzet. Mivel az expozíciós arány magas, nagyon fontos a felső végtagok helyzetének javítása számítógépes egér használata közben.

Ehhez az absztrakt projekthez olyan hordható ruhát készítünk, amely lehetővé teszi az emberek számára, hogy külső technológia nélkül mozogjanak a számítógép képernyőjén. Így a kéz természetes mozdulatait használhattuk ahelyett, hogy vízszintes felületre kattintottunk volna. Ez lehetővé teszi a képernyők használatát álló helyzetben is, ami kellemesebbé teszi a szóbeli előadásokat.

Ami a prototípust illeti, az indexet joystickként fogja használni, a középső ujjat a bal kattintáshoz, a gyűrűs ujjat a jobb kattintáshoz, a rózsaszínet pedig a készülék be- és kikapcsolásához. A hüvelykujj lesz a felület, ahol a gombokat megnyomják. Mindezeket kesztyűbe fogják tenni.

Kellékek

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Joystick modul
  • (x3) Nyomógomb
  • (x20 ±) Huzalátkötők
  • (x3) 1KΩ -os ellenállások
  • (x1) Kesztyűvarró készlet
  • Tépőzáras forró szilikon
  • Huzalforrasztó készlet
  • 3D nyomtatott rész

1. lépés: Állítsa be a hardvert

Állítsa be a hardvert
Állítsa be a hardvert

A tervezés jobb megértése érdekében mellékeltünk egy Fritzing vázlatot. Javasoljuk, hogy először szerelje fel az alkatrészeket egy protoboardra. Így a forrasztás előtt ellenőrizheti, hogy minden működik -e.

2. lépés: Töltse fel a kódot és a tesztet

A csatlakoztatás után csatlakoztassa az USB A (M) -et a micro USB B (M) -hez a számítógépről az Arduino Leonardo -hoz, és töltse fel a vázlatot. Nyugodtan másolja, módosítsa és javítsa a vázlatot.

FIGYELEM: A Mouse.move () parancs használatakor az Arduino átveszi az egeret! A parancs használata előtt győződjön meg arról, hogy rendelkezik az irányítással. Csak Arduino Leonardo, Micro vagy Due esetén működik

Íme a projekt kódja:

// Pinek definiálása#include; const int egérKözépButton = 2; // az egér középső bemeneti gombja Gomb const int startEmulation = 3; // kapcsoló az egér emuláció be- és kikapcsolásához const int mouseLeftButton = 4; // az egér bal oldali bemeneti gombja Gomb const int mouseRightButton = 5; // bemeneti gomb az egérhez jobbra Gomb const int joystickX = A1; // joystick X tengely const int joystickY = A0; // joystick Y tengely

// paraméterek a joystick olvasásához:

int cursorSpeed = 10; // X vagy Y mozgás kimeneti sebessége int responseDelay = 5; // az egér válaszkésleltetése, ms -ban int küszöb = cursorSpeed / 4; // nyugalmi küszöb int center = cursorSpeed / 2; // nyugalmi pozíció értéke int mouseMiddleState = 0;

boolean mouseIsActive = hamis; // az egér vezérlése vagy sem

int lastSwitchState = LOW; // előző kapcsolóállapot

void setup () {

pinMode (startEmulation, INPUT); // a kapcsoló tű pinMode (mouseMiddleButton, INPUT); // a középső egérgomb pin pinMode (mouseLeftButton, INPUT); // a bal egérgomb pin pinMode (mouseRightButton, INPUT); // a jobb egérgomb gombja

Egér.kezdet (); // irányítsd az egeret

}

void loop () {

// olvassa el a kapcsolót: int switchState = digitalRead (startEmulation);

// ha megváltozott és magas, kapcsolja be az egér állapotát:

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

// a kapcsoló állapotának mentése a következő ciklushoz:

lastSwitchState = switchState;

// olvassa el és méretezze a két tengelyt:

int xReading = readAxis (A1); int yOlvasás = readAxis (A0);

// ha az egér vezérlő állapota aktív, mozgassa az egeret:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, egér görgetése)}

//BAL

// olvassa el az egérgombot, és kattintson vagy ne kattintson: // ha az egérgombot megnyomják: if (digitalRead (mouseLeftButton) == HIGH) {// ha az egeret nem nyomja meg, nyomja meg: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); késleltetés (100); // késleltetés az egér egér és dupla kattintásának engedélyezéséhez.release (MOUSE_LEFT); }}

// egyébként az egérgomb nincs lenyomva:

else {// ha megnyomja az egeret, engedje el: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

//JOBB

// olvassa el az egérgombot, és kattintson vagy ne kattintson: // ha az egérgombot megnyomják: if (digitalRead (mouseRightButton) == HIGH) {// ha az egeret nem nyomja meg, nyomja meg: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); késleltetés (100); // késleltetés az egér és dupla kattintás engedélyezéséhez. elengedés (MOUSE_RIGHT); }}

// egyébként az egérgomb nincs lenyomva:

else {// ha lenyomja az egeret, engedje el: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

//KÖZÉPSŐ

// olvassa el az egérgombot, és kattintson vagy ne kattintson: // ha az egérgombot megnyomják: if (digitalRead (mouseMiddleButton) == HIGH) {// ha az egér nincs lenyomva, nyomja meg: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); egérKözépállapot = 1; // aktualitás el estado del botón}}

// egyébként az egérgomb nincs lenyomva:

else {// ha lenyomja az egeret, engedje el: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); egérKözépállapot = 0; }}

késleltetés (responseDelay);

}

/*

olvas egy tengelyt (0 vagy 1 x vagy y esetén), és az analóg bemeneti tartományt 0 és */ közötti tartományba skálázza

int readAxis (int thisAxis) {

// az analóg bemenet olvasása: int reading = analogRead (thisAxis);

// az olvasás leképezése az analóg bemeneti tartományból a kimeneti tartományba:

olvasás = térkép (olvasás, 0, 1023, 0, kurzorSpeed);

// ha a kimeneti leolvasás kívül van a

// nyugalmi helyzet küszöbértéke, használja: int távolság = olvasás - center;

if (abs (távolság) <küszöb) {távolság = 0; }

// adja meg ennek a tengelynek a távolságát:

visszatérési távolság; }

3. lépés: A prototípus felszerelése

A prototípus felszerelése
A prototípus felszerelése
A prototípus felszerelése
A prototípus felszerelése
A prototípus felszerelése
A prototípus felszerelése

Az első lépés a tépőzár felvarrása a kesztyűre, minden ujjára négy tépőzárcsíkot kell varrni. Varrtuk a tépőzár puha részét.

Minden nyomógombnak két vezetéke van, az egyik a megfelelő csapoknál kezdődik, és a gomb pozitív lábához csatlakozik, a másik pedig a negatív lábhoz. A negatív vezeték másik végén forrasztjuk az egyes gombok ellenállását és a joystick negatív vezetékét egy utolsó vezetékhez, amely az Arduino kártya GND -jéhez csatlakozik. Ugyanez a párhuzamos kapcsolat működik a pozitív oldalon is. (3 gomb és joystick pozitív láb)

Az áthidalók forrasztása után felhelyezzük a kemény tépőzárat, hogy a huzalok elakadjanak közöttük. Végül a joystick modult egy 3D nyomtatott darabra hőre ragasztottuk. Az alábbiakban megtalálja a. STL fájlt.

4. lépés: Kezdje el használni a kezét egérként

Image
Image
Kezdje el használni a kezét egérként!
Kezdje el használni a kezét egérként!
Kezdje el használni a kezét egérként!
Kezdje el használni a kezét egérként!

Szavazzon ránk a Segítő Technika Versenyen, ha tetszett a projekt.

Ajánlott: