/* 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(" "); } }
结果: