Si vous avez suivi quelques cours de physique, vous savez que l'accélération d'un objet en chute libre est de 9,8 m/s² vers le bas. Et, bien entendu, l'accélération d'un objet qui repose sagement immobile est nulle.
Notre accéléromètre, toutefois, ne fait aucune différence entre la gravité et l'accélération: lorsqu'il est immobile, il mesure une accélération vers le haut égale à 9,8 m/s², et lorsqu'il est en chute libre il mesure une accélération nulle (c'est assez logique: dans l'espace intersidéral, si vous désirez que les passagers d'un vaisseau spatial subissent une gravité artificielle identique à celle de la terre, vous devrez faire subir au vaisseau une accélération de 9,8 m/s²).
Les branchements
En supposant que vous utilisez le même breakout MMA7455 que moi (celui qui est illustré ci-contre), c'est tout simple:
- Vcc du breakout au 5V de l'Arduino
- GND du breakout au GND de l'Arduino.
- SCL du breakout à l'entrée analogique A5 de l'Arduino.
- SDA du breakout à l'entrée analogique A4 de l'Arduino.
Le mieux, c'est d'alimenter votre Arduino au moyen d'une pile (dans mon prototype, je me suis contenté de faire passer mon câble USB par un trou dans la boîte).
Bibliothèque MMA7455
À moins que ce ne soit déjà fait, vous installez la bibliothèque mise au point par Moritz Kemper pour utiliser ce genre d'accéléromètre avec l'Arduino.
Le sketch
Rien de bien compliqué ici: nous utilisons la fonction "Tone" pour émettre un son lorsque l'accéléromètre mesure une valeur nulle. Nous avons tout de même une assez grande marge de manoeuvre entre la situation où l'accéléromètre est immobile (il indique alors une accélération de 63) et celui où il est en chute libre. Pour tenir compte des incertitudes de mesure, je me contente de détecter une accélération inférieure à 15.
Pour une meilleure fiabilité, prenez la peine de calibrer votre accéléromètre en modifiant les valeurs de calibrateOffset pour que les valeurs affichées par l'accéléromètre quand il est immobile, bien à plat sur une table soient de 0 en x, 0 en y et 63 en z.
Il ne vous reste plus qu'à tester le dispositif: laissez tomber la boîte, ou lancez-là dans les airs: aussitôt qu'elle quitte vos mains (et jusqu'à ce qu'elle touche au sol), elle émet un beep.
Yves Pelletier (Twitter: @ElectroAmateur)
Aucun commentaire:
Enregistrer un commentaire