[Tuto] Utiliser un accéléromètre MMA7361

Utiliser un accéléromètre

Le but de ce montage est de lire la valeur mesurée par l’accéléromètre au travers de l’interface série.

Composants nécessaires :

 
Composants

Principe du montage :

Le câblage de l’accéléromètre demande peu de temps, on connecte les 8 sorties du module vers le Arduino selon le tableau ci-contre :

Module MMA7361

Arduino

Sleep (SL)

13

Self test (ST)

12

Zero G (0G)

11

G Select (GS)

10

X

A0

Y

A1

Z

A2

3V3

3,3V

GND

GND

5V

5V

Module MMA7361

Arduino

Sleep (SL)

13

Self test (ST)

12

Zero G (0G)

11

G Select (GS)

10

X

A0

Y

A1

Z

A2

3V3

3,3V

GND

GND

5V

5V

Module MMA7361

Arduino

Sleep (SL)

13

Self test (ST)

12

Zero G (0G)

11

G Select (GS)

10

X

A0

Y

A1

Z

A2

3V3

3,3V

GND

GND

5V

5V

Montage des composants sur la BreadboardRéalisation du montage :

Tout le montage se réalise sur la plaque prévu à cet effet (Breadboard). Ici nous n’avons que le module accéléromètre à monter. La difficulté est de passer les fils (certains seront sous l’accéléromètre). Je vous conseille de commencer par placer les 10 fils puis le module.

 
Breadboard
  • Câblage de la Breadboard

On câble ensuite les liens vers le Arduino.

montage
Montage 2

Programmation du montage :

Le programme utilise une librairie dédié pour paramétrer et utiliser le module. Pour rappel, une librairie doit d’abord être ajoutée avant d’être utilisée. Disponible ici AcceleroMMA7361

 

#include  // Inclure la librairie de l'accéléromètre

AcceleroMMA7361 accelero; // Création du composant
int x; // Création des variables pour les 3 accélérations 
int y;
int z;

void setup()
{
 Serial.begin(9600); // Démarrer la liaison série
 accelero.begin(13, 12, 11, 10, A0, A1, A2); // Démarrer le composant
 accelero.setARefVoltage(5); // Régler la tension de référence
 accelero.setSensitivity(LOW); // Régler la sensibilité du composant +/-6G
 accelero.calibrate(); // Calibrer le composant
}

void loop()
{
 x = accelero.getXAccel(); // Lecture de l'axe X
 y = accelero.getYAccel(); // Lecture de l'axe Y
 z = accelero.getZAccel(); // Lecture de l'axe Z
 Serial.print("nx: "); // Afficher la valeur de l'axe X
 Serial.print(x);
 Serial.print(" ty: "); // Afficher la valeur de l'axe Y
 Serial.print(y);
 Serial.print(" tz: "); // Afficher la valeur de l'axe Z
 Serial.print(z);
 Serial.print("tG*10^-2");
 delay(500); // Délais pour rendre ça lisible
}

Il reste à brancher le Arduino pour compiler le programme et le téléverser. Une fois terminé, vous n’avez plus qu’à démarrer le terminal (en le réglant à 9600bauds) et cela nous donne :

ON

Physiquement

Capture

Terminal

Pour aller plus loin :

Il est possible de rendre autonome le montage en lui ajoutant un coupleur de pile et ainsi de se lancer dans des applications embarquées

7 réflexions sur « [Tuto] Utiliser un accéléromètre MMA7361 »

  1. bonjour ce montage permet t’il de remplacer un clic de sourrit ? Si oui peut til le faire a la vitesse de notre chois comme a 5lic seconde par ex ??
    Si oui pouvez vous mexpliquer comment si vous le souhaiter jai skipe et se ne sera que plus facil de m’y donner les instruction … merci !

  2. Bonjour, je ne comprends pas : il y a une différence entre votre schéma du « principe du montage » et votre « cablage du breadboard » : dans le premier le 3,3v est branché sur le 3,3v de l’arduino, dans le second le 3,3v n’est branché et le HREF de l’arduino est relié au 3,3v !?! Quelle est la différence et à quoi sert cette pin 3,3v du MMA7361? Merci ! Mike

Laisser un commentaire

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