MPU 6050 Controle 2 Servos Motores
Controle Dois Servos Motores utilizando o Giroscópio MPU6050.
Você tem em um mesma placa um acelerômetro e um Giroscópio de alta precisão, tudo controlado pelo CI MPU6050
O MPU6050 (datasheet) tem embutido o recurso DMP(Processador de Movimento Digital) o mesmo é responsável por realizar os mais complexos cálculos com os sensores onde estes dados podem ser utilizados em sistemas de reconhecimento de movimento, navegação GPS, e as mais diversas aplicações. Outro recurso que o MPU 6050 possui é um sensor de temperatura embutido permitindo medições que podem variar emtre -40 à +85 ºC
Sua comunicação com o microcontrolador se dá através do barramento de dados I2C, utilizando os pinos SCL e SDA do sensor. Os pinos XDA e XCL pode ser ligado outros dispositivos I2C, como um magnetômetro por exemplo, e assim criar um sistema de orientação completo. Sua alimentação pode variar entre 3 e 5v, mas para um melhor desempenho e precisão do módulo recomenda-se utilizar 5v.
O pino AD0 define o endereçamento do MPU6050, quando desconectado define que o endereço I2C do sensor é 0x68. Uma vez conectado à 3v3 do Arduino seu endereço será alterado para 0x69. Isto serve caso precise possuir mais de um MPU6050 no memo barramento.
Para mostrar os dados Infirmados pelo MPU6050 iremos utilizar o emulador de Serial do próprio Arduino para visualização.
Iremos mostrar os seguintes dados:
Valor de X
Valor de Y
Que são os mesmos dados enviados para movimentar o motor, outros valores pode ser mostrado fazendo pouca alteração no software.
O código abaixo utiliza apenas os valores fornecidos pelo acelerômetro. O eixo paralelo à gravidade terá força 1g adicional.
A biblioteca Servo.h será necessária para o controle dos servos motores.
#include "Wire.h"
#include "Servo.h"
#include "MPU6050.h"