0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32的平衡小車設(shè)計過程分享(2)

一口氣吃不成胖子 ? 來源:一口氣吃不成胖子 ? 作者:一口氣吃不成胖子 ? 2023-04-27 14:37 ? 次閱讀

一、簡介

續(xù)上文,電機驅(qū)動部分完成,接下來我們給他加上一個OLED的顯示功能和MPU6050的姿態(tài)檢測功能

二、姿態(tài)角顯示開發(fā)

2.1 MPU6050簡介

MPU6050是一種集成了3軸陀螺儀和3軸加速度計的數(shù)字運動處理器。它由英飛凌公司開發(fā),可用于測量物體的角速度、加速度和方向,廣泛應(yīng)用于機器人、無人機、游戲手柄、智能手機和運動監(jiān)測等領(lǐng)域。MPU6050采用I2C接口進(jìn)行通信,具有低功耗、高精度、小尺寸等特點,是一款非常優(yōu)秀的運動傳感器。

poYBAGRKF7WAeO5MAAErXrwYGv0985.png

2.2 OLED簡介

OLED(Organic Light Emitting Diode)是有機發(fā)光二極管,是一種新型的顯示技術(shù)。與傳統(tǒng)的液晶顯示屏相比,OLED顯示屏具有更高的對比度、更快的響應(yīng)速度、更廣的視角、更薄的厚度和更低的功耗。
OLED顯示屏是由一系列有機材料制成的薄膜堆疊而成,其中包括發(fā)光材料、電子傳輸材料和電極材料等。當(dāng)電流通過這些材料時,它們會發(fā)出光,形成圖像。OLED顯示屏可以實現(xiàn)高分辨率、真實的顏色和高亮度。

poYBAGRKF7yAXS-YAACad0cbdtA658.png

2.3 驅(qū)動開發(fā)

OLED、MPU6050都是采用的IIC通信方式,我們簡單介紹一下IIC通信的原理

2.3.1 IIC 通信

2.3.1.1 概念

IIC(Inter-Integrated Circuit)總線是一種由NXP(原PHILIPS)公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。多用于主控制器和從器件間的主從通信,在小數(shù)據(jù)量場合使用,傳輸距離短,任意時刻只能有一個主機等特性。在 CPU 與被控 IC 之間、IC 與 IC 之間進(jìn)行雙向傳送,高速 IIC 總線一般可達(dá) 400kbps 以上。

2.3.1.2 實踐—代碼編寫

我們通過SDA、SCL兩條總線來進(jìn)行數(shù)據(jù)傳輸通信,首先我們要確定OLED、MPU6050的設(shè)備地址,我們通過查看數(shù)據(jù)手冊可得到,他們的地址分別為0x78、0X68,由此可寫出他們的IIC驅(qū)動代碼


/***********************0.96OLED********************************
void OLED_Write_IIC_Command(unsigned char IIC_Command)
{
		OLED_IIC_Start();
		OLED_Write_IIC_Byte(0x78);            //Slave address,SA0=0
		OLED_IIC_Wait_Ack();	
		OLED_Write_IIC_Byte(0x00);			//write command
		OLED_IIC_Wait_Ack();	
		OLED_Write_IIC_Byte(IIC_Command); 
		OLED_IIC_Wait_Ack();	
		OLED_IIC_Stop();
}
***********************************************************/

/*************************MPU6050****************************
u8 MPU_Write_Byte(u8 reg,u8 data) 				 
{ 
  MPU_IIC_Start(); 
	MPU_IIC_Send_Byte((MPU_ADDR<<1)|0);//發(fā)送器件地址+寫命令	
	if(MPU_IIC_Wait_Ack())	//等待應(yīng)答
	{
		MPU_IIC_Stop();		 
		return 1;		
	}
  MPU_IIC_Send_Byte(reg);	//寫寄存器地址
  MPU_IIC_Wait_Ack();		//等待應(yīng)答 
	MPU_IIC_Send_Byte(data);//發(fā)送數(shù)據(jù)
	if(MPU_IIC_Wait_Ack())	//等待ACK
	{
		MPU_IIC_Stop();	 
		return 1;		 
	}		 
  MPU_IIC_Stop();	 
	return 0;
}
***********************************************************/


2.4 效果演示

pYYBAGRKF9CAHXABAAXVDhXRx2g187.png


