最終效果展示
OLED螢幕和GY30光照感測器(BH1750FVI)都連線在一個IIC(I2C)匯流排上,所以只需要接4根線即可。獲取到的光照強度可以在OLED上實時顯示並通過串列埠列印。IIC是IO模擬IIC,方便後續程式碼的移植到各個微控制器平臺。
硬體彙總
微控制器:STM32F103C8T6
OLED:0.96寸、128*64、驅動晶片是SSD1306(市場上常用)
光照強度感測器:GY-30,BH1750FVI主控即可
接線方法
IIC匯流排:SCL--PA1 、 SDA--PA0
串列埠:TX--PA9 、 RX--PA10
GY30與OLED供電均為3.3V
IIC匯流排的原理及特點
匯流排結構
l 匯流排只需要兩個資料線,分別為:
SCL:時鐘線,維護傳輸時鐘
SDA:資料線,傳輸的資料位
l 匯流排是板級匯流排,連線線一般不超過兩米
l 匯流排的資料線和時鐘線均需要上拉電阻(1~10K,一般為2.2k)
l 匯流排所有裝置均需共地
l 器件地址需要保證唯一性,不做任何裝置遮蔽的情況下,匯流排可掛載裝置為127個,因為器件地址預設為寫地址,讀地址需要將其最後一位變為1。
l IIC器件地址羅列:
12864 OLED螢幕:0x78
GY30光照感測器:0x46 或者 0xB8
IIC匯流排的訊號有以下類別:開始訊號、資料訊號、應答訊號、停止訊號
空閒狀態:
當時鍾線和資料線都為高電平是,IIC匯流排上的所有從裝置都處於空閒狀態。
開始訊號:
當時鍾線和資料線都為高電平是,資料線從高電平到低電平跳變,則為開始訊號
資料訊號:
時鐘線高電平時,資料線持續為低電平,當時鍾線降為低電平後,IIC裝置將受到1位資料0;時鐘線為高電平時,資料線持續為高電平,當時鍾線降為低電平後,IIC裝置將收到1位資料1。在時鐘線高電平的過程中,資料線必須保持穩定,不能變化,否則的話將被誤認為是控制訊號。
應答訊號:
應答訊號一般是在8個資料位傳送完成後就需要產生一個
停止訊號:
當時鍾線為高電平、資料線為低電平是,資料線從低到高的跳變,則為停止訊號
12864 OLED螢幕簡介
l 每個畫素點自發光、較LCD螢幕去掉了高亮背光燈,達到了更加省電的效果。
l 體積可更小,厚度可更薄
l 驅動晶片為SSD1306
l 解析度:128*64
l 電壓:3.3V/5V
l 通訊方式:IIC
驅動原理分析:
OLED,又稱為有機電鐳射顯示、有機發光半導體,其是128*64=8192個畫素點組成,每個畫素點可以自發光,螢幕可以不能動態改變顏色和灰度值(透明度),所以可以認為只是控制了8192個畫素點的亮和滅來顯示各種圖形或字元。
這裡兩個是字型檔宣告陣列:
const unsigned char F6x8[][6]; const unsigned char F8X16[];
可以看出字元ASCII碼字元有大和小兩個規格,分為:
6*8:1個字元佔用行6個畫素,列8個畫素
8*16:1個字元佔用行8個畫素,列16個畫素
另外漢字字型檔太大的原因,所以漢字基本都是需要用到的自己再新增進去,通常為16*16畫素。
GY-30光強感測器
l 其使用的主晶片為ROHM-BH1750FVI
l 供電3-5V
l 光強測量範圍:1-65535勒克斯(Lux或lx)
l C感測器內建16bitAD轉換器
l 直接數字輸出,輸出帶有單位值,無需複雜計算
l 通訊方式IIC
接線說明
IIC地址引腳是確定確定模組地址的,模組有兩個地址可選,如果ADDR引腳接VCC則模組IIC地址為0xB8,如果ADDR引腳接GND則模組IIC地址為0x46
BH1750FVI手冊重要提取
通訊指令集合
測量模式說明
我們建議您使用H解析度模式。,H解析度模式下足夠長的測量時間(積分時間)能夠抑制一些噪聲(包括 50Hz/60Hz)。同時, H解析度模式的解析度在 1x下,適用於黑暗場合下(少於 10 1x), H解析度模式2同樣適用於黑暗場合下的檢測。
非同步復位和重置的命令"00000111"
1、 非同步重置電源供應時序基礎上將所有暫存器復位序列。請參考本頁的 "VCC和DVI電源供給時序圖供電序列。在DVI="L"時是電源掉電模式。
2、 重置命令重置命令僅對光強度資料暫存器起作用 (指令值為"0")。電源供應時序對其無影響。它的作用是原來清除之前的測量結果。這個命令不能在斷電模式 ,所以在輸入該指令前要設定為通電模式。
程式編寫,實戰
-
IIC程式設計使用IO模擬IIC,方便後期程式碼移植到其它微控制器平臺
-
OLED螢幕與GY30光照感測器(BH1750FVI)都在一條IIC匯流排上,資料線佔用IO資源只需要兩條
-
OLED實時顯示光強和串列埠實時輸出光強
-
光強攜帶標準單位Lux
原文連結:https://www.cnblogs.com/dongxiaodong/p/13585644.html
如需資料可加本人微信
微訊號:dongxiaodongwx