accelerometre-tilt.ino

Arduino Esplora — Ficha de placa · Archivo : accelerometre-tilt.ino · Lenguaje : Arduino · Uso : Détecter l'inclinaison de la carte avec l'accéléromètre embarqué

El acelerómetro de tres ejes mide la gravedad; la librería resta los offsets de reposo, así que cada eje vale ~0 en horizontal. Inclinar la placa cambia el color: esbozo de detector de caídas.

Hardware necesario

Un Arduino Esplora (ATmega32U4, 5 V) con sus sensores integrados: joystick, 4 botones, slider, LED RGB, zumbador, sensores de luz, temperatura, sonido y acelerómetro. Ninguno.

Cableado

Nada que cablear.

Funcionamiento

readAccelerometer devuelve el valor menos el cero-g calibrado (320/330/310); los umbrales comparan con ±150 para deducir orientación. En el Arduino IDE, elija « Arduino Esplora »; añada la biblioteca « Esplora » desde el Gestor de bibliotecas para acceder a los sensores integrados.

Para ir más lejos

Calcule un ángulo (atan2) para un nivel de burbuja, o detecte el «shake» por variación brusca de los tres ejes.

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);
}

← Volver a la ficha