久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6044|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

STM32讀取MPU6050傳感器角度和溫度數(shù)據(jù)OLED顯示 源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
STM32讀取MPU6050傳感器角度和溫度數(shù)據(jù)OLED顯示

  • 采用的是STM32F103C8T6讀取陀螺儀MPU6050的角度數(shù)據(jù)和溫度信息,使用6050自帶DMP庫(kù)姿態(tài)解算出各個(gè)方向的角度,并使用OLED實(shí)時(shí)刷新顯示,同時(shí)可以將數(shù)據(jù)通過(guò)串口發(fā)送到計(jì)算機(jī),每一組數(shù)據(jù)50ms。本操作過(guò)程簡(jiǎn)單,只涉及了屏幕驅(qū)動(dòng)顯示和陀螺儀數(shù)據(jù)的讀取,非常適合功能移植。

制作出來(lái)的實(shí)物圖如下:

  • 硬件說(shuō)明:本實(shí)驗(yàn)采用的是1.3"寸的OLED屏幕+STM32F103C8T6最小系統(tǒng)開(kāi)發(fā)板。
  • 接線(xiàn)說(shuō)明:SH1106 I2C OLED屏幕:SDA:PA7        SCL:PA5;MPU6050接線(xiàn):SDA:PB7        SCL:PB6
  • 供電說(shuō)明:都是3.3V供電。
  • 如需更改為0.96"寸屏幕顯示,只需要修改相關(guān)地方而處:oled.c文件
  1. //更新顯存到OLED
  2. void OLED_Refresh(void)
  3. {
  4.     u8 i,n;
  5.     for(i=0; i<8; i++)
  6.     {
  7.         OLED_WR_Byte(0xb0+i,OLED_CMD); //設(shè)置行起始地址
  8.         OLED_WR_Byte(0x02,OLED_CMD);   //設(shè)置低列起始地址0.96屏0x00,1.3屏地址0x02
  9.         OLED_WR_Byte(0x10,OLED_CMD);   //設(shè)置高列起始地址
  10.         for(n=0; n<128; n++)
  11.             OLED_WR_Byte(OLED_GRAM[n][i],OLED_DATA);
  12.     }
  13. }
復(fù)制代碼
還有初始化地方:

  1. void OLED_Init(void)
  2. {
  3.     GPIO_InitTypeDef  GPIO_InitStructure;
  4.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);         //使能A端口時(shí)鐘
  5.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_5;
  6.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽輸出
  7.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
  8.     GPIO_Init(GPIOA, &GPIO_InitStructure);          //初始化GPIOD3,6
  9.     GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_7);//PA5 PA7
  10.     delay_ms(200);
  11.     OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel關(guān)閉顯示
  12.     OLED_WR_Byte(0x02,OLED_CMD);//---set low column address0.96屏地址0x00,1.3寸屏0x02
  13.     OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
  14.     OLED_WR_Byte(0x40,OLED_CMD);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
  15.     OLED_WR_Byte(0x81,OLED_CMD);//--set contrast control register
  16.     OLED_WR_Byte(0xCF,OLED_CMD);// Set SEG Output Current Brightness
  17.     OLED_WR_Byte(0xA1,OLED_CMD);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常
  18.     OLED_WR_Byte(0xC8,OLED_CMD);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常
  19.     OLED_WR_Byte(0xA6,OLED_CMD);//--set normal display
  20.     OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
  21.     OLED_WR_Byte(0x3f,OLED_CMD);//--1/64 duty
  22.     OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset        Shift Mapping RAM Counter (0x00~0x3F)
  23.     OLED_WR_Byte(0x00,OLED_CMD);//-not offset
  24.     OLED_WR_Byte(0xd5,OLED_CMD);//--set display clock divide ratio/oscillator frequency
  25.     OLED_WR_Byte(0x80,OLED_CMD);//--set divide ratio, Set Clock as 100 Frames/Sec
  26.     OLED_WR_Byte(0xD9,OLED_CMD);//--set pre-charge period
  27.     OLED_WR_Byte(0xF1,OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
  28.     OLED_WR_Byte(0xDA,OLED_CMD);//--set com pins hardware configuration
  29.     OLED_WR_Byte(0x12,OLED_CMD);
  30.     OLED_WR_Byte(0xDB,OLED_CMD);//--set vcomh
  31.     OLED_WR_Byte(0x40,OLED_CMD);//Set VCOM Deselect Level
  32.     OLED_WR_Byte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)
  33.     OLED_WR_Byte(0x02,OLED_CMD);//
  34.     OLED_WR_Byte(0x8D,OLED_CMD);//--set Charge Pump enable/disable
  35.     OLED_WR_Byte(0x14,OLED_CMD);//--set(0x10) disable
  36.     OLED_WR_Byte(0xA4,OLED_CMD);// Disable Entire Display On (0xa4/0xa5)
  37.     OLED_WR_Byte(0xA6,OLED_CMD);// Disable Inverse Display On (0xa6/a7)
  38.     OLED_WR_Byte(0xAF,OLED_CMD);
  39.     OLED_Clear();
  40. }
