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.

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.
Partindo para o projeto, faça a ligação
do componente no Arduino conforme o esquema abaixo:
Prosseguindo, baixe as bibliotecas, descompacte o arquivo zip i2cdevlib-master, abra essa pasta, em seguida, abra a pasta Arduino, copie as pastas I2Cdev e MPU6050 e cole em C:\Users\admin\Documents\Arduino\libraries.
Prosseguindo, baixe as bibliotecas, descompacte o arquivo zip i2cdevlib-master, abra essa pasta, em seguida, abra a pasta Arduino, copie as pastas I2Cdev e MPU6050 e cole em C:\Users\admin\Documents\Arduino\libraries.
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_READABLE_YAWPITCHROLL e siga as demais alterações no programa conforme as figuras abaixo:
Partindo para o MATLAB, baixe o script junto com a função e faça a alteração da porta no script conforme a figura abaixo:
Execute o programa, aguarde alguns segundos e veja o resultado:
Olá! Gostei muito do seu projeto, poderia compartilhar os arquivos pra eu rodar aqui?
ResponderExcluirMeu e-mail: vinicius.altarni@unesp.br