審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2551

    文章

    51097

    瀏覽量

    753524
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229807
  • OLED
    +關(guān)注

    關(guān)注

    119

    文章

    6200

    瀏覽量

    224193
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    355980
  • 平衡小車
    +關(guān)注

    關(guān)注

    1

    文章

    39

    瀏覽量

    12506
收藏 人收藏

    評論

    相關(guān)推薦

    基于STM32平衡小車設(shè)計過程分享(1)

    基于STM32平衡車開發(fā)
    的頭像 發(fā)表于 04-27 14:30 ?8247次閱讀
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>設(shè)計<b class='flag-5'>過程</b>分享(1)

    如何去制作一種基于stm32的兩輪平衡小車?求過程

    如何去制作一種基于stm32的兩輪平衡小車?基于stm32的兩輪平衡小車電路設(shè)計的基本
    發(fā)表于 07-09 07:47

    基于STM32F103C8T6制作平衡小車過程

    基于STM32F103C8T6制作平衡小車過程中的問題文章目錄基于STM32F103C8T6制作平衡
    發(fā)表于 08-24 08:07

    平衡小車移植過程中趟過的坑

    最近在研究平衡小車,在TB上買了一個小車套件,源代碼是用的stm32的3.5庫,自己打算移植到hal庫上面去,順便深入了解一下平衡
    發(fā)表于 09-17 06:40

    基于STM32的雙輪平衡小車設(shè)計

    預(yù)告:代碼及文檔下載方案分析1、基于STM32F103C8T6 單片機的雙輪自平衡小車系統(tǒng);2、以 MPU6050 三軸陀螺儀加速計為傳感器的姿態(tài)感知系統(tǒng);3、通過卡爾曼濾波對傳感器的
    發(fā)表于 11-30 08:03

    基于stm32程序的DIY二輪平衡小車

    在校期間制作的stm32平衡小車,效果還可以
    發(fā)表于 05-20 10:05 ?74次下載

    基于STM32設(shè)計的智能平衡小車源代碼免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是基于STM32設(shè)計的智能平衡小車源代碼 支持手機及電腦上位機控制的平衡小車
    發(fā)表于 07-16 08:00 ?123次下載

    STM32智能平衡小車的詳細(xì)電路原理圖免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32智能平衡小車的詳細(xì)電路原理圖免費下載。
    發(fā)表于 03-01 17:40 ?83次下載
    <b class='flag-5'>STM32</b>智能<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>的詳細(xì)電路原理圖免費下載

    STM32的兩輪平衡小車源代碼

    基于STM32的兩輪平衡小車源代碼說明。
    發(fā)表于 03-17 14:21 ?64次下載

    STM32智能平衡小車詳細(xì)電路原理圖

    STM32智能平衡小車詳細(xì)電路原理圖免費下載。
    發(fā)表于 06-18 10:55 ?196次下載

    stm32藍(lán)牙平衡小車制作項目心得(一)

    自從肝了這么多stm32的視頻,一直沒有做項目來實踐。這次的平衡小車項目
    發(fā)表于 01-14 12:06 ?12次下載
    <b class='flag-5'>stm32</b>藍(lán)牙<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>制作項目心得(一)

    平衡小車調(diào)試總結(jié)

    前言本文將總結(jié)平衡小車的調(diào)試經(jīng)驗,經(jīng)過幾晚的努力平衡小車已經(jīng)可以比較穩(wěn)定的平衡了。本文平衡
    發(fā)表于 01-14 12:29 ?14次下載
    <b class='flag-5'>平衡</b><b class='flag-5'>小車</b>調(diào)試總結(jié)

    stm32平衡小車

    stm32f103c8t6的平衡小車的代碼
    發(fā)表于 06-15 14:51 ?51次下載

    基于STM32的兩輪平衡小車設(shè)計

    學(xué)習(xí)一種單片機最快的方式莫過于用它實際制作一個作品了,前些天看到有人在玩平衡小車,感覺非常有趣,于是就決定自己動手制作一個基于stm32的兩輪平衡
    的頭像 發(fā)表于 07-25 15:48 ?3145次閱讀
    基于<b class='flag-5'>STM32</b>的兩輪<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>設(shè)計

    STM32平衡小車原理圖

    STM32f103c8t6平衡小車原理圖
    發(fā)表于 07-05 10:54 ?1次下載