openCR-獲取IMU加速度值
阿新 • • 發佈:2018-12-06
/* 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(" "); } }
結果: