[Tuto] Contrôler votre curseur de souris avec un accéléromètre

Si vous avez suivi notre tutoriel pour utiliser l'accéléromètre MMA7361 disponible ici voici un exemple d'utilisation sympathique : contrôler le curseur de votre souris à l'aide de cette accéléromètre.

Cependant pour cela vous aurez besoin d'une carte arduino avec un microcontrôleur 32u4 embarqué dessus. Les cartes Arduino compatibles sont:

      ArduinoYun

   ArduinoLeonardo

arduino-lilypad-usb

Une fois votre accéléromètre câblé, tous se passe au niveau du code, vous allez voir c'est très simple !

CODE 

#include "AcceleroMMA7361.h"// Inclure la librairie de nl'accéléromètrennnnAcceleroMMA7361 accelero; // Création du composantnint x; // Création des variables pour les 3 accélérations nint y;nnvoid setup()n{n Serial.begin(9600); // Démarrer la liaison sérien pinMode(2, INPUT);n accelero.begin(13, 12, 11, 10, A0, A1, A2); // Démarrer le ncomposantn accelero.setARefVoltage(3.3); // Régler la tension de référencen accelero.setSensitivity(LOW); // Régler la sensibilité du ncomposant +/-6Gn accelero.calibrate(); // Calibrer le composantn n Mouse.begin(); //Initialisation de la fonction sourisnn}nnvoid loop()n{n x = accelero.getXAccel(); // Lecture de l'axe Xn y = accelero.getYAccel(); // Lecture de l'axe Yn n Mouse.move(x,y,0); //On bouge le curseur aux coordonnées nacquisent par l'accéléromètren if (digitalRead(2) == HIGH) //On peut rajouter un boutonn Mouse.click(MOUSE_LEFT); //Si l'appuie est repéré on envoie un nclique gauche sur le curseurnn Serial.print("nx: "); // Afficher la valeur de l'axe Xn Serial.print(x);n Serial.print(" ty: "); // Afficher la valeur de l'axe Yn Serial.print(y);nn delay(50); // Délais pour rendre ça lisiblen}n

Vous pouvez reconnaître le code de l'accéléromètre, on y ajoute juste les fonctions capables de contrôler le curseur de la souris.
nDonc très simplement dans le setup on initialise la fonction Mouse avec Mouse.begin() puis on utilise la fonction Mouse.move()

Pour aller plus loin, nous pouvons rajouter un bouton poussoir pour simuler le clique, un bouton pour les 3 différents cliques que l'on a sur une souris on utilise la fonction Mouse.click() dans les parenthèses on renseigne le boutons que l'on veut simuler sur le curseur :

  • MOUSE_LEFT pour le clique gauche
  • MOUSE_RIGHT pour le clique droit
  • MOUSE_MIDDLE pour le clique du milieu

Il ne vous reste plus qu'à téléverser votre programme dans votre carte, pencher l'accéléromètre et votre curseur bouge sur votre écran !

Pour plus d'information sur la librairie Mouse et keyboard voici la documentation arduino.

Commentaires

  • KLINKENBERG
    janv. 29, 2018

laissez un commentaire

Se connecter