Différences entre versions de « Projets:Pedale clavier souris »
Ligne 31 : | Ligne 31 : | ||
== Matériel nécessaire == | == Matériel nécessaire == | ||
− | + | ||
− | *1x Arduino Leonardo | + | *[[1x Arduino Leonardo https://www.reichelt.com/fr/fr/arduino-leonardo-atmega-32u4-usb-arduino-leonardo-p125561.html]] |
*[http://www.atlantique-composants.fr/ProductCard/ODDA000083/kit-proto-shield-ext-rev3 1x proto board] | *[http://www.atlantique-composants.fr/ProductCard/ODDA000083/kit-proto-shield-ext-rev3 1x proto board] |
Version du 27 mars 2019 à 17:26
Description du projet
Une pédale qui simule l'appui sur une touche de clavier ou sur la souris.
Liens utiles
Cahier des charges
Analyse de l'existant
La pédale switch existe en USB et en bluetooth à 1, 2 ou 3 pédales, en voici quelques exemples:
- Amazon[1]
- Olympus propose une version 3 switch [2]
- Wewoo [3]
Equipe (Porteur de projet et contributeurs)
- Porteur de projet
- Nicolas Huchet
- Contributeurs
- Animateur (coordinateur du projet)
- Fabmanager référent
- Julien Lebunetel
- Responsable de documentation
Matériel nécessaire
- 4x Résistance 10k
- 4x Condensateur 10u
- 1x Led verte 5mm
- 1x Résistance 220 ohm
- des fils
- fer à souder
- Etain
- Pcb
Outils nécessaires
Coût
20 euros
Délai estimé
Fichiers source
Étapes de fabrication pas à pas
Description du projet
Fabrication d'une pédale permettant d'actionner une touche du clavier avec le pied.
Raisons du projet
Une pédale switch est souvent utilisés par des musiciens désireux de tourner les pages de partitions sans les mains. Cette aide technique peut également servir à des personnes agées ou a des personnes n'ayant l'usage que d'un bras. Dans notre cas, cette aide technique va permettre à un personne amputée d'une main de pouvoir utiliser un logiciel de CAO (conception Assistée par Ordinateur comme FreeCAD)dans le but de pouvoir tourner la pièce en utilisant la souris tout en actionnant simultanément les touches _Ctrl_ et _Maj_ avec le pied.
Avantages à le faire soi-même
Le premier prix est à partir de 50 euros, ce qui représente plus ou moins le même coût que le modèle Do It Yourself (à faire soi-même), pourquoi s'embêter à le fabriquer alors ? Le modèle open source que nous avons fabriqué présente l'avantage d'être une introduction simple à la fabrication numérique et une excuse pour aller fréquenter un fablab, créer du lien social et développer des compétences techniques (découpe laser, soudure, arduino).
Réalisation
Il y a deux usages possible:
- Une prise jack de gauche on peut effectuer le raccourci clavier
- Une prise jack de droite on peut effectuer le raccourci avec clic gauche/droit
Code pour programmer le Léonardo
/* Pédale clavier/souris My Human Kit 2019 compatible Arduino Leonardo émule un clavier (touche Ctrl et Shift) et/ou une souris (clic gauche et clic droit) */ #include "Keyboard.h" #include "Mouse.h" #define LED 13 class Button { public: // contructeur Button(int defaultValue = 0, int pin = 0) { // valeur par défaut, broche this->pin = pin; this->value = defaultValue; this->previousValue = defaultValue; this->defaultValue = defaultValue; }; // accesseurs et mutateurs int get() { return value; }; void set(int value) { this->previousValue = this->value; this->value = value; }; //autres fonctions void init() { pinMode(pin, INPUT); }; int read() { set(digitalRead(pin)); return value; }; bool isPressed() { return (value != defaultValue); }; bool isReleased() { return (value == defaultValue); }; bool hasChanged() { return (value != previousValue); }; bool isJustPressed() { return (hasChanged() && isPressed()); }; bool isJustReleased() { return (hasChanged() && isReleased()); }; private: int pin; int value; int previousValue; int defaultValue; }; Button boutonA(HIGH, 2); Button boutonB(HIGH, 3); Button boutonC(HIGH, 4); Button boutonD(HIGH, 5); void setup() { pinMode(LED, OUTPUT); boutonA.init(); boutonB.init(); boutonC.init(); boutonD.init(); Mouse.begin(); Keyboard.begin(); } void loop() { boutonA.read(); boutonB.read(); boutonC.read(); boutonD.read(); if (boutonA.isJustPressed()) { Keyboard.press(KEY_LEFT_CTRL); digitalWrite(LED, HIGH); } if (boutonA.isJustReleased()) { Keyboard.release(KEY_LEFT_CTRL); digitalWrite(LED, LOW); } if (boutonB.isJustPressed()) { Keyboard.press(KEY_LEFT_SHIFT); digitalWrite(LED, HIGH); } if (boutonB.isJustReleased()) { Keyboard.release(KEY_LEFT_SHIFT); digitalWrite(LED, LOW); } if (boutonC.isJustPressed()) { Mouse.click(MOUSE_LEFT); } if (boutonD.isJustPressed()) { Mouse.click(MOUSE_RIGHT); } delay(10); }
Durée de fabrication du prototype final
1h
Bonne Réalisation :)