Sommario:
- Forniture
- Passaggio 1: configurare l'hardware
- Passaggio 2: carica il codice e prova
- Passaggio 3: montaggio del prototipo
- Passaggio 4: inizia a usare la mano come un mouse
Video: Mouse per computer Cyborg: 4 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Molti studi suggeriscono che la postura dell'utilizzo di un mouse per computer convenzionale può essere pericolosa. Il mouse è un componente standard dell'attrezzatura informatica. Gli utenti di computer usano il mouse quasi tre volte più della tastiera. Poiché i tassi di esposizione sono elevati, è molto importante migliorare la postura degli arti superiori durante l'utilizzo del mouse del computer.
Per questo progetto astratto realizzeremo un indossabile che permetta alle persone di muoversi attraverso lo schermo di un computer senza la necessità di tecnologia esterna. In questo modo potremmo usare i movimenti naturali delle mani invece di fare clic su un dispositivo su una superficie orizzontale. Ciò consente anche di utilizzare gli schermi in piedi, rendendo più piacevoli le presentazioni orali.
Per quanto riguarda il prototipo utilizzerà l'indice come joystick, il dito medio per il clic sinistro, l'anulare per il clic destro e il mignolo per accendere e spegnere il dispositivo. Il pollice fungerà da superficie su cui vengono premuti i pulsanti. Tutto ciò sarà aggiunto in un guanto.
Forniture
- (x1) Arduino Leonardo
- (x1) Scheda prototipi
- (x1) Modulo joystick
- (x3) Pulsante
- (x20±) Ponticelli a filo
- (x3) Resistenze da 1KΩ
- (x1) Kit da cucito per guanti
- Velcro Hot silicone
- Kit di saldatura a filo
- Parte stampata in 3D
Passaggio 1: configurare l'hardware
Abbiamo incluso uno schizzo di Fritzing per una migliore comprensione del design. Si consiglia di montare prima i componenti su una scheda prototipi. In questo modo puoi verificare che tutto funzioni prima di saldare.
Passaggio 2: carica il codice e prova
Una volta effettuati i collegamenti, collega l'USB A (M) alla micro USB B (M) dal computer all'Arduino Leonardo e carica lo sketch. Sentiti libero di copiare, modificare e migliorare lo schizzo.
ATTENZIONE: quando usi il comando Mouse.move(), Arduino prende il controllo del tuo mouse! Assicurati di avere il controllo prima di usare il comando. Funziona solo con Arduino Leonardo, Micro o Due
Ecco il nostro codice per questo progetto:
// Definisci i pin#include; const int mouseMiddleButton = 2; // pin di input per il mouse Button centrale const int startEmulation = 3; // switch per attivare e disattivare l'emulazione del mouse const int mouseLeftButton = 4; // pin di input per il mouse Left Button const int mouseRightButton = 5; // pin di input per il mouse Button destro const int joystickX = A1; // joystick asse X const int joystickY = A0; // asse Y del joystick
// parametri per la lettura del joystick:
int velocità cursore = 10; // velocità di uscita del movimento X o Y int responseDelay = 5; // ritardo di risposta del mouse, in ms int soglia = cursorSpeed / 4; // soglia di riposo int center = cursorSpeed / 2; // valore della posizione di riposo int mouseMiddleState = 0;
booleano mouseIsActive = false; // se controllare o meno il mouse
int lastSwitchState = BASSO; // stato dell'interruttore precedente
void setup() {
pinMode(startEmulation, INPUT); // il pin dello switch pinMode(mouseMiddleButton, INPUT); // il pin del pulsante centrale del mouse pinMode(mouseLeftButton, INPUT); // il pin del pulsante sinistro del mouse pinMode(mouseRightButton, INPUT); // la puntina del tasto destro del mouse
Mouse.begin(); // prendi il controllo del mouse
}
ciclo vuoto() {
// legge lo switch: int switchState = digitalRead(startEmulation);
// se è cambiato ed è alto, cambia lo stato del mouse:
if (switchState != lastSwitchState) { if (switchState == LOW) { mouseIsActive = !mouseIsActive; } }
// salva lo stato dell'interruttore per il ciclo successivo:
lastSwitchState = switchState;
// legge e scala i due assi:
int xLettura = readAxis(A1); int yReading = readAxis(A0);
// se lo stato di controllo del mouse è attivo, sposta il mouse:
if (mouseIsActive) { Mouse.move(xReading, yReading, 0); // (x, y, rotellina del mouse) }
//SINISTRA
// leggi il pulsante del mouse e fai clic o meno: // se il pulsante del mouse è premuto: if (digitalRead(mouseLeftButton) == HIGH) { // se il mouse non è premuto, premilo: if (!Mouse.isPressed (MOUSE_LEFT)) { Mouse.press(MOUSE_LEFT); ritardo(100); // ritardo per abilitare il singolo e doppio clic Mouse.release(MOUSE_LEFT); } }
// altrimenti il pulsante del mouse non viene premuto:
else { // se il mouse è premuto, rilascialo: if (Mouse.isPressed(MOUSE_LEFT)) { Mouse.release(MOUSE_LEFT); } }
//GIUSTO
// leggi il pulsante del mouse e fai clic o meno: // se il pulsante del mouse è premuto: if (digitalRead(mouseRightButton) == HIGH) { // se il mouse non è premuto, premilo: if (!Mouse.isPressed (MOUSE_RIGHT)) { Mouse.press(MOUSE_RIGHT); ritardo(100); // ritardo per abilitare il singolo e doppio clic Mouse.release(MOUSE_RIGHT); } }
// altrimenti il pulsante del mouse non viene premuto:
else { // se il mouse è premuto, rilascialo: if (Mouse.isPressed(MOUSE_RIGHT)) { Mouse.release(MOUSE_RIGHT); } }
//MEZZO
// leggi il pulsante del mouse e fai clic o meno: // se il pulsante del mouse è premuto: if (digitalRead(mouseMiddleButton) == HIGH) { // se il mouse non è premuto, premilo: if (!Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) { Mouse.press(MOUSE_MIDDLE); mouseMiddleState = 1; //attualiza lo stato del botón } }
// altrimenti il pulsante del mouse non viene premuto:
else { // se il mouse è premuto, rilascialo: if (Mouse.isPressed(MOUSE_MIDDLE) && mouseMiddleState == 1) { Mouse.release(MOUSE_MIDDLE); mouseMiddleState = 0; } }
ritardo(rispostaDelay);
}
/*
legge un asse (0 o 1 per x o y) e scala l'intervallo dell'ingresso analogico in un intervallo da 0 a */
int readAxis(int thisAxis) {
// legge l'input analogico: int reading = analogRead(thisAxis);
// mappa la lettura dall'intervallo di input analogico all'intervallo di output:
reading = map(reading, 0, 1023, 0, cursorSpeed);
// se la lettura dell'output è al di fuori di
// soglia posizione di riposo, usala: int distanza = lettura - centro;
if (abs(distanza) < soglia) { distanza = 0; }
// restituisce la distanza per questo asse:
distanza di ritorno; }
Passaggio 3: montaggio del prototipo
Il primo passo è cucire il velcro al guanto, devi cucire quattro strisce di velcro una per ogni dito. Abbiamo cucito la parte morbida del velcro.
Ogni pulsante ha due fili, uno che parte dai rispettivi pin e si collega alla gamba positiva del pulsante e un altro sulla gamba negativa. All'altra estremità del filo negativo saldiamo le resistenze di ciascun pulsante più il filo negativo del joystick a un ultimo filo, che si collega al GND della scheda Arduino. Lo stesso collegamento in parallelo funziona per il lato positivo. (3 pulsanti e joystick positivo gamba)
Dopo aver saldato i ponticelli, metteremo le strisce di velcro rigide, in modo che i fili si incastrino nel mezzo. Infine abbiamo termoincollato il modulo joystick su un pezzo stampato in 3D. Di seguito puoi trovare il file. STL.
Passaggio 4: inizia a usare la mano come un mouse
Vota per noi all'Assistive Tech Contest se il progetto ti è piaciuto.
Consigliato:
ParaMouse il mouse del computer per le persone paralizzate: 5 passaggi (con immagini)
ParaMouse il mouse per computer per persone paralizzate: Ciao, in questo tutorial descriverò come costruire un mouse per computer per persone disabili, paralizzate o tetraplegiche. Questo particolare dispositivo è facile da costruire e dal costo molto basso, solo un piccolo cacciavite e un coltello da taglio lo faranno essere più che sufficiente per t
[Mouse indossabile] Controller per mouse indossabile basato su Bluetooth per Windows 10 e Linux: 5 passaggi
[Wearable Mouse] Controller per mouse indossabile basato su Bluetooth per Windows 10 e Linux: ho realizzato un controller per mouse basato su Bluetooth che può essere utilizzato per controllare il puntatore del mouse ed eseguire operazioni relative al mouse del PC al volo, senza toccare alcuna superficie. Il circuito elettronico, incorporato in un guanto, può essere utilizzato per tracciare h
Mouse per computer con guanti intelligenti: 4 passaggi (con immagini)
Un mouse per computer Smart Glove: questo è un "Smart Glove" mouse del computer che può essere utilizzato con qualsiasi PC, Mac o computer Linux. È realizzato utilizzando un adattatore host USB multiprotocollo Binho Nova, che consente di collegare sensori e altri componenti al computer e quindi controllare
Come smontare un computer con semplici passaggi e immagini: 13 passaggi (con immagini)
Come smontare un computer con semplici passaggi e immagini: questa è un'istruzione su come smontare un PC. La maggior parte dei componenti di base sono modulari e facilmente smontabili. Tuttavia è importante che tu sia organizzato al riguardo. Questo ti aiuterà a non perdere parti e anche a rendere più facile il rimontaggio
Mouse per computer a pedale: 7 passaggi (con immagini)
Mouse per computer a pedale: ho integrato le funzioni di un mouse in un poggiapiedi in modo da poter comporre e modificare il testo senza interrompere il filo dei miei pensieri e staccare le mani dalla tastiera per armeggiare con un mouse o una trackball convenzionali. Sono disponibili mouse commerciali a pedale