Gérer l’accéléromètre d’un téléphone – Piloter des moteurs – Arduino – App Inventor

Il est possible d’utiliser une carte Arduino afin de piloter facilement des moteurs. Ici, nous avons déjà vu comment gérer ces moteurs à l’aide d’une carte Arduino.

Nous allons voir ici comment gérer l’accéléromètre d’un téléphone/d’une tablette.

Votre smartphone ou votre tablette est équipé d’un accéléromètre. Celui-ci permet de mesurer l’accélération sur les 3 axes (x, y et z).

Au niveau d’App Inventor, nous retenons 3 variables, pour les 3 axes :

xAccel : cette variable vaut 0 lorsque le téléphone est au repos sur une surface plane. cette variable est positive (>0) lorsque le téléphone est incliné vers la droite (c’est-à-dire que son côté gauche est relevé) et négative (< 0) lorsque le téléphone est incliné vers la gauche (c’est-à-dire que son côté droit est relevé).

yAccel : cette variable vaut 0 lorsque le téléphone est au repos sur une surface plane, positif lorsque le bas est relevé et négatif lorsque le haut est relevé.

zAccel : cette variable vaut -9,8 (la gravité terrestre en mètres par seconde par seconde lorsque l’appareil est au repos, parallèle au sol avec l’écran vers le haut. Sinon, elle vaut 0 lorsque le téléphone est perpendiculaire au sol et +9,8 lorsqu’il est orienté vers le bas.

 

Tester l’accéléromètre sur votre smartphone :

  • Ouvrir MIT App Inventor
  • Créer un nouveau projer
  • Insérer dans votre projet, un capteur  » accéléromètre »

Concernant le design de l’application, ça reste relativement simple. On distingue 3 parties :

  • La partie permettant la connexion Bluetooth
  • La partie récupérant les valeurs xAccel, yAccel et zAccel
  • La partie permettant de définir en fonction des 3 variables précédentes, si l’on avance/recule ou si l’on va à gauche/droite

 

Au niveau de l’algorithme :

Si accelerometre.acceleration changée
     x <- xAccel
     y <- yAccel
     z <- zAccel
     Si x > 1
          Afficher "gauche"
     Si x < -1
          Afficher "droite"
     Si y > 1
          Afficher "bas"
     Si y < 1 
          Afficher "haut"

Je n’ai volontairement pas effectué les changements de direction pour des valeurs de x, et y comprises entre 0 et 1. Le smartphone est très sensible au moindre mouvement. J’impose donc à l’utilisateur d’effectuer un minimum de mouvement de rotation vers la gauche/droite et haut bas.

 

  • Vous pouvez trouver cette application au format aia en téléchargement ici. Une fois téléchargé, vous pouvez importer ce fichier dans App Inventor et effectuer des mofifications aux blocs/design.
  • Vous pouvez tester cette application directement sur votre smartphone en le téléchargeant ici ou en scannant le QRcode suivant

Les blocs liés au Bluetooth sont déjà activés. Il faut simplement ajouter l’envoie en Bluetooth d’un caractère permettant par exemple à votre carte Arduino de réaliser une action :

Je vous rappelle :

 

Démarrez une conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.