mpu6050 感測器 加速度 傾斜角度

更新於 發佈於 閱讀時間約 2 分鐘

這篇介紹如何用加速度取得傾斜角度,使用的是arduino nano和mpu6050,利用Arduino IDE 環境編譯。

要利用加速度計算傾斜角度需要用一點三角函數。


g 為重力 ay az為y軸加速度和z軸加速度

g 為重力 ay az為y軸加速度和z軸加速度

當mpu6050傾斜時,將重力(g)分為ay az(感測器讀取到的加速度數值)。

tanθ=ay/az ,要找到θ 用反三角函數arctan(ay/az) 可找到角度。

以下是程式,用的是和前篇一樣的<basicMpu6050.h>,這個是從範例程式修改成的。

raw-image


使用這個程式需將mpu6050前後旋轉做陀螺儀校正,校正後數值才會出現。

#include <basicMPU6050.h> 

// Create instance
basicMPU6050<> imu;

float pitch_angle,roll_angle;

void setup() {

// Set registers - Always required

imu.setup();

// Initial calibration of gyro

imu.setBias();

// Start console

Serial.begin(38400);

}
void loop() {

// Update gyro calibration
imu.updateBias();

//-- Scaled and calibrated output:
// Accel
Serial.print( imu.ax() );
Serial.print( " " );
Serial.print( imu.ay() );
Serial.print( " " );
Serial.print( imu.az() );
Serial.println( " " );

//Angle
//*180/3.1415964 將角度radian(弧度) 轉為 度
//atan2​ 計算 arctan 求角度
pitch_angle=atan2(imu.ay(),imu.az())*180/3.14159264;
roll_angle=atan2(imu.ax(),imu.az())*180/3.14159264;
Serial.print(pitch_angle);
Serial.print(" ");
Serial.println(row_angle);
delay(100);

}


得到的數值如下圖

raw-image


將mpu6050 在y軸做傾斜,像是飛機起飛時的仰角(pitch)

raw-image


將mpu6050 在x軸做傾斜,像是飛機的滾轉(roll)

raw-image


這些是利用mpu6050加速度數值取得傾斜角度變化。

avatar-img
3會員
26內容數
寫程式的筆記,把一些自學寫過的程式放上來
留言
avatar-img
留言分享你的想法!

































































程式_筆記 的其他內容
本篇內容介紹如何使用 Python中的 moviepy library 簡單的剪影片。 先安裝moviepy library , 用pip install moviepy , 可參考官方文件。 要剪的影片和python檔要在同個資料夾中,若不在同個位置要用 os library 更換路徑
本篇內容介紹如何使用 Python中的 moviepy library 簡單的剪影片。 先安裝moviepy library , 用pip install moviepy , 可參考官方文件。 要剪的影片和python檔要在同個資料夾中,若不在同個位置要用 os library 更換路徑
因為很喜歡玩空拍機、遙控飛機,因此最近又開始研究無人機領域,偶然發現有兩個網站,介紹各個國家對於無人機飛行的規範和限制,分享給想帶空拍機出國旅遊的朋友們。
Linux cp 在C語言實現
本篇內容介紹如何使用 Python中的 moviepy library 簡單的剪影片。 先安裝moviepy library , 用pip install moviepy , 可參考官方文件。 要剪的影片和python檔要在同個資料夾中,若不在同個位置要用 os library 更換路徑
本篇內容介紹如何使用 Python中的 moviepy library 簡單的剪影片。 先安裝moviepy library , 用pip install moviepy , 可參考官方文件。 要剪的影片和python檔要在同個資料夾中,若不在同個位置要用 os library 更換路徑
因為很喜歡玩空拍機、遙控飛機,因此最近又開始研究無人機領域,偶然發現有兩個網站,介紹各個國家對於無人機飛行的規範和限制,分享給想帶空拍機出國旅遊的朋友們。
Linux cp 在C語言實現
你可能也想看
Google News 追蹤
介紹以物件導向的方式,以向量來實作物體運動的模擬程式。
Thumbnail
直觀理解 導數:考慮的是單一變數的函數,描述的是函數在某點的斜率或變化率。 偏導數:考慮的是多變數函數,描述的是函數在某個變數變化時的變化率,其他變數保持不變。  (針對各維度的調整 或者稱變化 你要調多少) 應用 導數:在物理學中應用廣泛,例如描述速度和加速度。 偏導數:在多變量分析、優
Thumbnail
廢話不多說,先上成果圖。 成果圖 主要實現方法 1.灰階後利用cv2.Canny找物體的邊緣 2.找物件相對應的直線cv2.HoughLines 3.分類為橫向和垂直的直線角度,求得相對於物件的旋轉角度 4.根據算出的相對應旋轉角度將物件轉正
介紹以物件導向的方式,以向量來實作物體運動的模擬程式。
Thumbnail
直觀理解 導數:考慮的是單一變數的函數,描述的是函數在某點的斜率或變化率。 偏導數:考慮的是多變數函數,描述的是函數在某個變數變化時的變化率,其他變數保持不變。  (針對各維度的調整 或者稱變化 你要調多少) 應用 導數:在物理學中應用廣泛,例如描述速度和加速度。 偏導數:在多變量分析、優
Thumbnail
廢話不多說,先上成果圖。 成果圖 主要實現方法 1.灰階後利用cv2.Canny找物體的邊緣 2.找物件相對應的直線cv2.HoughLines 3.分類為橫向和垂直的直線角度,求得相對於物件的旋轉角度 4.根據算出的相對應旋轉角度將物件轉正