accelerometre-tilt.ino

Arduino Esplora — Fiche de carte · Fichier : accelerometre-tilt.ino · Langage : Arduino · Usage : Détecter l'inclinaison de la carte avec l'accéléromètre embarqué

L'accéléromètre trois axes mesure la pesanteur ; la bibliothèque soustrait les offsets de repos, donc chaque axe vaut environ 0 à plat. Incliner la carte change la couleur — l'esquisse d'un détecteur de chute.

Matériel requis

Une Arduino Esplora (ATmega32U4, 5 V) avec ses capteurs embarqués : joystick, 4 boutons, slider, LED RGB, buzzer, capteurs de lumière, température, microphone, accéléromètre. Aucun.

Branchement

Rien à câbler.

Fonctionnement

readAccelerometer renvoie la valeur moins le zéro-g calibré (320/330/310) ; les seuils comparent à ±150 pour déduire l'orientation. Dans l'Arduino IDE, choisissez « Arduino Esplora » ; ajoutez la bibliothèque « Esplora » via le Gestionnaire de bibliothèques pour accéder aux capteurs embarqués.

Pour aller plus loin

Calculez un angle (atan2) pour un niveau à bulle, ou détectez le « shake » par variation brutale des trois axes.

accelerometre-tilt.ino

// Accelerometre embarque : valeurs relatives au repos -> couleur.
#include <Esplora.h>

void setup() {
  Serial.begin(9600);
}

void loop() {
  int ax = Esplora.readAccelerometer(X_AXIS); // ~0 au repos
  int ay = Esplora.readAccelerometer(Y_AXIS);
  int az = Esplora.readAccelerometer(Z_AXIS);
  Serial.print(ax); Serial.print('\t'); Serial.print(ay);
  Serial.print('\t'); Serial.println(az);

  if (az < -150) Esplora.writeRGB(255, 0, 0);      // retournee : rouge
  else if (ax > 150) Esplora.writeRGB(0, 255, 0);  // penchee : vert
  else Esplora.writeRGB(0, 0, 80);                 // a plat : bleu
  delay(100);
}

← Retour à la fiche