300x250 AD TOP

Blogger news

AD (728x90)

Tecnologia do Blogger.

Colaboradores

Seguidores

Postagens populares

Tagged under: , ,

Como Utilizar o acelerômetro MM7361 no Arduino



O que são acelerômetros?

Sendo a Wikipédia, o acelerômetro é um dispositivo usado para medir a aceleração própria, e por essa característica os Acelerômetros são dispositivos que podem funcionar a partir de diversos efeitos físicos e tem, portanto, uma ampla faixa de valores de aceleração que são capazes de medir, logo tem uma gama de aplicações bastante elevada. Esses dispositivos são usados principalmente em sistemas de posicionamento, sensores de inclinação, bem como sensores de vibração. Uma aplicação bastante conhecida de acelerômetros são as telas de aparelhos celulares que se ajustam de acordo com o ângulo que fazem em relação à aceleração da gravidade.

Agora que você já sabe o que é um acelerômetro, vamos ao que interessa 3:)


Esse módulo é bem prático e já vem pronto para uso, com os pinos já soldados. É um módulo de 3 eixos (X, Y e Z), que gera uma variação de tensão para cada eixo, variação esta que por sua vez é tratada pelas portas analógicas do Arduino. Onde as suas característica básicas são:
  • Operação com 5v ou 3.3v DC
  • 2 níveis de sensibilidade : 1,5G ou 6G
  • Modo sleep, ideal para uso em configurações que necessitem do uso de uma bateria
Antes de ligar tome muito cuidado, pois uma ligação errada pode danificar o componente, as funções de cada entrada serão mostradas na  tabela abaixo :


Pino do MMA7361
Função
Pina do Arduino
X
Voltagem de saída eixo X
A0
Y
Voltagem de saída eixo Y
A1
Z
Voltagem de saída eixo z
A2
3V3
Alimentação 3.3 Volts
-
5V
Alimentação 5 Volts
5V
ST
Self Test
Pino 12
GS
Seleção do modo de sensibilidade
Pino 10
0G
Detecção de queda livre linear
Pino 11
SL
Habilita o modo sleep
Pino 13
GND
Ground
GND
 

Seguindo essas instruções o circuito deve ficar semelhante à figura abaixo. 



Note que na imagem foi necessário ligar o pino 3.3 Volts do Arduino ao pino AREF, para que tenhamos uma tensão de referência. Isso foi feito, pois sem ele a leitura dos dados fica totalmente prejudicada:
§  Implementando no Arduino
Para ler os valores vindos do acelerômetro vou utilizar o seguinte código:





//Programa : Lendo dados do Acelerometro MMA7361  
//Alterações e comentários : nasemanadaprova.blogspot.com   
 #include  //Carrega a biblioteca do MMA7361  
   
 AcceleroMMA7361 accelero;  
 int x;  
 int y;  
 int z;  
   
 void setup()  
 {  
  Serial.begin(9600);  
  accelero.begin(13, 12, 11, 10, A0, A1, A2);  
  //Seta a voltagem de referencia AREF como 3.3V
  accelero.setARefVoltage(3.3);
  //Seta a sensibilidade (Pino GS) para +/-6G    
  accelero.setSensitivity(LOW);    
  accelero.calibrate();  
 }  
   
 void loop()  
 {  
  x = accelero.getXAccel(); //Obtem o valor do eixo X  
  y = accelero.getYAccel(); //Obtem o valor do eixo Y  
  z = accelero.getZAccel(); //Obtem o valor do eixo Z  
  Serial.print("\nx: ");   //Mostra os valores no serial monitor  
  Serial.print(x);  
  Serial.print(" \ty: ");  
  Serial.print(y);  
  Serial.print(" \tz: ");  
  Serial.print(z);  
  Serial.print("\tG*10^-2");  
  delay(500);                     
 } 



Esse e mais outros dois exemplo podem ser encontrados na própria biblioteca do MMA7361, na biblioteca esse código chama-se  G_FORCE.

Para encontra-lo, vá em File->Examples->MMA7361.
Por fim, carregue o programa no Arduino, movimente o sensor e veja no serial monitor como se comportam as variações dos eixos X, Y, Z, e a gravidade (G).



0 comentários:

Postar um comentário