Accelerometro Tre Assi MMA7361 Esempio Arduino

Premessa:

Accelerometro 3 Assi MMA7361 è un sensore che interfacciato con un Microcontrollore o processore tipo Arduino o Raspberry Pi, può rilevare tramite gli ingressi analogici le varie informazioni di accelerazione per il vostro robot o altri dispositivi.

LISTA DEI MATERIALI:

SCHEMATICO:

AccelerometroTreAssiArduinoMMA7361

CARATTERISTICHE TECNICHE:

  • Tensione: 3.3-8V
  • Sensibilità selezionabile: ± 1,5 g / 6g
  • Bassa potenza: modalità di misurazione @ 500μA, 3μAstandby;
  • Alta sensibilità: 800 mV / g @ 1,5 g;
  • Interfaccia: Uscita analogica
  • Filtro passa basso
  • Dimensioni: 37x26mm

Sotto riportato sketch per controllare tramite Arduino le variazioni dell’accelerometro tre assi MMA7361:

#include <math.h>
#include <stdio.h>

#define A_X  5
#define A_Y  4
#define A_Z  3

int val_x,val_y,val_z;
double b;
void setup()
{
  pinMode(A_X,INPUT);
  pinMode(A_Y,INPUT);
  pinMode(A_Z,INPUT);
  Serial.begin(9600);
}
void loop()
{
  float a;
   for (int i=0;i<10;i++)
  {
    val_x+=analogRead(A_X);delay(2);
    val_y+=analogRead(A_Y);delay(2);
    val_z+=analogRead(A_Z);delay(2);
  }
   val_x=val_x/10;
   val_y=val_y/10;
   val_z=val_z/10;
   delay(300);    
   Serial.print(" X_Axis: ");
   Serial.print(val_x);
   Serial.print(" Z_Axis: ");
   Serial.print(val_z);
   Serial.print("      ");
   b=(double) (abs(val_x-320))/(abs(val_z-320));  
   Serial.print(" B: ");
   Serial.print(b); 
   Serial.print("      ");
   a=atan(b);
   Serial.print(" A: ");
   Serial.println(a/3.14*180);              //the value of Angle
   val_x=0;
   val_y=0;
   val_z=0;

}