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