Obsah:

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

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

Video: Počítačová myš Cyborg: 4 kroky (s obrázky)
Video: TOP 10 Počítačové lifehacky, které vám usnadní život 2024, Listopad
Anonim
Počítačová myš Cyborg
Počítačová myš Cyborg

Mnoho studií naznačuje, že používání konvenční počítačové myši může být nebezpečné. Myš je standardní součástí počítačového vybavení. Uživatelé počítačů používají myš téměř třikrát častěji než klávesnici. Jelikož jsou míry expozice vysoké, je velmi důležité zlepšit držení horní končetiny při používání počítačové myši.

Pro tento abstraktní projekt vytvoříme nositelné zařízení, které umožní lidem pohyb po obrazovce počítače bez nutnosti externí technologie. Tímto způsobem bychom mohli použít přirozené pohyby rukou místo klikání zařízení na vodorovnou plochu. To také umožňuje používat obrazovky ve stoje, což činí ústní prezentace příjemnější.

Pokud jde o prototyp, bude používat index jako joystick, prostřední prst pro kliknutí levým tlačítkem, prsteník pro kliknutí pravým tlačítkem a pinky pro zapnutí a vypnutí zařízení. Palec bude fungovat jako plocha, na které se tlačítka mačkají. To vše bude přidáno do rukavice.

Zásoby

  • (x1) Arduino Leonardo
  • (x1) Protoboard
  • (x1) Modul joysticku
  • (x3) Tlačítko
  • (x20 ±) Drátěné propojky
  • (x3) Rezistory 1KΩ
  • (x1) Sada na šití rukavic
  • Silikon na suchý zip
  • Sada pro pájení drátu
  • 3D tištěný díl

Krok 1: Nastavení hardwaru

Nastavte hardware
Nastavte hardware

Pro lepší pochopení návrhu jsme zahrnuli Fritzingovu skicu. Doporučujeme nejprve namontovat součásti na protoboard. Tímto způsobem můžete před pájením zkontrolovat, zda vše funguje.

Krok 2: Nahrajte kód a otestujte

Jakmile jsou připojení provedena, připojte USB A (M) k micro USB B (M) z počítače k Arduino Leonardo a nahrajte skicu. Nebojte se náčrt kopírovat, upravovat a vylepšovat.

UPOZORNĚNÍ: Když použijete příkaz Mouse.move (), Arduino převezme vaši myš! Před použitím příkazu se ujistěte, že máte kontrolu. Funguje pouze pro Arduino Leonardo, Micro nebo Due

Zde je náš kód pro tento projekt:

// Definování pinů#include; const int mouseMiddleButton = 2; // vstupní pin pro prostřední tlačítko myši const int int startEmulation = 3; // přepnutím zapnete a vypnete emulaci myši const int mouseLeftButton = 4; // vstupní pin pro myš vlevo Tlačítko const int mouseRightButton = 5; // vstupní pin pro myš vpravo Tlačítko const int joystickX = A1; // joystick Osa X const int joystickY = A0; // joystick Y osa

// parametry pro čtení joysticku:

int cursorSpeed = 10; // výstupní rychlost pohybu X nebo Y int responseDelay = 5; // zpoždění odezvy myši, v ms int práh = cursorSpeed / 4; // prahová hodnota odpočinku int center = cursorSpeed / 2; // hodnota klidové polohy int mouseMiddleState = 0;

boolean mouseIsActive = false; // zda ovládat nebo ne ovládat myš

int lastSwitchState = LOW; // předchozí stav přepnutí

neplatné nastavení () {

pinMode (startEmulation, INPUT); // přepínač pin pinMode (mouseMiddleButton, INPUT); // pin prostředního tlačítka myši pin pinMode (mouseLeftButton, INPUT); // pin pin levého tlačítka myši pinMode (mouseRightButton, INPUT); // špendlík pravého tlačítka myši

Mouse.begin (); // převzít kontrolu nad myší

}

prázdná smyčka () {

// přečtěte přepínač: int switchState = digitalRead (startEmulation);

// pokud je změněn a je vysoký, přepněte stav myši:

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

// uložení stavu přepínače pro další smyčku:

lastSwitchState = switchState;

// přečtěte a změňte měřítko dvou os:

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

// pokud je aktivní stav ovládání myší, přesuňte myš:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, rolovací kolečko myši)}

//VLEVO, ODJET

// přečtěte si tlačítko myši a klikněte nebo neklikejte: // pokud je tlačítko myši stisknuto: if (digitalRead (mouseLeftButton) == HIGH) {// pokud myš není stisknuto, stiskněte jej: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); zpoždění (100); // zpoždění pro povolení jednoduchého a dvojitého kliknutí Mouse.release (MOUSE_LEFT); }}

// jinak není stisknuto tlačítko myši:

else {// pokud je myš stisknuta, uvolněte ji: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

//ŽE JO

// přečtěte si tlačítko myši a klikněte nebo neklikejte: // pokud je tlačítko myši stisknuto: if (digitalRead (mouseRightButton) == HIGH) {// pokud myš není stisknuto, stiskněte jej: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); zpoždění (100); // zpoždění pro povolení jednoho a dvojitého kliknutí Mouse.release (MOUSE_RIGHT); }}

// jinak není stisknuto tlačítko myši:

else {// pokud je myš stisknutá, uvolněte ji: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

//STŘEDNÍ

// přečtěte si tlačítko myši a klikněte nebo neklikejte: // pokud je tlačítko myši stisknuto: if (digitalRead (mouseMiddleButton) == HIGH) {// pokud myš nestisknete, stiskněte ji: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // aktualita el estado del botón}}

// jinak není stisknuto tlačítko myši:

else {// pokud je myš stisknutá, uvolněte ji: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

zpoždění (responseDelay);

}

/*

čte osu (0 nebo 1 pro x nebo y) a upravuje rozsah analogového vstupu na rozsah od 0 do */

int readAxis (int thisAxis) {

// číst analogový vstup: int reading = analogRead (thisAxis);

// mapování čtení z analogového vstupního rozsahu do výstupního rozsahu:

čtení = mapa (čtení, 0, 1023, 0, rychlost kurzoru);

// pokud je výstupní hodnota mimo

// práh klidové polohy, použijte jej: int vzdálenost = čtení - střed;

if (abs (vzdálenost) <práh) {vzdálenost = 0; }

// návrat vzdálenosti pro tuto osu:

návratová vzdálenost; }

Krok 3: Montáž prototypu

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

Prvním krokem je přišití suchého zipu na rukavici, na každý prst musíte přišít čtyři proužky suchého zipu. Šili jsme měkkou část suchého zipu.

Každé tlačítko má dva vodiče, jeden začíná na příslušných pinech a připojuje se k kladné noze tlačítka a další na negativní noze. Na druhém konci záporného vodiče připájíme odpory každého tlačítka plus záporný vodič joysticku k poslednímu vodiči, který se připojí k GND desky Arduino. Stejné paralelní připojení funguje pro pozitivní stranu. (3 tlačítka a kladná noha joysticku)

Po pájení propojek navlékneme tvrdé pásky na suchý zip, aby se dráty mezi nimi zasekly. Nakonec jsme termolepili modul joysticku na 3D vytištěný kus. Níže naleznete soubor. STL.

Krok 4: Začněte používat ruku jako myš

Image
Image
Začněte používat ruku jako myš!
Začněte používat ruku jako myš!
Začněte používat ruku jako myš!
Začněte používat ruku jako myš!

Hlasujte pro nás v Assistive Tech Contest, pokud se vám projekt líbil.

Doporučuje: