Obsah:

Počítačová myš Cyborg: 4 kroky (s obrázkami)
Počítačová myš Cyborg: 4 kroky (s obrázkami)

Video: Počítačová myš Cyborg: 4 kroky (s obrázkami)

Video: Počítačová myš Cyborg: 4 kroky (s obrázkami)
Video: ANDROID MÁ JEDNO SKRYTÉ NASTAVENÍ 🤖 2024, November
Anonim
Počítačová myš Cyborg
Počítačová myš Cyborg

Mnoho štúdií naznačuje, že používanie konvenčnej počítačovej myši môže byť nebezpečné. Myš je štandardným kusom počítačového vybavenia. Používatelia počítačov používajú myš takmer trikrát častejšie ako klávesnicu. Pretože sú miery expozície vysoké, je veľmi dôležité zlepšiť držanie hornej končatiny pri práci s počítačovou myšou.

Pre tento abstraktný projekt vytvoríme nositeľné zariadenie, ktoré umožní ľuďom pohybovať sa cez obrazovku počítača bez potreby externej technológie. Mohli by sme tak použiť prirodzené pohyby rúk namiesto klikania na zariadenie na vodorovnom povrchu. To tiež umožňuje používať obrazovky v stoji, takže ústne prezentácie sú príjemnejšie.

Pokiaľ ide o prototyp, bude používať index ako joystick, prostredník na klikanie ľavým tlačidlom, prstenník na klikanie pravým tlačidlom a pinky na zapínanie a vypínanie zariadenia. Palec bude pôsobiť ako povrch, na ktorom sa tlačia tlačidlá. To všetko bude pridané do rukavice.

Zásoby

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Modul joysticku
  • (x3) tlačidlo
  • (x20 ±) Drátené prepojky
  • (x3) Rezistory 1KΩ
  • (x1) Súprava na šitie rukavíc
  • Silikón za tepla na suchý zips
  • Súprava na spájkovanie drôtom
  • 3D tlačená časť

Krok 1: Nastavte hardvér

Nastavte hardvér
Nastavte hardvér

Aby sme lepšie porozumeli dizajnu, zaradili sme Fritzingov skicu. Odporúčame najskôr namontovať komponenty na protoboard. Tak budete môcť pred spájkovaním skontrolovať, či všetko funguje.

Krok 2: Nahrajte kód a otestujte ho

Po vytvorení pripojení pripojte USB A (M) k micro USB B (M) z počítača k Arduino Leonardo a nahrajte náčrt. Nebojte sa náčrt kopírovať, upravovať a vylepšovať.

UPOZORNENIE: Keď použijete príkaz Mouse.move (), Arduino prevezme vašu myš! Pred použitím príkazu sa uistite, že máte kontrolu. Funguje to iba pre Arduino Leonardo, Micro alebo Due

Tu je náš kód pre tento projekt:

// Definovanie pinov#include; const int mouseMiddleButton = 2; // vstupný pin pre stred myši Tlačidlo const int startEmulation = 3; // prepnutie na zapnutie a vypnutie emulácie myši const int mouseLeftButton = 4; // vstupný pin pre myš vľavo Tlačidlo const int mouseRightButton = 5; // vstupný pin pre myš vpravo Tlačidlo const int joystickX = A1; // joystick osi X const int joystickY = A0; // joystick os Y

// parametre na čítanie joysticku:

int cursorSpeed = 10; // výstupná rýchlosť pohybu X alebo Y int responseDelay = 5; // oneskorenie odozvy myši, v ms int prahová hodnota = cursorSpeed / 4; // prahová hodnota pokoja int center = cursorSpeed / 2; // hodnota kľudovej polohy int mouseMiddleState = 0;

boolean mouseIsActive = false; // či ovládať alebo nie ovládať myš

int lastSwitchState = LOW; // predchádzajúci stav prepnutia

neplatné nastavenie () {

pinMode (startEmulation, INPUT); // prepínací pin pinMode (mouseMiddleButton, INPUT); // stredný pin tlačidla myši pin pinMode (mouseLeftButton, INPUT); // pin pin ľavého tlačidla myši pinMode (mouseRightButton, INPUT); // špendlík pravého tlačidla myši

Mouse.begin (); // prevezmite kontrolu nad myšou

}

