Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Asenna laitteisto
- Vaihe 2: Lataa koodi ja testi
- Vaihe 3: Prototyypin asennus
- Vaihe 4: Aloita kätesi käyttö hiirellä
Video: Cyborg -tietokonehiiri: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Monet tutkimukset viittaavat siihen, että tavanomaisen tietokonehiiren käytön asento voi olla vaarallinen. Hiiri on vakio tietokonelaite. Tietokoneen käyttäjät käyttävät hiirtä lähes kolme kertaa enemmän kuin näppäimistöä. Koska altistumisnopeudet ovat korkeat, yläraajojen asennon parantaminen tietokoneen hiiren käytön aikana on erittäin tärkeää.
Tätä abstraktia projektia varten teemme pukun, jonka avulla ihmiset voivat liikkua tietokoneen näytön läpi ilman ulkoista tekniikkaa. Näin voimme käyttää käsien luonnollisia liikkeitä sen sijaan, että napsauttaisimme laitetta vaakasuoralle pinnalle. Tämä mahdollistaa myös näyttöjen käytön seisoessaan, mikä tekee suullisista esityksistä miellyttävämpiä.
Mitä tulee prototyyppiin, se käyttää hakemistoa ohjaussauvana, keskisormi vasemmanpuoleiselle napsautukselle, rengassormi oikealle napsautukselle ja vaaleanpunainen laitteen kytkemiselle päälle ja pois päältä. Peukalo toimii pintana, jossa painikkeita painetaan. Kaikki lisätään käsineeseen.
Tarvikkeet
- (x1) Arduino Leonardo
- (x1) Protoboard
- (x1) Joystick -moduuli
- (x3) Painike
- (x20 ±) Lankahyppyjohdot
- (x3) 1 KΩ: n vastukset
- (x1) Käsineiden ompelusarja
- Velcro Hot silikoni
- Johtosarja
- 3D -painettu osa
Vaihe 1: Asenna laitteisto
Olemme lisänneet Fritzing -luonnoksen suunnittelun ymmärtämiseksi paremmin. Suosittelemme komponenttien asentamista ensin protoboardiin. Näin voit tarkistaa, että kaikki toimii ennen juottamista.
Vaihe 2: Lataa koodi ja testi
Kun liitännät on tehty, liitä USB A (M) mikro -USB B (M) -laitteeseen tietokoneesta Arduino Leonardo -laitteeseen ja lataa luonnos. Voit vapaasti kopioida, muokata ja parantaa luonnosta.
VAROITUS: Kun käytät Mouse.move () -komentoa, Arduino ottaa hiiren haltuunsa! Varmista, että hallitset ohjausta ennen komennon käyttöä. Se toimii vain Arduino Leonardo-, Micro- tai Due -laitteille
Tässä on koodimme tälle projektille:
// Määritä nastat#include; const int mouseMiddleButton = 2; // hiiren keskitulonappi Painike const int startEmulation = 3; // kytke päälle ja pois päältä hiiren emulointi const int mouseLeftButton = 4; // hiiren vasen syöttötappi Button const int mouseRightButton = 5; // hiiren syöttötappi Oikea painike const int joystickX = A1; // joystick X -akseli const int joystickY = A0; // ohjaussauvan Y -akseli
// parametrit ohjaussauvan lukemiseen:
int cursorSpeed = 10; // X- tai Y -liikkeen lähtönopeus int responseDelay = 5; // hiiren vastausviive, ms int kynnys = cursorSpeed / 4; // lepokynnys int center = cursorSpeed / 2; // lepoasennon arvo int mouseMiddleState = 0;
boolean mouseIsActive = epätosi; // hallitaanko hiirtä vai ei
int lastSwitchState = LOW; // edellinen kytkimen tila
void setup () {
pinMode (startEmulation, INPUT); // kytkintappi pinMode (mouseMiddleButton, INPUT); // hiiren keskimmäisen painikkeen pin pinMode (mouseLeftButton, INPUT); // hiiren vasen painike pin pinMode (mouseRightButton, INPUT); // hiiren oikean painikkeen nasta
Hiiri.begin (); // hallitse hiirtä
}
void loop () {
// lukea kytkin: int switchState = digitalRead (startEmulation);
// jos se on muuttunut ja se on korkea, vaihda hiiren tilaa:
if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}
// tallenna kytkimen tila seuraavaa silmukkaa varten:
lastSwitchState = kytkintila;
// lukea ja skaalata kaksi akselia:
int xLukeminen = lukuAkseli (A1); int yLukeminen = readAxis (A0);
// jos hiiren ohjaustila on aktiivinen, siirrä hiirtä:
if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, vieritä hiiren rullaa)}
// VASEN
// lue hiiren painike ja napsauta tai älä napsauta: // jos hiiren painiketta painetaan: if (digitalRead (mouseLeftButton) == HIGH) {// jos hiirtä ei paineta, paina sitä: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); viive (100); // viive yhden ja kaksoisnapsautuksen ottamiseksi käyttöön Hiiri. vapauta (MOUSE_LEFT); }}
// muuten hiiren painiketta ei paineta:
else {// jos hiirtä painetaan, vapauta se: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}
// OIKEA
// lue hiiren painike ja napsauta tai älä napsauta: // jos hiiren painiketta painetaan: if (digitalRead (mouseRightButton) == HIGH) {// jos hiirtä ei paineta, paina sitä: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); viive (100); // viive yhden ja kaksoisnapsautuksen ottamiseksi käyttöön Hiiri. vapauta (MOUSE_RIGHT); }}
// muuten hiiren painiketta ei paineta:
else {// jos hiirtä painetaan, vapauta se: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}
// KESKI
// lue hiiren painike ja napsauta tai älä napsauta: // jos hiiren painiketta painetaan: if (digitalRead (mouseMiddleButton) == HIGH) {// jos hiirtä ei paineta, paina sitä: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // todellinen el estado del botón}}
// muuten hiiren painiketta ei paineta:
else {// jos hiirtä painetaan, vapauta se: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}
viive (responseDelay);
}
/*
lukee akselin (0 tai 1 x: lle tai y: lle) ja skaalaa analogisen tuloalueen välille 0 - */
int readAxis (int thisAxis) {
// lue analogitulo: int reading = analogRead (thisAxis);
// kartoitetaan lukema analogiselta tuloalueelta lähtöalueelle:
luku = kartta (lukeminen, 0, 1023, 0, kohdistimen nopeus);
// jos lähdön lukema on
// lepoasennon kynnys, käytä sitä: int distance = reading - center;
jos (abs (etäisyys) <kynnys) {etäisyys = 0; }
// palauttaa tämän akselin etäisyyden:
paluumatka; }
Vaihe 3: Prototyypin asennus
Ensimmäinen askel on ompele tarranauha käsineeseen, sinun on ommeltava neljä tarranauhaa yksi kumpaankin sormeen. Ompelimme tarranauhan pehmeän osan.
Jokaisessa painikkeessa on kaksi johtoa, joista toinen alkaa vastaavista nastoista ja kytkeytyy painikkeen positiiviseen osaan ja toinen negatiiviseen. Negatiivisen johdon toisessa päässä juotamme jokaisen painikkeen vastukset plus ohjaussauvan negatiivisen johdon viimeiseen lankaan, joka yhdistää Arduino -kortin GND: hen. Sama rinnakkaisliitäntä toimii positiivisella puolella. (3 painiketta ja ohjaussauvan positiivinen jalka)
Jumppausten juottamisen jälkeen asetamme kovat tarranauhat päälle, jotta johdot jäävät väliin. Lopuksi liimasimme joystick-moduulin 3D-tulostettuun kappaleeseen. Alta löydät. STL -tiedoston.
Vaihe 4: Aloita kätesi käyttö hiirellä
Äänestä meitä Assistive Tech Contestissa, jos pidit projektista.
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Ambivert Cyborg: 9 vaihetta
Ambivert Cyborg: // Emi Shiraishin, Miro Bannwartin ja Naomi Tashiron projekti // Ideamme tähän projektiin oli robotti, joka pitää ihmisistä, mutta pelkää päästä liian lähelle heitä ja juoksee karkuun. Tästä käyttäytymisestä päätimme antaa sille nimen Ambivert Cyborg
Cyborg Zombie Evolution: 9 askelta (kuvilla)
Cyborg Zombie Evolution: Se tunnetaan höyryn aikakaudesta steampunkin aikakauteen … olipa se sitten viileää, kammottavaa, söpöä tai kaikki kolme samanaikaisesti, olennon herättäminen eloon vie sähköä. Tässä kyborgin zombissa yksittäinen galvaaninen kenno, joka tunnetaan nimellä a & q