Tutorial: Utilizando o Acelerômetro MMA8452 com Processing

Neste tutorial vamos falar sobre o funcionamento dos acelerômetros e vamos demonstrar o MMA8452 ligado a um Arduino e em conjunto ao Processing, veremos a atuação da aceleração da gravidade sobre o sensor com um gráfico que pode ser visto na tela de seu computador.

Lista de Materiais

Adquira estes componentes na Loja do Lab de Garagem

1 x  Arduino ou Garagino Rev 1 

1 x Acelerômetro MMA8452

2 x Resistores de 330Ω

1 x Protoboard

Alguns jumpers

O que é um Acelerômetro 

Eles são instrumentos capazes de medir a aceleração dos objetos. A aceleração pelo sistema internacional é dada pela unidade m/s², mas também, há muitos processos que utilizam a força-g que é aproximadamente 9,8 m/s², esta unidade é representada com o simbolo g. Ela é muito utilizada pois é a aceleração que a gravidade da Terra nos proporciona.

Um sistema básico para este tipo de aferição seria com a utilização de um recipiente com líquido pela metade. Ao empurrarmos este recipiente, uma diferença na angulação do líquido dentro do recipiente ocorre. Este ângulo vai variar conforme a mudança da aceleração. Quando maior o ângulo, mais acelerado estará o recipiente.

Partindo dos mesmo principio, os acelerômetros atuais de utilizam sensores piezoelétricos, capacitivos e até mesmo MEMS que tem seus sinais amplificados e tratados internamente pelos circuitos e são entregues em saídas tanto analógicas como digitais.

Aplicações

Os acelerômetros são usados, por exemplo, na área automobilística que os utiliza para saber a força-g sobre a estrutura do carro e ajudar na orientação dos dispositivo GPS, nos computadores eles ajudam a proteger os HDs quando estão em queda (removendo a agulha de leitura para uma região protegida), nos smartphones que utilizam manter a tela sempre com a orientação correta, em controles de vídeo-games que o usam para interagir com os personagens dos jogos e em câmeras fotográficas que utilizam um circuito que compensa as vibrações do fotógrafo.

Nós aqui no LdG utilizamos ele neste projeto de carrinho: http://labdegaragem.com/profiles/blogs/projeto-controlando-rob-com-m-dulo-zigbee-e-aceler-metro

O Acelerômetro MMA8452

O MMA8452 é um acelerômetro de 3 eixos alimentado com tensão de 1,95 a 3,6V que utiliza uma interface I²C para se comunicar e tem escalas selecionáveis (+-2g /+-4g ou ainda +-8g), além de tudo isto, ele pode operar em modo 12 e 8 bits, tem dois pinos de interrupção configuráveis e orientação com configuração de histerese.

Visualização dos Eixos no Processing

Neste exemplo, vamos utilizar o Processing para analisar a força-g atuante sobre os eixos do sensor.

Os eixos X (vermelho) , Y (Verde) Z (Azul) tem sempre a aceleração da gravidade sobre eles. O eixo em branco na parte superior é a resultante da aceleração em todos os eixos como estamos com ele parado, sabemos que a única aceleração atuante sobre ele será gravidade da Terra.

O Circuito

Abaixo segue a montagem para a ligação do módulo com o Arduino

O Sketch

Vamos utilizar o exemplo básico que a SparkFun fornece junto com este módulo e um projeto do Processing para visualizar as leituras de cada eixo.

Os dois podem ser baixados clicando aqui.

 

Conclusão

Há uma infinidade de aplicações onde este tipo de sensor pode ser utilizado e o conjunto dele com o Processing, nos permite verificar a forma como ele funciona. Se tiverem dúvidas ou sugestões comentem no logo abaixo.

\o/

Referências

http://saperel.com/tutorijali/?p=32

http://en.wikipedia.org/wiki/Accelerometer

http://eutestei.info/materias/como-funciona-acelerometro

http://www.seara.ufc.br/tintim/tecnologia/acelerometro/acelerometro01.htm

Exibições: 16486

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Gabriel Alexandre Maturana em 15 julho 2019 às 13:27
Não consegui acessar o sketch, poderia fornecer outro link?
Agradeço
Comentário de Thalles Bogar em 2 fevereiro 2016 às 13:47

Olá,

Não encontrei o sketch do processing, ele nao está no link indicado. Se alguém puder me passar ou falar onde ele se encontra ficarei muito grato

Comentário de Euler Oliveira em 3 dezembro 2014 às 9:57

Acabei de comprar aqui no labdegaragem todo o material para executar este tutorial mas estou com problemas. O software trava dentro da função readRegister na linha while(!Wire.available()) ;. Tenho certeza de que fiz as ligações corretamente, como sugerido no tutorial. Me parece que a placa do UNO está funcionando bem pois os leds piscam quando envio o comando de gravação (USB em COM3, no meu caso). Dentro da função readRegister troquei a lógica da linha citada acima, para while(Wire.available()) ;, então o comando readRegister(WHO_AM_I); não retornou 0x2A, e sim 0xFF. Alguém me ajude a diagnosticar o problema, por favor? Muito obrigado!!

Comentário de Francisco Michel de Carvalho em 19 outubro 2014 às 22:23

como posso gerar esse gráfico de linhas em um mma7361? grato

Comentário de Suzan Basloom em 12 maio 2014 às 22:41

Very helpful , 

Thank you very much .

Comentário de Janio em 5 outubro 2013 às 19:51

Olá. Muito bom tutorial só gostaria de saber se alguém sabe como baixar esse programa (Processing)? Grato.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço