openCR-获取IMU加速度值
/*
Range(取值范围) : +/- 2 g
Scale(比例换算) : 16384 = 1 g
单位:牛顿
*/
//IUM传感器头文件
//此代码主要测试IMU的加速度传感器的数值
#include <IMU.h>
cIMU IMU;
//端口定义
uint8_t led_tog = 0;
uint8_t led_pin = 13;
void setup()
{
//设定的波特率为115200
Serial.begin(115200);
IMU.begin();
//定义led_pin端口(pin13脚)为输出
pinMode( led_pin, OUTPUT );
}
void loop()
{
static uint32_t tTime[3];
static uint32_t imu_time = 0;
//500ms交替闪烁
if( (millis()-tTime[0]) >= 500 )
{
//mills()函数返回以毫秒表示的时间
tTime[0] = millis();
digitalWrite( led_pin, led_tog );
//LED管脚取反
led_tog ^= 1;
}
//micros()函数返回以微秒表示的时间
tTime[2] = micros();
//IMU调用update函数反应时间
if( IMU.update() > 0 )
imu_time = micros()-tTime[2];
//间隔50ms发送一次数据
if( (millis()-tTime[1]) >= 50 )
{
//mills()函数返回以毫秒表示的时间
tTime[1] = millis();
Serial.print(imu_time);
Serial.print(" \t");
Serial.print(IMU.accRaw[0]); // ACC X
Serial.print(" \t");
Serial.print(IMU.accRaw[1]); // ACC Y
Serial.print(" \t");
Serial.print(IMU.accRaw[2]); // ACC Z
Serial.println(" ");
}
}
结果:

|
作者:kay 出处:https://www.cnblogs.com/kay2018/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |

浙公网安备 33010602011771号