Table des matières:
- Fournitures
- Étape 1: Configurer le matériel
- Étape 2: Télécharger le code et tester
- Étape 3: Montage du prototype
- Étape 4: commencez à utiliser votre main comme une souris
Vidéo: Souris d'ordinateur Cyborg : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
De nombreuses études suggèrent que la posture d'utilisation d'une souris d'ordinateur conventionnelle peut être dangereuse. La souris est un équipement informatique standard. Les utilisateurs d'ordinateurs utilisent la souris presque trois fois plus que le clavier. Comme les taux d'exposition sont élevés, il est très important d'améliorer la posture des membres supérieurs lors de l'utilisation d'une souris d'ordinateur.
Pour ce projet abstrait, nous allons créer un appareil portable qui permet aux gens de se déplacer sur un écran d'ordinateur sans avoir recours à une technologie externe. De cette façon, nous pourrions utiliser les mouvements naturels des mains au lieu de cliquer sur un appareil sur une surface horizontale. Cela permet également d'utiliser des écrans en position debout, rendant les présentations orales plus agréables.
Quant au prototype, il utilisera l'index comme joystick, le majeur pour le clic gauche, l'annulaire pour le clic droit et le petit doigt pour allumer et éteindre l'appareil. Le pouce agira comme la surface sur laquelle les boutons seront pressés. Tout cela sera ajouté dans un gant.
Fournitures
- (x1) Arduino Leonardo
- (x1) Protoboard
- (x1) Module de manette
- (x3) Bouton poussoir
- (x20±) Cavaliers de fil
- (x3)Résistances de 1KΩ
- (x1) Kit de couture de gants
- Velcro Silicone chaud
- Kit de soudure au fil
- pièce imprimée en 3D
Étape 1: Configurer le matériel
Nous avons inclus un croquis Fritzing pour une meilleure compréhension de la conception. Nous vous recommandons de monter les composants sur un protoboard en premier. De cette façon, vous pouvez vérifier que tout fonctionne avant de souder.
Étape 2: Télécharger le code et tester
Une fois les connexions effectuées, connectez l'USB A (M) au micro USB B (M) de l'ordinateur à l'Arduino Leonardo et téléchargez le croquis. N'hésitez pas à copier, modifier et améliorer le croquis.
ATTENTION: lorsque vous utilisez la commande Mouse.move(), l'Arduino prend le relais de votre souris ! Assurez-vous d'avoir le contrôle avant d'utiliser la commande. Cela ne fonctionne que pour Arduino Leonardo, Micro ou Due
Voici notre code pour ce projet:
// Définir les épingles#include; const int mouseMiddleButton = 2; // broche d'entrée pour le bouton central de la souris const int startEmulation = 3; // basculer pour activer et désactiver l'émulation de souris const int mouseLeftButton = 4; // pin d'entrée pour le bouton gauche de la souris const int mouseRightButton = 5; // pin d'entrée pour la souris right Button const int joystickX = A1; // joystick axe X const int joystickY = A0; // joystick axe Y
// paramètres de lecture du joystick:
int curseurVitesse = 10; // vitesse de sortie du mouvement X ou Y int responseDelay = 5; // délai de réponse de la souris, en ms int seuil = cursorSpeed / 4; // seuil de repos int center = curseurVitesse / 2; // valeur de position de repos int mouseMiddleState = 0;
booléen mouseIsActive = false; // contrôler ou non la souris
int lastSwitchState = LOW; // état précédent du commutateur
void setup() {
pinMode(startEmulation, INPUT); // la broche de commutation pinMode(mouseMiddleButton, INPUT); // la broche du bouton central de la souris pinMode(mouseLeftButton, INPUT); // la broche du bouton gauche de la souris pinMode(mouseRightButton, INPUT); // la broche du bouton droit de la souris
Souris.begin(); // prend le contrôle de la souris
}
boucle vide() {
// lit le commutateur: int switchState = digitalRead(startEmulation);
// s'il est modifié et qu'il est élevé, basculez l'état de la souris:
if (switchState != lastSwitchState) { if (switchState == LOW) { mouseIsActive = !mouseIsActive; } }
// enregistre l'état du commutateur pour la prochaine boucle:
lastSwitchState = switchState;
// lecture et mise à l'échelle des deux axes:
int xLecture = readAxis(A1); int yLecture = readAxis(A0);
// si l'état du contrôle de la souris est actif, déplacez la souris:
if (mouseIsActive) { Mouse.move(xReading, yReading, 0); // (x, y, faire défiler la molette de la souris) }
//LA GAUCHE
// lit le bouton de la souris et clique ou non: // si le bouton de la souris est enfoncé: if (digitalRead(mouseLeftButton) == HIGH) { // si la souris n'est pas enfoncée, appuyez dessus: if (!Mouse.isPressed (MOUSE_LEFT)) { Mouse.press(MOUSE_LEFT); retard (100); // délai pour activer les clics simples et doubles Mouse.release(MOUSE_LEFT); } }
// sinon le bouton de la souris n'est pas enfoncé:
else { // si la souris est enfoncée, relâchez-la: if (Mouse.isPressed(MOUSE_LEFT)) { Mouse.release(MOUSE_LEFT); } }
//DROIT
// lire le bouton de la souris et cliquer ou non cliquer: // si le bouton de la souris est enfoncé: if (digitalRead(mouseRightButton) == HIGH) { // si la souris n'est pas enfoncée, appuyez dessus: if (!Mouse.isPressed (MOUSE_RIGHT)) { Mouse.press(MOUSE_RIGHT); retard (100); // délai pour activer les clics simples et doubles Mouse.release(MOUSE_RIGHT); } }
// sinon le bouton de la souris n'est pas enfoncé:
else { // si la souris est enfoncée, relâchez-la: if (Mouse.isPressed(MOUSE_RIGHT)) { Mouse.release(MOUSE_RIGHT); } }
//MILIEU
// lire le bouton de la souris et cliquer ou non cliquer: // si le bouton de la souris est enfoncé: if (digitalRead(mouseMiddleButton) == HIGH) { // si la souris n'est pas enfoncée, appuyez dessus: if (!Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) { Mouse.press(MOUSE_MIDDLE); mouseMiddleState = 1; //actualiza el estado del botón } }
// sinon le bouton de la souris n'est pas enfoncé:
else { // si la souris est enfoncée, relâchez-la: if (Mouse.isPressed(MOUSE_MIDDLE) && mouseMiddleState == 1) { Mouse.release(MOUSE_MIDDLE); mouseMiddleState = 0; } }
délai(réponseDélai);
}
/*
lit un axe (0 ou 1 pour x ou y) et met à l'échelle la plage d'entrée analogique dans une plage de 0 à */
int readAxis(int thisAxis) {
// lit l'entrée analogique: int lecture = analogRead(thisAxis);
// mappe la lecture de la plage d'entrée analogique à la plage de sortie:
lecture = carte(lecture, 0, 1023, 0, curseurVitesse);
// si la lecture de sortie est en dehors de la
// seuil de position de repos, utilisez-le: int distance = lecture - centre;
if (abs(distance) < seuil) { distance = 0; }
// renvoie la distance pour cet axe:
distance de retour; }
Étape 3: Montage du prototype
La première étape consiste à coudre le velcro au gant, vous devez coudre quatre bandes de velcro une à chaque doigt. Nous avons cousu la partie douce du velcro.
Chaque bouton-poussoir a deux fils, un qui part des broches respectives et se connecte à la branche positive du bouton et un autre à la branche négative. A l'autre extrémité du fil négatif, nous soudons les résistances de chaque bouton plus le fil négatif du joystick à un dernier fil, qui se connecte au GND de la carte Arduino. La même connexion parallèle fonctionne pour le côté positif. (3 boutons et joystick jambe positive)
Après avoir soudé les cavaliers, nous mettrons les bandes velcro dures, de sorte que les fils se coincent entre les deux. Enfin, nous avons thermocollé le module joystick sur une pièce imprimée en 3D. Vous trouverez ci-dessous le fichier. STL.
Étape 4: commencez à utiliser votre main comme une souris
Votez pour nous dans le concours Assistive Tech si vous avez apprécié le projet.
Conseillé:
ParaMouse la souris d'ordinateur pour les personnes paralysées : 5 étapes (avec photos)
ParaMouse la souris d'ordinateur pour les personnes paralysées : Bonjour, dans ce tutoriel, je vais décrire comment construire une souris d'ordinateur pour les personnes handicapées, paralysées ou tétraplégiques. Cet appareil particulier est facile à construire et à très faible coût, seul un petit tournevis et un couteau être plus que suffisant pour t
Une souris d'ordinateur Smart Glove : 4 étapes (avec photos)
Une souris d'ordinateur à gant intelligent : il s'agit d'un « gant intelligent » souris d'ordinateur qui peut être utilisée avec n'importe quel ordinateur PC, Mac ou Linux. Il est fabriqué à l'aide d'un adaptateur hôte USB multiprotocole Binho Nova, qui vous permet de connecter des capteurs et d'autres composants à votre ordinateur, puis de contrôler
Theremoose - la souris d'ordinateur contrôlée par Theremin : 6 étapes (avec photos)
Theremoose - the Theremin Controlled Computer Mouse : Ce projet a été réalisé en collaboration avec Randy Glenn, assurez-vous de le consulter ici : https://www.instructables.com/member/rglenn/Il y a environ une semaine, j'ai participé à un hackathon pour idées terribles ici à Toronto (stupidhacktoronto.com). C'est le
Tapis de refroidissement pour ordinateur portable DIY - Awesome Life Hacks avec ventilateur CPU - Idées créatives - Ventilateur d'ordinateur : 12 étapes (avec photos)
Tapis de refroidissement pour ordinateur portable DIY | Awesome Life Hacks avec ventilateur CPU | Idées créatives | Fan d'ordinateur : vous devez regarder cette vidéo jusqu'à la fin. pour comprendre la vidéo
Souris d'ordinateur à pédale : 7 étapes (avec photos)
Souris d'ordinateur à pied : j'ai intégré les fonctions d'une souris dans un repose-pieds afin de pouvoir composer et éditer du texte sans rompre le fil de mes pensées et sans retirer mes mains du clavier pour tâtonner avec une souris ou un trackball conventionnel. Des souris commerciales à pédale sont disponibles