Grove 接口惯性测量单元
GetSensorData
主控板通过 Grove 线连接 IMU-Module,读取出加速度值、角速度值和地磁值,并通过主控板的串口打印出这些信息。
在 vofa+ 软件上进行配置,可以对 IMU-Module 的数据进行姿态解算。
Things used in this project
Hardware components
Software apps and online services
Story
Schematics
Firmware
使用下面的工具可以直接在浏览器中烧录预编译的固件到 ESP32-C3 TFT Devkit 开发板,无需安装任何软件:
ESP32 烧录工具 (官方API)
未连接
选择固件
操作日志
使用说明和故障排查
如果出现无法烧录等情况,请参考 ESP Flasher 使用说明
Code
c++
/*
Arduino BMM150 - Simple Magnetometer
This example reads the magnetic field values from the BMM150
sensor and continuously prints them to the Serial Monitor
or Serial Plotter.
The circuit:
- Arduino Nano 33 BLE Sense Rev2
created 10 Jul 2019
by Riccardo Rizzo
This example code is in the public domain.
*/
#include "Arduino_BMI270_BMM150.h"
void setup() {
Serial.begin(115200);
while (!Serial);
Serial.println("Started");
Wire.begin(8, 10);
if (!IMU.begin()) {
Serial.println("Failed to initialize IMU!");
while (1);
}
Serial.print("Magnetic field sample rate = ");
Serial.print(IMU.magneticFieldSampleRate());
Serial.println(" Hz");
Serial.println();
Serial.println("Magnetic Field in uT");
Serial.println("X\tY\tZ");
}
void loop() {
float x, y, z;
if (IMU.accelerationAvailable()) {
IMU.readAcceleration(x, y, z);
Serial.print("accel:");
Serial.print(x);
Serial.print(',');
Serial.print(y);
Serial.print(',');
Serial.print(z);
Serial.println();
}
if (IMU.gyroscopeAvailable()) {
IMU.readGyroscope(x, y, z);
Serial.print("gyro:");
Serial.print(x);
Serial.print(',');
Serial.print(y);
Serial.print(',');
Serial.print(z);
Serial.println();
}
if (IMU.magneticFieldAvailable()) {
IMU.readMagneticField(x, y, z);
Serial.print("mag:");
Serial.print(x);
Serial.print(',');
Serial.print(y);
Serial.print(',');
Serial.print(z);
Serial.println();
}
delay(500);
}