accelerometre-tilt.ino
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);
}