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(" 	");
    Serial.print(IMU.accRaw[0]);    // ACC X
    Serial.print(" 	");
    Serial.print(IMU.accRaw[1]);    // ACC Y
    Serial.print(" 	");
    Serial.print(IMU.accRaw[2]);    // ACC Z
    Serial.println(" ");
  }
}

  结果:

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