Taula de continguts:
- Subministraments
- Pas 1: Interfície de l’acceleròmetre amb Raspberry Pi
- Pas 2: Interfície del botó amb Raspberry Pi
- Pas 3: desenvolupar Python Script per controlar serialment el punter del ratolí
- Pas 4: desenvolupar Python Script per controlar el punter del ratolí mitjançant Bluetooth
- Pas 5: incrustar l’acceleròmetre i el botó al guant
Vídeo: [Wearable Mouse] Controlador de ratolí portable basat en Bluetooth per a Windows 10 i Linux: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Vaig fer un controlador de ratolí basat en Bluetooth que es pot utilitzar per controlar el punter del ratolí i realitzar operacions relacionades amb el ratolí de la PC sobre la marxa, sense tocar cap superfície. Els circuits electrònics, que estan incrustats en un guant, es poden utilitzar per fer un seguiment dels gestos de les mans a través d’un acceleròmetre i que es poden traduir en el moviment del punter del ratolí. Aquest dispositiu també té una interfície amb un botó que replica el clic amb el botó esquerre. El dispositiu es pot connectar en sèrie al PC (mitjançant USB) o sense fils mitjançant una connexió Bluetooth. El Bluetooth proporciona una comunicació sense fils robusta i universal entre el dispositiu amfitrió i aquest ratolí portàtil. Com que el Bluetooth és àmpliament disponible i s’incorpora amb gairebé tots els portàtils personals, el cas d’ús d’aquest dispositiu portàtil és ampli. Utilitzar Raspberry Pi, que és una plataforma de desenvolupament d’ús habitual per a diversos projectes, la interfície de diferents sensors i el desenvolupament d’aquest dispositiu és fàcil i escalable. El guant es pot substituir per qualsevol altre usable per fer la seva aplicació més àmplia.
Com a precaució contra el COVID-19, és recomanable evitar tocar superfícies que es puguin compartir entre diferents persones, i un ordinador portàtil amb pantalla tàctil o un ratolí poden estar entre aquestes superfícies habituals. L’ús d’aquest dispositiu portàtil ajuda a mantenir la higiene i a desinfectar les superfícies d’ús comú:)
Subministraments
- Raspberry Pi 3 Model B V1.2
- SparkFun Triple Accelerometer Breakout Breakout - MMA8452Q
- Filferro de pont masculí a femení
- Un guant
- Cinta adhesiva
- Tisores
- Cable micro-USB
- Cable HDMI (per depurar mitjançant Raspberry Pi)
Pas 1: Interfície de l’acceleròmetre amb Raspberry Pi
He utilitzat un acceleròmetre de tres eixos MMA8542Q de Sparkfun que utilitza el protocol de comunicació I2C per parlar amb els pins GPIO Raspberry Pi i enviar les dades dels eixos. Aquest sensor proporciona diversos modes de funcionament amb la velocitat de dades configurable, els modes de suspensió, el rang d’acceleració, el mode de filtre, etc. Vaig trobar que el codi de Pibits era molt útil en la meva configuració inicial del sensor i el vaig provar amb els meus gestos de mans. És millor col·locar primer el sensor sobre una superfície plana i fer inclinacions deterministes tot observant els valors bruts del sensor. Això és particularment útil per entendre com reacciona aquest sensor amb diversos gestos de les mans i com podem establir llindars per a la nostra aplicació. Una vegada que l’acceleròmetre s’interfaça correctament, podeu veure les dades dels eixos bruts que apareixen a la pantalla del terminal del Pi.
Pas 2: Interfície del botó amb Raspberry Pi
En aquest dispositiu usable, he interfaçat un botó que pot funcionar com a botó esquerre del ratolí per poder fer clic a les icones de la pantalla. Els dos extrems del botó es connecten a dos pins GPIO del Pi. Un dels pins genera un màxim lògic i l’altre pin llegeix aquest valor. Quan es prem el botó, el circuit es tanca i el pin d'entrada pot llegir un valor altament lògic, que després es processa amb l'script que he escrit per emular el clic esquerre del ratolí. A causa de la manca de soldador, vaig utilitzar cinta adhesiva per connectar els ponts amb el botó.
Pas 3: desenvolupar Python Script per controlar serialment el punter del ratolí
He utilitzat la biblioteca Pyautogui Python per controlar el punter del ratolí. La raó per utilitzar aquesta biblioteca era que funciona tant en Linux com en la plataforma Windows. Per tal de controlar el punter del ratolí al meu Raspberry Pi, primer he connectat el meu Pi a una pantalla. Després, he utilitzat les següents API proporcionades per la biblioteca per controlar el punter del ratolí:
- pyautogui.move (0, 200, 2) # mou el ratolí cap avall 200 píxels durant 2 segons
- pyautogui.click () # feu clic al ratolí
Per tal de filtrar les dades d'error provinents d'Accelerometer, he utilitzat la mitjana i altres mètodes de filtratge que es poden entendre fàcilment a través del codi adjunt. L'API pyautogui.move (0, y) s'ha utilitzat de manera que el punter del ratolí pugi cap amunt o cap avall o cap a l'esquerra-dreta alhora. Això es deu al fet que l’acceleròmetre informa d’eixos en la direcció X, Y i Z, però l’API només adopta 2 arguments, els eixos X i Y. Per tant, aquest enfocament era molt adequat per al meu acceleròmetre i per mapear els gestos a la pantalla.
Pas 4: desenvolupar Python Script per controlar el punter del ratolí mitjançant Bluetooth
Aquesta part és una aplicació avançada en la qual qualsevol ordinador portàtil que tingui funcions Bluetooth pot comunicar-se amb Raspberry Pi en un model de comunicació servidor-client i transmetre les dades de les coordenades del ratolí sense fils. Per configurar un ordinador portàtil de Windows 10 de 64 bits per permetre la comunicació Bluetooth, hem de seguir els passos següents:
Windows 10:
- Creeu un port COM Bluetooth entrant.
- Emparegeu el Bluetooth del Pi amb el Bluetooth del portàtil fent que Pi sigui fàcil de descobrir.
- Instal·leu Python al Windows.
- Instal·leu pip a Windows. Pip s’utilitza per instal·lar biblioteques en una màquina Linux o Windows.
- Instal·leu pyautogui al Windows mitjançant: pip install pyautogui
- Un cop instal·lat pyautogui al dispositiu, instal·leu Pybluez al Windows mitjançant l'ordre següent al terminal de Windows mitjançant: pip instal·leu PyBluez-win10. PyBluez permet la comunicació Bluetooth tant en ordinadors Windows com Linux.
-
Per desenvolupar una aplicació en un portàtil amb Windows 10, hem d’instal·lar Microsoft Visual Studio (15-20 GB d’espai necessari) i les seves eines de construcció. Per tant, juntament amb PyBluez, hem de seguir les instruccions següents,
- Baixeu i executeu el "Visual Studio Installer":
-
Instal·leu "Visual Studio Build Tools 2017", marqueu "Visual C ++ build tools" i "Universal Windows Platform build tools"
- git clone
- cd pybluez
instal·lar python setup.py
- Si es segueixen correctament les instruccions anteriors, l'execució de Python al terminal de Windows i la importació de mòduls pyautogui i Bluetooth haurien de funcionar sense errors, segons la imatge anterior.
- A la biblioteca pybluez instal·lada a la màquina Windows, aneu a: pybluez-master / examples / simple / rfcomm-server.py i executeu-lo amb python rfcomm-server.py. Si el terminal entra en estat d’espera sense errors, aneu a la secció següent per configurar el Bluetooth a Pi. Si hi ha errors en instal·lar pybluez, consulteu Problemes de GitHub per a la depuració.
Raspbian a Raspberry Pi:
- Instal·leu PyBluez a Pi
- Executeu l'exemple del servidor a Windows. A continuació, a Pi, aneu a pybluez-master / examples / simple / rfcomm-client.py i executeu. Si els dos dispositius han començat a comunicar-se, el Bluetooth ja està configurat als dos dispositius. Per obtenir més informació sobre com funciona la comunicació de sòcol amb Python, consulteu aquest enllaç del MIT.
Hi haurà una anàlisi de dades addicional necessària per enviar les dades dels eixos de Pi a PC, ja que les dades s’envien en bytes. Consulteu el codi adjunt per obtenir més informació sobre la comunicació de dades del client i del servidor.
Pas 5: incrustar l’acceleròmetre i el botó al guant
Una vegada que l’acceleròmetre està ben interfaçat, el sistema esquelètic sembla la primera imatge d’aquest pas.
Com que la superfície del guant no és plana, he utilitzat una targeta de crèdit fictícia que arriba a la meva bústia de tant en tant. Segons la segona imatge d’aquest pas, he adjuntat la targeta de crèdit fictícia a la superfície superior del guant amb cinta adhesiva. Sobre la targeta, he adjuntat el meu acceleròmetre. Aquesta configuració era prou sòlida per mantenir el meu acceleròmetre estable i capaç de fer un seguiment dels meus gestos amb precisió.
Recomanat:
Controlador de jocs DIY basat en Arduino - Controlador de jocs Arduino PS2 - Jugar a Tekken amb el bricolatge Arduino Gamepad: 7 passos
Controlador de jocs DIY basat en Arduino | Controlador de jocs Arduino PS2 | Jugar a Tekken amb el bricolatge Arduino Gamepad: Hola nois, jugar sempre és divertit, però jugar amb el vostre propi controlador de jocs de bricolatge és més divertit
Termòmetre infraroig sense contacte basat en Arduino - Termòmetre basat en IR mitjançant Arduino: 4 passos
Termòmetre infraroig sense contacte basat en Arduino | Termòmetre basat en IR que utilitza Arduino: Hola nois, en aquest instructable farem un termòmetre sense contacte amb arduino, ja que de vegades la temperatura del líquid / sòlid és massa alta o baixa a la temperatura i és difícil fer-hi contacte i llegir-ne temperatura llavors en aquell escenari
Controlador d’arrencada DOL basat en IOT per a conjunt de bombes de reg: 6 passos
Controlador d’inici DOL basat en IOT per al conjunt de bombes de reg: Hola amics. Història: a la meva granja només obtinc subministrament elèctric de la xarxa local durant unes 6 hores al dia. Els horaris no són regulars, la disponibilitat de po
Generador de música basat en el temps (generador de midi basat en ESP8266): 4 passos (amb imatges)
Generador de música basat en el temps (generador de midi basat en ESP8266): Hola, avui explicaré com fer el vostre propi generador de música basat en el temps. Es basa en un ESP8266, que és com un Arduino, i respon a la temperatura, a la pluja i intensitat lumínica. No espereu que faci cançons senceres o progrés d’acords
Transplanteu el ratolí clàssic d'un ratolí Mac amb un sol botó: 5 passos
Trasplantar el ratolí clàssic de botó individual Mac Inards: està fart de ratolins amb aspecte estúpid? Cansat del vostre clàssic botó de ratolins Mac, només falta un botó? Us mostraré com trasplantar les entranyes d’un ratolí de bona voluntat a bon preu al vostre ratolí Mac per aconseguir un equilibri perfecte entre estil