Você já ficou em dúvida sobre qual modelo de componente comprar na hora de fazer seu projeto? Você sabe qual desses acelerômetros se encaixa melhor na medição de seus instrumentos? Este post tem como objetivo sanar suas dúvidas e te ajudar a escolher melhor o componente ideal para você! Aqui, iremos falar sobre os acelerômetros MPU-6050, MMA8452 e MPU-9250, abordaremos suas funções, modo de funcionamento e suas diferenças. Vamos lá?
O acelerômetro é um dispositivo usado para medir a aceleração própria de um sistema. Aceleração, propriamente dita, é a taxa de variação da velocidade de um corpo em seu próprio quadro de repouso instantâneo, o que é diferente da aceleração por coordenadas, que é a aceleração em um sistema de coordenadas fixo. Por exemplo, um acelerômetro em repouso na superfície da Terra medirá uma aceleração devida à gravidade da Terra, diretamente para cima (por definição) de g ≈ 9,81 m/s2. Em contraste, acelerômetros em queda livre (caindo em direção ao centro da Terra a uma taxa de cerca de 9,81 m/s2) medem zero.
Acelerômetros são largamente utilizados em nossa sociedade. Aqui estão algumas de suas principais aplicações.
O uso mais comum para essa tecnologia é ativar a rotação automática da tela em dispositivos móveis quando o usuário muda a sua orientação de retrato para paisagem ou vice-versa.
Outra aplicação muito conhecida é em controles de videogames. O acelerômetro é utilizado para identificar quando o jogador faz um determinado movimento com o controle, o qual, provavelmente, acionaria uma ação dentro do jogo.
Ouras aplicações de acelerômetros são:
Um acelerômetro funciona segundo o princípio do efeito piezoelétrico. Imagine uma caixa cuboide com uma pequena bola dentro dela, como na foto abaixo. As paredes desta caixa são feitas de cristais piezoelétricos. Sempre que você inclina a caixa, a bola é forçada a se mover na direção da inclinação devido à gravidade. A parede com a qual a bola colide cria pequenas correntes piezoelétricas. Existem três pares de paredes opostas em um cuboide. Cada par corresponde a um eixo no espaço 3D: eixos X, Y e Z. Dependendo da corrente produzida pelas paredes piezoelétricas, podemos determinar a direção de inclinação e sua magnitude.
Apesar de terem funções semelhantes, os acelerômetros MPU-6050, MMA8452 e MPU-9250 possuem diferenças cruciais. A seguir, será detalhado quais são essas discrepâncias.
O sensor MPU-6050 contém em um único chip um acelerômetro e um giroscópio tipo MEMS. São 3 eixos para o acelerômetro e 3 eixos para o giroscópio, sendo ao todo 6 graus de liberdade (6DOF). Além disso, esta placa tem um sensor de temperatura embutido no CI MPU6050, permitindo medições entre -40 e +85 ºC. Possui alta precisão devido ao conversor analógico digital de 16-bits para cada canal. Portanto o sensor captura os canais X, Y e Z ao mesmo tempo.
Para conferir nosso acelerômetro MPU-6050, clique aqui.
O módulo acelerômetro MMA8452 é um dispositivo de 12 bits de resolução com baixo consumo de energia, perfeito para o seu projeto de realidade virtual utilizando microcontroladores. Este sensor é a versão atualizada do MMA7361. O MMA8452 traz diversas melhorias embutidas em comparação com o seu antecessor MMA7361, e permite o uso de até 2 interrupções, diminuindo a carga de trabalho sobre o microcontrolador. Outra vantagem deste módulo é a utilização da interface I2C para comunicação.
Confera nosso acelerômetro MMA8452 clicando aqui.
O MPU-9250 é um dispositivo MotionTracking de 9 eixos que combina um Giroscópio de 3 eixos, Acelerômetro de 3 eixos, Magnetômetro de 3 eixos e um Processador de Movimento Digital (Digital Motion Processor™ – DMP).
Com seu barramento sensor I2C dedicado, o MPU-9250 fornece uma saída direta e completa MotionFusion™ de 9 eixos. O dispositivo MPU-9250 MotionTracking, com integração de 9 eixos, MotionFusion™ no chip e firmware de calibração em tempo de execução, permite integração fácil, com desempenho otimizado do movimento para qualquer dispositivo. O MPU-9250 também foi projetado para interagir com vários sensores digitais não inerciais, como sensores de pressão, em sua porta I2C auxiliar.
Agora que já aprendemos como funcionam e quais são as diferenças dos acelerômetros abordados, está na hora de programar um código para entendermos na prática como utilizar esses componentes.
Aqui, faremos apenas um programa para o MPU-6050, já que a programação dos três é muito similar.
Os únicos materiais necessários serão:
O diagrama abaixo representa a montagem do projeto.
Para este projeto, utilizaremos um código exemplo do próprio Arduino. Primeiramente, temos que baixar a biblioteca do MPU-6050. Para isso, basta abrir o Arduino no computador, e clicar em Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas…, como mostrado a seguir:
Posteriormente, escreva “MPU6050” na barra de pesquisa e instale a versão “Adafruit MPU6050”, preferencialmente.
Depois de instalado, vá em Arquivo -> Exemplos -> Adafruit MPU6050 (provavelmente no final da aba) -> plotter.
O seguinte código se abrirá, o qual utilizaremos nesse experimento.
// Basic demo for accelerometer readings from Adafruit MPU6050 #include <Adafruit_MPU6050.h> #include <Adafruit_Sensor.h> #include <Wire.h> Adafruit_MPU6050 mpu; void setup(void) { Serial.begin(115200); while (!Serial) { delay(10); // will pause Zero, Leonardo, etc until serial console opens } // Try to initialize! if (!mpu.begin()) { Serial.println("Failed to find MPU6050 chip"); while (1) { delay(10); } } mpu.setAccelerometerRange(MPU6050_RANGE_16_G); mpu.setGyroRange(MPU6050_RANGE_250_DEG); mpu.setFilterBandwidth(MPU6050_BAND_21_HZ); Serial.println(""); delay(100); } void loop() { /* Get new sensor events with the readings */ sensors_event_t a, g, temp; mpu.getEvent(&a, &g, &temp); /* Print out the values */ Serial.print(a.acceleration.x); Serial.print(","); Serial.print(a.acceleration.y); Serial.print(","); Serial.print(a.acceleration.z); Serial.print(", "); Serial.print(g.gyro.x); Serial.print(","); Serial.print(g.gyro.y); Serial.print(","); Serial.print(g.gyro.z); Serial.println(""); delay(10); }
O resultado esperado para esse experimento é os seguinte:
Antes, não esqueça de mudar a taxa de comunicação para 115200, como mostrado na figura abaixo;
Espero que tenha gostado do nosso post sobre acelerômetros. O intuito aqui foi tentar ajudar nossos leitores a escolherem adequadamente qual acelerômetro utilizar em diferentes situações.
Gostaria de aprender um pouco mais sobre componentes eletrônicos e Arduino? Acesso nosso blog na categoria “Tutoriais” e descubra mais! Basta clicar aqui.
Curtiu o post? Avalie e deixe um comentário!
Siga-nos também no Instagram e nos marque quando fizer algum projeto nosso: @eletrogate.
Até mais!
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!