Os sensores IMU são um dos tipos mais comuns e mais confiáveis de sensores usados hoje em todos os tipos de aparelhos eletrônicos. Os sensores da IMU (Inertia Measurement Unit) nos ajudam a obter a atitude de um objeto ligado ao sensor no espaço tridimensional. Esses sensores fornecem valores que geralmente são transformados em ângulos para nos ajudar a determinar sua atitude. Eles são usados em smartphones para detectar sua orientação ou em aparelhos wearable como o Fit Bit que usam sensores IMU para rastrear o movimento.
Os
sensores IMU normalmente consistem em duas ou mais partes. Listando-os por
prioridade são o acelerômetro, o giroscópio, o magnetômetro e o altímetro. O
MPU 6050 é um 6 DOF (Degrees of Freedom) ou um sensor de IMU de seis eixos, o
que significa que ele fornece seis valores como saída. Três valores do
acelerômetro e três do giroscópio. O MPU 6050 é um sensor baseado na tecnologia
MEMS (Micro Electro Mechanical Systems).
Um
acelerômetro funciona com o princípio do efeito piezoelétrico. Imagine uma
caixa com uma bola pequena dentro dela onde as paredes desta caixa são feitas
com cristais piezoelétricos e, quando inclinamos essa caixa, a bola é forçada a
se mover na direção da inclinação devido à gravidade. Existem três pares de
paredes opostas nessa caixa onde cada par corresponde a um eixo no espaço 3D:
eixos X, Y e Z. Quando a bola colide em cada uma dessa parede, cria pequenas correntes piezoelétricas
as quais são utilizadas para determinar a direção da inclinação e sua
magnitude.
Os
giroscópios trabalham de acordo com no princípio da aceleração de Coriolis.
Imagine uma estrutura de cristais piezoelétricos (representada pelos braços sensores na figura ao lado) semelhante a uma forquilha que esteja em constante movimento vibratório. Essas vibrações nos cristais, resultado da inércia do garfo móvel, produzem assim uma corrente em consenso com o efeito piezoelétrico, esta corrente é amplificada e seus valores são então refinados pelo microcontrolador.
Imagine uma estrutura de cristais piezoelétricos (representada pelos braços sensores na figura ao lado) semelhante a uma forquilha que esteja em constante movimento vibratório. Essas vibrações nos cristais, resultado da inércia do garfo móvel, produzem assim uma corrente em consenso com o efeito piezoelétrico, esta corrente é amplificada e seus valores são então refinados pelo microcontrolador.
O MPU-6050 é um sensor DMP (Digitam Motion Processor) que além do giroscópio e do acelerômetro, tem um termômetro na mesma board. É um
dispositivo de alta precisão e baixo custo com comunicação I2C (Inter-Integrated Circuit) com o Arduino.
Feito isso, baixe o código de calibração, carregue no Arduino, abra o Monitor Serial, aguarde o final e copie os offsets para serem inseridos no próximo programa.
Vá à pasta Arquivo>Exemplo>MPU6050> MPU6050_DMP6 abra o exemplo MPU6050_DMP6, insira os valores offsets encontrados no sketch de calibragem, faça a seleção para # define OUTPUT_TEAPOT e siga as demais alterações conforme as figuras abaixo:
Seguindo para o Processing, baixe a biblioteca Toxilib, descompacte-a, copie a pasta e cole em em C:\Users\admin\Documents\Processing\libraries. Feito isso baixe o arquivo MPUTeapot, inicie o programa e configure-o conforme indicado abaixo:
Ao executar o MPUTeapot, ele inicia com a figura conforme calibrado e ao movimentar o Sensor MPU 6050, vemos a imagem em 3D se movimentando conforme o movimento do sensor.