prázdna slučka () {

// prečítajte prepínač: int switchState = digitalRead (startEmulation);

// ak je zmenený a je vysoký, prepnite stav myši:

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

// uloženie stavu prepínača pre ďalšiu slučku:

lastSwitchState = switchState;

// prečítajte a upravte mierku dvoch osí:

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

// ak je aktívny stav ovládania myšou, presuňte myš:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, rolovacie koliesko myši)}

// VĽAVO

// prečítajte si tlačidlo myši a kliknite alebo neklikajte: // ak je tlačidlo myši stlačené: if (digitalRead (mouseLeftButton) == HIGH) {// ak myš nestlačíte, stlačte ho: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); oneskorenie (100); // oneskorenie, ktoré umožní jedno a dvojité kliknutie Mouse.release (MOUSE_LEFT); }}

// inak nie je stlačené tlačidlo myši:

else {// ak je myš stlačená, pustite ju: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

//SPRÁVNY

// prečítajte si tlačidlo myši a kliknite alebo neklikajte: // ak je tlačidlo myši stlačené: if (digitalRead (mouseRightButton) == HIGH) {// ak myš nestlačíte, stlačte ho: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); oneskorenie (100); // oneskorenie, aby sa povolilo jedno a dvojité kliknutie Mouse.release (MOUSE_RIGHT); }}

// inak nie je stlačené tlačidlo myši:

else {// ak je myš stlačená, pusti ju: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

// STRED

// prečítajte si tlačidlo myši a kliknite alebo neklikajte: // ak je tlačidlo myši stlačené: if (digitalRead (mouseMiddleButton) == HIGH) {// ak myš nestlačíte, stlačte ho: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // aktualita el estado del botón}}

// inak nie je stlačené tlačidlo myši:

else {// ak je myš stlačená, pustite ju: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

oneskorenie (responseDelay);

}

/*

načíta os (0 alebo 1 pre x alebo y) a zmení rozsah analógového vstupu na rozsah od 0 do */

int readAxis (int thisAxis) {

// prečítajte analógový vstup: int reading = analogRead (thisAxis);

// mapovanie čítania z analógového vstupného rozsahu do výstupného rozsahu:

čítanie = mapa (čítanie, 0, 1023, 0, cursorSpeed);

// ak je výstupné čítanie mimo súboru

// prah pokojovej polohy, použite ho: int vzdialenosť = čítanie - stred;

if (abs (vzdialenosť) <prah) {vzdialenosť = 0; }

// vráťte vzdialenosť pre túto os:

vzdialenosť návratu; }

Krok 3: Montáž prototypu

Montáž prototypu
Montáž prototypu
Montáž prototypu
Montáž prototypu
Montáž prototypu
Montáž prototypu

Prvým krokom je prišitie suchého zipsu na rukavicu, na každý prst musíte prišiť štyri pásy suchého zipsu. Ušili sme mäkkú časť suchého zipsu.

Každé tlačidlo má dva vodiče, jeden začína na príslušných kolíkoch a pripája sa k kladnému ramenu tlačidla a druhý k zápornému kolíku. Na druhý koniec záporného vodiča spájkujeme odpory každého tlačidla plus záporný vodič joysticku k poslednému vodiču, ktorý sa pripája k GND dosky Arduino. Rovnaké paralelné pripojenie funguje pre pozitívnu stranu. (3 tlačidlá a kladná noha joysticku)

Po spájkovaní prepojok navlečieme tvrdé pásy na suchý zips, aby sa drôty medzi nimi zasekli. Nakoniec sme modul joysticku termolepili na 3D tlačený kus. Nižšie nájdete súbor. STL.

Krok 4: Začnite používať ruku ako myš

Image
Image
Začnite používať ruku ako myš!
Začnite používať ruku ako myš!
Začnite používať ruku ako myš!
Začnite používať ruku ako myš!

Hlasujte za nás v Assistive Tech Contest, ak sa vám projekt páčil.

Odporúča: