Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
INTRODUCTION
Le projet est une souris à commande gestuelle, sous la forme d'un gant avec un micro:bit intégré. C'est un projet inspiré par une première idée que j'ai eue en tant qu'ingénieur embarqué. Je souhaite toujours avoir accès à un ensemble souris et clavier sans fil, pour l'interfaçage avec tout microprocesseur que je souhaite utiliser. Une souris est indispensable au cas où j'exécute un système d'exploitation sur un microprocesseur. Avoir une souris et un clavier sans fil s'est avéré être un sauveur à plusieurs reprises, et à cet égard, j'étais très intéressé par le développement d'une technologie portable qui peut être utilisée comme souris, et peut-être comme clavier.
Dans ce instructable, je vais partager les étapes et la procédure de la façon dont j'ai utilisé un micro:bit avec du code Python pour faire une souris à commande gestuelle montée sur gant.
Fournitures
1 micro:bit avec batterie
1 gant pour attacher micro:bit à
1 ordinateur Linux compatible Bluetooth (Raspberry Pi utilisé ici)
PC pour programmer micro:bit et ouvrir une session VNC sur Raspberry Pi
Étape 1: Comment ça marche
Étape 2: Interfaçage de Micro:bit avec Raspberry Pi via Bluetooth
1. Au démarrage, j'affiche une séquence de LED en forme de "b*", et j'initialise les services accéléromètre, bouton, LED et température Bluetooth.
2. En cas de connexion Bluetooth, l'écran LED affiche un "C", indiquant que le micro:bit a établi une connexion Bluetooth.
3. En cas de déconnexion Bluetooth, l'écran LED affiche un "D", indiquant que le micro:bit a perdu la connexion Bluetooth et devra se reconnecter.
4. Dans Paramètres du projet, sélectionnez le mode "Pas de couplage". Le site Web micro:bit recommande le couplage "Just Works", mais le couplage échoue toujours avec ce dernier. Pour une raison inexplicable, cela fonctionne avec le premier.
Étape 3: Configuration du Bluetooth sur Raspberry Pi
1. Installez le package bluezero en utilisant "sudo pip3 install bluezero"
2. Ouvrez une invite de commande Bluetooth en tapant "bluetoothctl". La nouvelle invite devrait ressembler à:
$ [Bluetooth] #
3. Mettez micro:bit en mode de balayage en maintenant enfoncés les boutons A et B et en appuyant sur le bouton de réinitialisation. Attendez qu'un symbole Bluetooth apparaisse sur l'écran LED, puis relâchez tous les boutons. Sur le terminal bluetooth raspberry pi, tapez "scan on". Une fois que le micro:bit est visible dans la liste des nouveaux appareils, tapez "scan off", et notez l'adresse de l'appareil du micro:bit comme "yy:yy:yy:yy:yy:yy".
4. Associez et connectez-vous au micro:bit en tapant "pair yy:yy:yy:yy:yy:yy".
5. Pour vérifier que l'appairage a fonctionné, tapez « devices » et vérifiez si micro:bit apparaît dans la liste des appareils. Si la connexion est réussie, l'écran LED sur le micro:bit doit changer en un "C". Sinon, réinitialisez le micro:bit et essayez simplement de vous coupler à nouveau sur le terminal bluetoothctl du Raspberry pi.
Étape 4: Exécutez le code sur le Raspberry Pi
1. Exécutez le code sur le Raspberry Pi en tapant "python3 mouse_control.py", qui est joint à la fin de cette étape:
2. Une invite devrait apparaître sur le terminal disant "Connecté". Appuyez sur les deux boutons A et B pendant une seconde pour « allumer » la souris. Une invite disant "Déplacer le curseur" devrait apparaître maintenant.
3. Pour « éteindre » la souris, appuyez à nouveau sur les deux boutons simultanément. Une invite de "Continuer ou quitter ?" apparaît. Appuyez sur c pour continuer à partir de l'étape 2, ou entrez simplement pour quitter le programme.
4. Si la souris est maintenue en position inversée (écran LED vers le bas), les programmes renvoient une erreur demandant à l'utilisateur de tenir la souris correctement, avant de passer à l'étape 2.
5. Pour un simple clic, maintenez la souris parallèle au sol (pour arrêter le déplacement du curseur) et appuyez uniquement sur le bouton A. Pour un double clic, appuyez uniquement sur le bouton B.
6. Pour la procédure pas à pas du code, reportez-vous au fichier joint, qui est suffisamment bien commenté.
7. La connexion Bluetooth est assez sporadique et peut se rompre assez fréquemment, surtout si d'autres appareils connectés Bluetooth sont utilisés à proximité. Si cela se produit, exécuter à nouveau le code devrait fonctionner. Si cela échoue également, ouvrez la fenêtre de commande bluetoothctl et associez à nouveau le micro:bit.
Étape 5: Portée future
1. Les commandes de la souris peuvent être affinées dans une large mesure. Si une accélération exponentielle est utilisée à la place d'un algorithme d'accélération linéaire, cela peut fournir un contrôle encore plus grand.
2. Étant donné que la connexion Bluetooth est assez sporadique, un événement de détection des échecs de connexion peut être ajouté, ce qui aurait pour réponse de rétablir une connexion à chaque échec.
3. Certains gestes du clavier peuvent être ajoutés, comme une secousse soudaine pouvant provoquer un arrêt, ou un geste prédéfini, lorsqu'il est détecté, peut déclencher une autre commande/coup de clavier fréquemment utilisé.