INHOUDSOPGAWE:
- Voorrade
- Stap 1: Stel die hardeware op
- Stap 2: Laai die kode op en toets
- Stap 3: Monteer die prototipe
- Stap 4: Begin om u hand as 'n muis te gebruik
Video: Cyborg -rekenaarmuis: 4 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Baie studies dui daarop dat die houding van die gebruik van 'n konvensionele rekenaarmuis gevaarlik kan wees. Die muis is 'n standaard toerusting. Rekenaargebruikers gebruik die muis amper drie keer soveel as die sleutelbord. Aangesien die blootstellingsyfers hoog is, is dit baie belangrik om die postuur van die boonste ledemate te verbeter terwyl u 'n rekenaarmuis gebruik.
Vir hierdie abstrakte projek maak ons 'n draagbare waarmee mense deur 'n rekenaarskerm kan beweeg sonder dat eksterne tegnologie nodig is. Op hierdie manier kan ons die hande se natuurlike bewegings gebruik in plaas daarvan om op 'n toestel op 'n horisontale oppervlak te klik. Hiermee kan u ook skerms terwyl u staan, gebruik, wat mondelinge aanbiedings aangenamer maak.
Wat die prototipe betref, gebruik die indeks as 'n joystick, die middelvinger vir links klik, ringvinger vir regsklik en die pinkie om die toestel aan en uit te skakel. Die duim sal dien as die oppervlak waar die knoppies ingedruk word. Dit alles word in 'n handskoen gevoeg.
Voorrade
- (x1) Arduino Leonardo
- (x1) Protoboard
- (x1) Joystick -module
- (x3) Drukknop
- (x20 ±) Draadspringers
- (x3) Weerstande van 1KΩ
- (x1) Naadstel vir handskoene
- Velcro warm silikoon
- Draad soldeer kit
- 3D gedrukte deel
Stap 1: Stel die hardeware op
Ons het 'n Fritzing -skets ingesluit vir 'n beter begrip van die ontwerp. Ons beveel aan dat u die komponente eers op 'n protobord monteer. Op hierdie manier kan u seker maak dat alles werk voordat u soldeer.
Stap 2: Laai die kode op en toets
Nadat die verbindings gemaak is, koppel die USB A (M) aan die mikro -USB B (M) van die rekenaar na die Arduino Leonardo en laai die skets op. Kopieer, verander en verbeter die skets.
WAARSKUWING: As u die opdrag Mouse.move () gebruik, neem die Arduino u muis oor! Maak seker dat u beheer het voordat u die opdrag gebruik. Dit werk slegs vir Arduino Leonardo, Micro of Due
Hier is ons kode vir hierdie projek:
// Definieer penne#sluit in; const int mouseMiddleButton = 2; // invoerpen vir die muis se middelste knoppie const int startEmulation = 3; // skakel om muisemulasie const int mouseLeftButton = 4 aan en af te skakel; // invoerpen vir die muis links Knoppie const int mouseRightButton = 5; // invoerpen vir die regter muis Knoppie const int joystickX = A1; // joystick X -as const int joystickY = A0; // joystick Y -as
// parameters vir die lees van die joystick:
int cursorSpeed = 10; // uitsetsnelheid van X of Y beweging int responseDelay = 5; // reaksie vertraging van die muis, in ms int drempel = cursorSpeed / 4; // rusdrempel int sentrum = cursorSpeed / 2; // rusposisie waarde int mouseMiddleState = 0;
boolean mouseIsActive = false; // of die muis beheer moet word al dan nie
int lastSwitchState = LAAG; // vorige skakelstatus
ongeldige opstelling () {
pinMode (startEmulation, INPUT); // die skakelaar pinMode (mouseMiddleButton, INPUT); // die middelste muisknoppie pinMode (mouseLeftButton, INPUT); // die pen van die muisknop aan die linkerkant pinMode (mouseRightButton, INPUT); // die pen met die regter muisknop
Muis.begin (); // neem beheer oor die muis
}
leemte -lus () {
// lees die skakelaar: int switchState = digitalRead (startEmulation);
// as dit verander en hoog is, skakel die muisstatus:
if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}
// stoor die skakelaarstatus vir die volgende lus:
lastSwitchState = switchState;
// lees en skaal die twee asse:
int xReading = readAxis (A1); int yReading = readAxis (A0);
// as die muisbeheerstatus aktief is, beweeg die muis:
if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, rol muiswiel)}
// LINKS
// lees die muisknop en klik of klik nie: // as die muisknop ingedruk word: if (digitalRead (mouseLeftButton) == HOOG) {// as die muis nie ingedruk word nie, druk dit: as (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); vertraging (100); // vertraag om enkel- en dubbelklik op Mouse.release (MOUSE_LEFT) moontlik te maak; }}
// anders word die muisknop nie ingedruk nie:
anders {// as die muis ingedruk word, laat dit los: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}
// REGS
// lees die muisknop en klik of klik nie: // as die muisknop ingedruk word: as (digitalRead (mouseRightButton) == HOOG) {// as die muis nie ingedruk word nie, druk dit: as (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); vertraging (100); // vertraag om enkel- en dubbelkliek op Mouse.release (MOUSE_RIGHT) moontlik te maak; }}
// anders word die muisknop nie ingedruk nie:
anders {// as die muis ingedruk word, laat dit los: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}
// MIDDEL
// lees die muisknop en klik of klik nie: // as die muisknop ingedruk word: as (digitalRead (mouseMiddleButton) == HOOG) {// as die muis nie ingedruk word nie, druk dit: as (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}
// anders word die muisknop nie ingedruk nie:
anders {// as die muis ingedruk word, laat dit los: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}
vertraging (responseDelay);
}
/*
lees 'n as (0 of 1 vir x of y) en skaal die analoog invoerbereik tot 'n reeks van 0 tot */
int readAxis (int thisAxis) {
// lees die analoog insette: int lees = analogRead (thisAxis);
// karteer die lesing van die analoog invoerbereik na die uitsetbereik:
lees = kaart (lees, 0, 1023, 0, cursorSpeed);
// as die uitsetlesing buite die
// rusposisie drempel, gebruik dit: int afstand = lees - sentrum;
as (abs (afstand) <drempel) {afstand = 0; }
// gee die afstand vir hierdie as terug:
terugkeer afstand; }
Stap 3: Monteer die prototipe
Die eerste stap is om die klittenband aan die handskoen vas te werk; u moet vier stroke klittenband aan elke vinger vaswerk. Ons het die sagte deel van die klittenband vasgewerk.
Elke drukknop het twee drade, een wat by die onderskeie penne begin en aansluit by die positiewe been van die knoppie en 'n ander op die negatiewe been. Aan die ander kant van die negatiewe draad soldeer ons die weerstande van elke knoppie plus die negatiewe draad van die joystick tot 'n laaste draad, wat aansluit by die GND van die Arduino -bord. Dieselfde parallelle verbinding werk vir die positiewe kant. (3 knoppies en joystick positiewe been)
Na die soldeer van die springers trek ons die harde klittenbandstroke aan, sodat die drade tussenin vassteek. Laastens het ons die joystick-module termo-vasgeplak op 'n 3D-gedrukte stuk. Hieronder vind u die. STL -lêer.
Stap 4: Begin om u hand as 'n muis te gebruik
Stem vir ons in die Assistive Tech Contest as u van die projek hou.
Aanbeveel:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer
Cyborg Zombie Evolution: 9 stappe (met foto's)
Cyborg Zombie Evolution: Dit is alombekend, van die ouderdom van stoom tot die ouderdom van steampunk … of dit tegelykertyd cool, grillerig, oulik of al drie is, om elektrisiteit lewendig te maak. In die geval van hierdie cyborg -zombie as 'n enkele galvaniese sel, bekend as 'n & q