首頁 > 評測 > OLED+U∞G2,原來單片機(jī)的屏幕也可以如此炫
OLED+U∞G2,原來單片機(jī)的屏幕也可以如此炫
- [導(dǎo)讀]
- 本想買的是個全彩屏,到手發(fā)現(xiàn)被坑,不支持灰度顯示。不過還好有U8G2的工具支持,玩的依舊很開心!以后評測開發(fā)板不點(diǎn)燈了,點(diǎn)oled。
據(jù)說2016年是OLED元年,兩年過去了,超薄電視、顯示器越來越受歡迎,不過LCD也還健在,當(dāng)然也不必再去挖掘那些喜歡玩VFD的極客們對VFD的鐘愛之情了!
OLED顯示屏是利用有機(jī)電致發(fā)光二極管制成的顯示屏。由于同時具備自發(fā)光有機(jī)電激發(fā)光二極管,不需背光源、對比度高、厚度薄、視角廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制程較簡單等優(yōu)異之特性,被認(rèn)為是下一代的平面顯示器新興應(yīng)用技術(shù)。
不過在嵌入式開發(fā)中,給MCU等設(shè)備連接一個小型的OLED,來顯示一些簡單的信息如IP地址、溫濕度等等,也是應(yīng)有之義。市面上各種OLED從接口、尺寸等來區(qū)分,確實(shí)種類繁多,剛好最近入手來自Seeed Studio的小OLED一枚,來好好體驗(yàn)一把,真正的近距離!
這款OLED模塊使用標(biāo)準(zhǔn)的GROVE接口,以I2C的方式與MCU通信。GROVE OLED DISPLAY 1.12英寸模塊實(shí)際上有兩款型號,一款使用的是SSD1327,另一款使用的是SH1107G,這一款模塊使用的是SH1107G。可惜的是,SH1107G這一款相比SSD1327來說,少了一些有興趣的特性,例如不支持灰度顯示,也不支持連續(xù)水平滾動。
據(jù)官方的文檔,V1.0應(yīng)該使用的是SSD1327主控,可惜實(shí)驗(yàn)時發(fā)現(xiàn)卻是使用的是SH1107G的主控,不解!再有就是官方文檔中也沒有SH1107版的詳細(xì)文檔。
關(guān)于OLED和LCD的比較,也小小的學(xué)習(xí)一下。
OLED的許多優(yōu)勢,因?yàn)樽园l(fā)光,所以省電。OLED的色彩很漂亮、色域很廣,所以一直很喜歡曬他那NTSC 100%的顏值,不過今天的主角是黑白的,所以不曬也罷。另外其它的一些特性如高對比度,廣視角等特性,在黑白世界里也不怎么突出,所以聽過了就聽過了,一切都是浮云!
模塊使用I2C接口來通信,I2C結(jié)構(gòu)簡單,只要兩根線,通信速度也勉強(qiáng)應(yīng)付,所以很多對速度要求不高的設(shè)備都喜歡用I2C接口,至于對速度有要求的伙伴,可能更喜歡SPI。
接下來開始體驗(yàn)顯示模塊,需要兩方面的準(zhǔn)備工作:準(zhǔn)備與之通信的MCU;選擇一套合適的GUI庫。綜合考慮下來,選擇Arduino做為硬件,選擇U8G2做為GUI庫似乎是個挺不錯的主意。Arduino資料豐富,簡單易上手,而U8G2也有配套的Arduino支持庫。
如果手頭有GROVE Arduino擴(kuò)展板,連接起來很方便,沒有的話也不影響,使用杜邦線也可以很快連接好設(shè)備,如圖
官方為之提供了配套的Arduino庫,下載并安裝好后,可以在Examples目錄下找到對應(yīng)的示例程序。OLED的分辨率為128X128,用來顯示一些簡單的文字或LOGO還是比較寬裕的。
打開OLEDDrawBitmap這個程序,編譯并將代碼上傳到Arduino開發(fā)板,看到的顯示效果如下
鏡頭下的LOGO圖像略顯生硬,實(shí)際上顯示效果還是不錯的。
GROVE OLED DISPLAY提供的演示代碼還包括數(shù)字,英文字符的顯示等,沒有提供中文處理,不過使用簡單的畫點(diǎn)代碼,結(jié)合點(diǎn)陣字庫可以輕松實(shí)現(xiàn)中文的顯示,這里不贅述,因?yàn)榻酉聛砦覀円褂酶鼜?qiáng)大的U8G2庫來顯示更復(fù)雜的內(nèi)容,當(dāng)然也包括中文的顯示。
U8g2是非常一個非常強(qiáng)大的庫,是U8GLIB的升級版本,其主工功能包括:大量驅(qū)動芯片及不同分辨率的支持,這就讓用戶幾乎不必關(guān)心底層驅(qū)動的部分,只需要寫自己的程序就可以了,要知道底層驅(qū)動的調(diào)試比較費(fèi)時間的;不同連接方式支持,可以支持硬件SPI、軟件SPI及8位并行控制方式等;支持Arduino、AVR及ARM等不同芯片,CPU升級時,移植代價比較小;大量字體顯示支持,包括CJK等文字的支持,同時也提供了實(shí)用工具來幫助用戶建立自己的字庫文件。
這是中英文字符的顯示方式,代碼簡單到不可思議,如下
顯示中文的奧秘隱藏在setFont函數(shù)調(diào)用中,使用中文字庫可以輕松顯示中文內(nèi)容。然而問題來了,中文字庫這么龐大,以Arduino的存儲空間來說,實(shí)在是太小了。好在U8G2提供了實(shí)用工具來幫助用戶建立自己的中文字庫,可以參考U8G2的幫助文檔來實(shí)現(xiàn)。
這是U8G2的LOGO顯示效果,這不是現(xiàn)成的圖像,而是使用U8G2的繪圖函數(shù)一筆一筆畫出來的!
越是使用U8G2,越是覺得順手!而這一切都是開源的,老衲也在想,是不是也整個啥藍(lán)芯啥的,打上自主研發(fā)的標(biāo)簽,先實(shí)現(xiàn)一個小目標(biāo),賺它一個億?(夢醒!)
還在點(diǎn)燈?
現(xiàn)在只需要點(diǎn)幾下鼠標(biāo),寫幾行代碼,炫人的畫面就躍然屏上,老衲已按捺不住,偷偷的從MOUSER上訂了一個GROVE OLED DISPLAY,還有Arduino,要正版的!
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達(dá)中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗(yàn),暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標(biāo)準(zhǔn)編制 2024-08-29
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項(xiàng)目BMS設(shè)計
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前