Pular para o conteúdo principal

Grove - IMU 10DOF

pir

Grove - IMU 10DOF é uma combinação de Grove - IMU 9DOF e Grove - Barometer Sensor (BMP180). Este módulo é baseado em MPU-9250 e BMP180, o MPU-9250 é um dispositivo de rastreamento de movimento de 9 eixos que combina um giroscópio de 3 eixos, acelerômetro de 3 eixos, magnetômetro de 3 eixos e um Digital Motion Processor (DMP), e o BMP180 é um sensor de pressão digital de alta precisão e consumo ultrabaixo para aplicações de consumo. Este módulo é muito adequado para aplicações em smartphones, tablets e dispositivos vestíveis.

pir

Especificações

  • Interface I2C
  • Endereço I2C do MPU-9250 selecionável
  • Baixo consumo de energia
  • Modo Rápido I2C de 400kHz para comunicação com todos os registradores
  • Sensores de taxa angular (giroscópios) de saída digital dos eixos X, Y e Z com faixa de escala completa programável pelo usuário de ±250, ±500, ±1000 e ±2000°/s
  • Acelerômetro de 3 eixos com saída digital e faixa de escala completa programável de ±2g, ±4g, ±8g e ±16g
  • Magnetômetro com saída digital e faixa de escala completa de ±4800uT
  • Barômetro com saída digital e faixa de 300 ~ 1100hPa(+9000m ~ -500m em relação ao nível do mar)
  • Dimensões: 25,43mm x 20,35mm
  • Endereço I2C: padrão 0x68, consulte a Visão geral do hardware para alterar para 0x69.
nota

Se você quiser usar vários dispositivos I2C, consulte Software I2C

dica

Para mais detalhes sobre os módulos Grove, consulte Grove System

Plataformas compatíveis

ArduinoRaspberry Pi

pir

pir

cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.

Visão geral do hardware

pir

pir

  • 1: Pad de seleção de endereço I2C do MPU-9250, por padrão conectados a e b o endereço é 0x68, se conectar b e c o endereço é 0x69
  • 2: Pino de interrupção do MPU-9250, a interrupção deve ser configurada, as fontes de interrupção disponíveis são: detecção de movimento, estouro de fifo, dados prontos, erro de mestre i2c

Primeiros passos

Forneceremos um exemplo aqui para mostrar como usar este sensor.

Brincar com Arduino

Hardware

  • Passo 1. Prepare os itens abaixo:
Seeeduino V4.2Base ShieldGrove-IMU_10DOF

pir

pir

pir

Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o Grove-IMU_10DOF à porta I2C do Grove-Base Shield.
  • Passo 3. Conecte o Grove - Base Shield ao Seeeduino.
  • Passo 4. Conecte o Seeeduino ao PC através de um cabo USB.

pir

nota

Se não tivermos o Grove Base Shield, também podemos conectar este módulo diretamente ao Seeeduino como abaixo.

seeeduino_v4Grove-IMU_10DOF
5VVCC
GNDGND
SDASDA
SCLSCL

Software

Passo 1. Baixe a biblioteca do Github.

Passo 2. Consulte How to install library para instalar a biblioteca para o Arduino.

Passo 3. Abra o código diretamente pelo caminho: File -> Example -> IMU_10DOF_Test.

Aqui está uma parte do código:


void setup()
{
// join I2C bus (I2Cdev library doesn't do this automatically)
Wire.begin();

// initialize serial communication
// (38400 chosen because it works as well at 8MHz as it does at 16MHz, but
// it's really up to you depending on your project)
Serial.begin(38400);

// initialize device
Serial.println("Initializing I2C devices...");
accelgyro.initialize();
Barometer.init();

// verify connection
Serial.println("Testing device connections...");
Serial.println(accelgyro.testConnection() ? "MPU9250 connection successful" : "MPU9250 connection failed");

delay(1000);
Serial.println(" ");

// Mxyz_init_calibrated ();

}

void loop()
{

getAccel_Data();
getGyro_Data();
getCompassDate_calibrated(); // compass data has been calibrated here
getHeading(); //before we use this function we should run 'getCompassDate_calibrated()' frist, so that we can get calibrated data ,then we can get correct angle .
getTiltHeading();

Serial.println("calibration parameter: ");
Serial.print(mx_centre);
Serial.print(" ");
Serial.print(my_centre);
Serial.print(" ");
Serial.println(mz_centre);
Serial.println(" ");


Serial.println("Acceleration(g) of X,Y,Z:");
Serial.print(Axyz[0]);
Serial.print(",");
Serial.print(Axyz[1]);
Serial.print(",");
Serial.println(Axyz[2]);
Serial.println("Gyro(degress/s) of X,Y,Z:");
Serial.print(Gxyz[0]);
Serial.print(",");
Serial.print(Gxyz[1]);
Serial.print(",");
Serial.println(Gxyz[2]);
Serial.println("Compass Value of X,Y,Z:");
Serial.print(Mxyz[0]);
Serial.print(",");
Serial.print(Mxyz[1]);
Serial.print(",");
Serial.println(Mxyz[2]);
Serial.println("The clockwise angle between the magnetic north and X-Axis:");
Serial.print(heading);
Serial.println(" ");
Serial.println("The clockwise angle between the magnetic north and the projection of the positive X-Axis in the horizontal plane:");
Serial.println(tiltheading);
Serial.println(" ");

temperature = Barometer.bmp180GetTemperature(Barometer.bmp180ReadUT()); //Get the temperature, bmp180ReadUT MUST be called first
pressure = Barometer.bmp180GetPressure(Barometer.bmp180ReadUP());//Get the temperature
altitude = Barometer.calcAltitude(pressure); //Uncompensated caculation - in Meters
atm = pressure / 101325;

Serial.print("Temperature: ");
Serial.print(temperature, 2); //display 2 decimal places
Serial.println("deg C");

Serial.print("Pressure: ");
Serial.print(pressure, 0); //whole number only.
Serial.println(" Pa");

Serial.print("Ralated Atmosphere: ");
Serial.println(atm, 4); //display 4 decimal places

Serial.print("Altitude: ");
Serial.print(altitude, 2); //display 2 decimal places
Serial.println(" m");

Serial.println();
delay(1000);

}

Passo 4. Faça o upload do código. Selecione o tipo de placa e a porta COM corretos.

Você pode ver:

pir

Referências

  • Orientação dos eixos O diagrama abaixo mostra a orientação dos eixos de sensibilidade e a polaridade de rotação.

pir

Grove - IMU 10DOF v1.0

Grove - IMU 10DOF v1.1

Recursos

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...