加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

嵌入式外設集-三軸陀螺儀模塊(MPU6050)驅動代碼編寫

06/26 09:23
1781
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內容為數(shù)字版權作品,購買后不支持退換且無法轉移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關方案
  • 方案介紹
    • 一、模塊介紹
    • 二、代碼展示
    • 三、參考
  • 相關文件
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

一、模塊介紹

MPU6050是一款集成了加速度傳感器陀螺儀的6軸運動傳感器。它可以用于測量物體在三維空間中的加速度和旋轉速度,并計算出物體的姿態(tài)角度。該傳感器具有高精度和低功耗的特性,因此也被廣泛應用于機器人、飛行器、智能穿戴設備等領域。在使用MPU6050時,用戶需要使用I2C接口與其通信,并進行相應的配置和校準,以保證準確的數(shù)據(jù)輸出。???????

關注微信公眾號--星之援工作室 發(fā)送關鍵字(MPU6050)

????

452c0cf75b1d4e4895194df8a5022c34.png (865×328)

使用的注意事項

1.供電選擇選擇的5V供電更穩(wěn)定

2.使用的模擬IIC通信

3.需要主要MUP6050受到的環(huán)境因素改變較多,使用的時候盡量固定水平位面

4.完整代碼資料中有,可自行移植

二、代碼展示

main

/****************************************
1. MPU6050
PB9:INT   
PB7:IIC_SCL   
PB8:IIC_SDA
2. IIC顯示屏
PA1:IIC_SCL_OLED      
PA2:IIC_SDA_OLED
****************************************/
#include "oled.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "mpu6050.h"
#include "inv_mpu.h"
#include "inv_mpu_dmp_motion_driver.h" 
#include "uart.h"
#include "stdio.h"

MPU6050_Typedef mup6050_init;				  // 設備狀態(tài)

int main(void)
{	 
	//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	 //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級

	delay_init();				       //延時初始化
	OLED_Init();
	OLED_ColorTurn(0);         //0正常顯示,1 反色顯示
  OLED_DisplayTurn(0);       //0正常顯示 1 屏幕翻轉顯示
	MPU_Init();					       //初始化MPU6050
	USART1_Init();
	 
	OLED_ShowString(15,0,"Waiting",24,1);
	OLED_ShowString(0,28,"Initialise",24,1);
	OLED_Refresh();
	
	while(mpu_dmp_init())
 	{
		OLED_Clear();
		OLED_Refresh();
	}
	OLED_Clear();
	OLED_Refresh();
	OLED_ShowString(0,0,"PITCH:",16,1);
	OLED_ShowString(0,15,"ROLL:",16,1);
	OLED_ShowString(0,31,"YAW:",16,1);
	OLED_ShowString(0,47,"TEMP:",16,1);
	OLED_Refresh();
 	while(1)
	{
		if(mpu_dmp_get_data(&mup6050_init.pitch,&mup6050_init.roll,&mup6050_init.yaw)==0)
		{
			mup6050_init.temp=MPU_Get_Temperature();							  //得到溫度值
			MPU_Get_Accelerometer(&mup6050_init.aacx,&mup6050_init.aacy,&mup6050_init.aacz);	//得到加速度傳感器數(shù)據(jù)
			MPU_Get_Gyroscope(&mup6050_init.gyrox,&mup6050_init.gyroy,&mup6050_init.gyroz);	//得到陀螺儀數(shù)據(jù)
			
			/*
			printf("Pitch:  %frn",(float)pitch);
			printf("Roll:  %frn",(float)roll);
			printf("yaw:  %frn",(float)yaw);
			printf("temp:  %frn",(float)temp);
			printf(" rn");
			*/
			OLED_ShowFloat(50, 0,mup6050_init.pitch,1,16,1);
			OLED_ShowFloat(50,15,mup6050_init.roll,5,16,1);
			OLED_ShowFloat(50,31,mup6050_init.yaw,5,16,1);
			OLED_ShowFloat(50,47,(float)mup6050_init.temp/100,5,16,1);
			OLED_Refresh();
		}
	} 	
}

三、參考

正點原子STM32學習筆記——MPU6050介紹icon-default.png?t=N7T8https://blog.csdn.net/wlswls1711/article/details/102727250?ops_request_misc=&request_id=&biz_id=102&utm_term=mpu6050%E5%A7%BF%E6%80%81%E8%A7%A3%E7%AE%97stm32&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-102727250.nonecase&spm=1018.2226.3001.4187


完整代碼請關注公眾號進行獲取和咨詢


聯(lián)系方式 微信號:13648103287

  • 聯(lián)系方式.docx

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
LM35CAZ/NOPB 1 Texas Instruments 1C high voltage analog temperature sensor, 10 mV/C 3-TO-92 -40 to 110

ECAD模型

下載ECAD模型
$6.1 查看
TLV49645TBXALA1 1 Infineon Technologies AG Hall Effect Sensor, 2.8mT Min, 10.4mT Max, 0-25mA, Rectangular, Through Hole Mount, TO-92S, 3 PIN
$1.1 查看
AD7414ARTZ-1REEL7 1 Analog Devices Inc SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin

ECAD模型

下載ECAD模型
$2.56 查看

相關推薦

電子產(chǎn)業(yè)圖譜

方案定制,程序設計方案、單片機程序設計與講解、APP定制開發(fā)。本公眾號致力于向讀者傳遞關于程序設計和開發(fā)的相關知識,并分享一些關于軟件開發(fā)的最佳實踐。如果您有什么問題或建議,請隨時聯(lián)系我們。我們將竭誠為您服務