Souris contrôlée par smartphone

J’ai créé une application pour smartphone qui contient un joystick virtuel pour déplacer le curseur ainsi que faire défiler l’écran et fait également un clic gauche et droit comme un trackpad ordinaire.

Le projet implique une application pour smartphone qui envoie les données des axes x et y du joystick, l’état du défilement, l’état du clic gauche et droit en utilisant Bluetooth à l’Arduino Uno connecté au module Bluetooth HC-05. Ces données à la réception de l’Arduino sont manipulées pour modifier la position actuelle du curseur afin d’obtenir une nouvelle position. Les données résultantes ainsi que l’état du défilement et du bouton sont ensuite imprimés en tant que sortie reconnue pour être lue par l’esquisse Python. L’esquisse Python est conçue pour exécuter des actions de souris à l’aide du module de souris.

À propos de l'application

L’application pour smartphone est créée à l’aide de MIT-App Inventor. La création de l’application est simple car il vous suffit d’ajouter les blocs souhaités pour créer votre application requise. L’écran principal de l’application est le suivant:

Avant d’envoyer les informations principales au module HC-05, l’application envoie d’abord un numéro à un octet (255) pour indiquer le début des informations. La séquence de transfert des données est la suivante-

  • 1. Envoyez «255» pour indiquer le début
  • 2. Envoyer la valeur de l’axe x du joystick de 1 octet
  • 3. Envoyer la valeur de l’axe des y du joystick de 1 octet
  • 4. Envoyer l’état du clic gauche, du bouton droit et du statut de défilement (1 octet).
  • Les données de l’application sont envoyées toutes les 20 millisecondes à l’Arduino UNO.

COMPOSANTS

  • Arduino UNO
  • HC-05 Bluetooth Module

Côté Arduino

Les octets de données de l’application sont reçus par l’Arduino à l’aide du module Bluetooth HC-05. L’Arduino contient les coordonnées actuelles du curseur où la plage de coordonnées x forme de 0 à 1279 et les coordonnées y de 0 à 799. J’ai obtenu ces coordonnées extrêmes de la fonction python mouse.get_position () qui renvoie les coordonnées lorsque le curseur est déplacé (non utilisé dans l’esquisse principale). Sur la base des données reçues lors du déplacement du joystick, la position actuelle du curseur (coordonnées x et y) est ensuite ajoutée / soustraite avec les données reçues par l’application pour déplacer le curseur sur la nouvelle coordonnée souhaitée. Les données finales sont ensuite imprimées sur le moniteur série dans l’ordre indiqué ci-dessous.

Programmation Python

L’utilisateur doit avoir python 3 installé sur son ordinateur portable / ordinateur. Il peut être téléchargé ici. (Pour les windows) Après l’installation, copiez le chemin de l’emplacement du fichier python.

Les étapes suivantes doivent être effectuées à l’invite de commande. Ouvrez l’invite de commande et entrez les informations suivantes:

1. cd

2. py –m pip install –-upgrade pip

3. py –m pip install mouse

4. py -m pip install pyserial

Le module de souris est utilisé pour effectuer des actions de souris et le module physique est utilisé pour envoyer / recevoir des données de l’arduino. J’avais déjà installé les modules nécessaires.

Exécution

Installez l’application Bluetooth Mouse Control sur votre smartphone.

Téléchargez le croquis Arduino sur votre Arduino UNO et suivez le circuit comme indiqué dans le schéma.

Assurez-vous que le module Bluetooth HC-05 est déjà apparié avec votre appareil smartphone, alors seulement vous pouvez le sélectionner dans la liste des appareils appariés.

Côté Python-

1. Copiez collez le code python dans un fichier bloc-notes. Changez le port COM pour le port COM de votre Arduino UNO et enregistrez-le en tant que «.py»

2. Ouvrez le python IDLE et ouvrez le fichier bloc-notes à partir de celui-ci.

3. Run the Sketch.

Application

Code

SCHÉMA

Autres projets