復(fù)制代碼
如果設(shè)置的顯示的數(shù)據(jù)不是從屏幕坐標(biāo)(0,0)-(2,2)的顯示,不需要更改也可以驅(qū)動(dòng)顯示,實(shí)際上1.3"OLED屏幕就是在0.96寸屏幕的基礎(chǔ)上偏移了2個(gè)像素點(diǎn)。


  • 程序源碼文件見(jiàn)附件。
C8T6 mpu6050簡(jiǎn)單讀取.7z (262.62 KB, 下載次數(shù): 213)

評(píng)分

參與人數(shù) 2黑幣 +65 收起 理由
lixiaojian + 5 很給力!
admin + 60 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1130060 發(fā)表于 2024-8-5 14:17 | 只看該作者
請(qǐng)問(wèn)使用這個(gè)代碼,改成0.96英寸的顯示屏后,屏幕會(huì)跳動(dòng)亂碼是怎么回事啊?
回復(fù)

使用道具 舉報(bào)

板凳
ID:1130060 發(fā)表于 2024-8-6 16:24 | 只看該作者
請(qǐng)問(wèn)改用0.96英寸的屏幕后,出現(xiàn)閃屏亂碼是什么回事啊
回復(fù)

使用道具 舉報(bào)

地板
ID:99242 發(fā)表于 2024-9-17 23:41 來(lái)自手機(jī) | 只看該作者
我也不知道怎么改
回復(fù)

使用道具 舉報(bào)

5#
ID:406132 發(fā)表于 2024-11-12 11:59 | 只看該作者
好的好的,謝謝分享!
回復(fù)

使用道具 舉報(bào)

6#
ID:25103 發(fā)表于 2024-12-11 19:44 | 只看該作者
謝謝樓主分享,謝謝!!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产黄色精品在线观看 | 精产国产伦理一二三区 | 国产激情一区二区三区 | 亚洲乱码一区二区三区在线观看 | 国产999精品久久久影片官网 | 国产在线中文字幕 | 污污的网站在线观看 | 一区二区在线不卡 | 伊人焦久影院 | 久久亚洲欧美日韩精品专区 | 美国av毛片 | 日韩免费中文字幕 | 色视频网站 | 午夜一级黄色片 | 日韩看片 | 91久久国产综合久久91精品网站 | 精品久久久久久久久久久久久 | 99精品久久 | 欧美人妖网站 | 91久久久www播放日本观看 | 国产在线观看一区二区 | 国产一区二区三区四区在线观看 | 国产小u女发育末成年 | 久草在线青青草 | 亚洲成人免费 | 久久久久久久久精 | 亚洲欧美视频一区 | 天堂一区在线观看 | 伊人无码高清 | 日韩精品一二三 | 亚洲日本一区二区 | 亚洲国产精久久久久久久 | 免费一区二区 | 久久久久久久久久久久久9999 | 成人久久18免费网站 | 午夜视频在线视频 | 国产成人福利在线 | 日韩av在线中文字幕 | 日韩精品 | 欧美视频三区 | 狠狠色综合久久婷婷 |