Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Ce prototype est la deuxième version de K-Ability.
K-Ability est un clavier physique qui permet l'utilisation d'appareils à écran tactile pour les personnes souffrant de pathologies entraînant des troubles neuromusculaires.
Il existe de nombreuses aides qui facilitent l'utilisation des appareils informatiques pour les personnes atteintes de pathologies neuromusculaires, mais elles sont chères et la plupart d'entre elles ne permettent pas des gestes tactiles complexes sur les appareils mobiles (swipe, double touch, drag and drop).
K-Ability V1 vise à créer un appareil autoproduit et bon marché (moins de 20 €) pour donner aux personnes souffrant de tremblements, de spasmes et de problèmes plus généraux de contrôle et de coordination neuromusculaire la possibilité d'accéder à des appareils mobiles et ordinateurs à un prix raisonnable.
K-Ability se compose de 7 boutons et d'un petit écran oled.
K-Ability V2 introduit plusieurs nouvelles fonctionnalités au projet qui ajoutent du confort et de la facilité d'utilisation:
- remplacement des boutons physiques par des boutons capacitifs
- Connexion Bluetooth HID à l'appareil maître (smartphone, tablette et ordinateurs)
- possibilité d'alimentation par powerbank ou batterie externe
- possibilité de créer des designs personnalisés
Étape 1: Matériaux
Matériel
Arduino Nano Clone Aliexpress
HC-05 Aliexpress ou Banggood
Affichage Oled 6pin Aliexpress ou Banggood
Contrôleur de capteur tactile capacitif MPR121 Aliexpress
Résistances Aliexpress
Câbles Aliexpress ou Banggood
Planche à pain Aliexpress ou Banggood
Outils
Adaptateur série FTDI Aliexpress ou Banggood
Étape 2: Transformez le HC-05 en un appareil Bluetooth HID
L'RN-42 est un module Bluetooth qui agit comme un clavier ou une souris sans fil.
En raison du coût élevé et des délais d'expédition, j'ai choisi de pirater le HC-05 commun et bon marché, grâce à ce guide simple et efficace écrit par Brian:
www.instructables.com/id/Upgrade-Your-3-Bl…
La procédure est assez simple et vous n'aurez besoin que d'une carte FTDI et de quelques logiciels téléchargeables directement depuis le guide.
A la fin de la procédure, votre module HC-05 pourra fonctionner de la même manière que le RN-42 et tout autre module bluetooth HID.
(image tirée de
Étape 3: Circuit
J'espère que le circuit sur la photo est compréhensible.
Le circuit utilise 9 gpio dans cette configuration:
D02 > HC-05 TX D03 > HC-05 RX D04 > HC-05 ETAT D08 > Affichage RES D09 > Affichage DC D11 > Affichage SDA D13 > Affichage SCL A4 > MPR121 SDA A5 > MPR121 SCL
A noter que le module MPR121 est alimenté en 3.3V et les 2 résistances pour le diviseur de tension du HC-05.
Étape 4: cadre
Le projet décrit n'a pas de véritable cadre fixe, car chaque pathologie nécessitera une forme, une taille et un matériau dédiés.
Pour ce guide, j'ai réalisé un simple cadre en carton pour montrer la possibilité d'utiliser n'importe quelle forme et matériau pour le corps.
Un élément fondamental pour assurer la construction la plus simple du corps est qu'il est exempt de boutons tactiles.
L'utilisation des touches capacitives assure 7 entrées, grâce au module MPR121, simplement en connectant un câble, ou tout autre matériau conducteur, aux broches du module, faisant l'agencement du clavier et la création d'un cadre et des boutons de toute taille très simple.
Étape 5: Micrologiciel
Nous avons d'abord besoin de quelques bibliothèques:
Texte uniquement Bibliothèque Arduino pour écrans OLED SSD1306Adafruit MPR121 LibrarySPISoftware Serial
Les commandes qui déplacent le curseur de la souris sont envoyées avec la bibliothèque Software Serial avec la fonction "write".
Chaque commande est composée d'un buffer de 7 octets structuré de cette manière:
tampon[0] = 0xFD;tampon[1] = 0x05; tampon[2] = 0x02; tampon[3] = 0x00; //Tampon des boutons[4] = 0x00; //X motionbuffer[5] = 0x00; //Y tampon de mouvement[6] = 0x00; //Roue
Pour ce projet j'ai opté pour le "Text only" car il n'utilise que 2928 octets (9%) d'espace de stockage du programme et les variables globales utilisent 54 octets (2%) de mémoire dynamique.
Étape 6: Vidéo
Je ne peux pas télécharger la vidéo… Vous pouvez la voir ici: