OLED相關材料參照文章:[esp8266學習筆記⑨:OLED 屏幕的使用(u8g2圖形庫模塊)
下邊重點說說這OLED的取模了:
什麼鬼?攝氏度不是℃這樣嗎????!!顯示不了~所以用取模軟件。
1、軟件推薦:PCtoLCD2002
鏈接:https://pan.baidu.com/s/1OudV036tlNMI4yzJ4mJDZg
提取碼:2rt9
2、設置:
第一種:字符模式
下邊這是最關鍵的一步,瞪起眼來看好了!!!
代碼:
--針腳
sda = 5
scl = 6
i=0
--字符寬和高
width = 16
height = 16
bits = string.char(--sting.char()方法,文章結尾有理解
--下邊就是字模
0x06,0x00,0x89,0x2F,0x69,0x30,0x36,0x20,
0x10,0x20,0x18,0x00,0x18,0x00,0x18,0x00,
0x18,0x00,0x18,0x00,0x18,0x00,0x10,0x00,
0x30,0x20,0x60,0x10,0x80,0x0F,0x00,0x00
)
--oled初始化函數
function init_OLED(sda,scl)
sla = 0x3c
i2c.setup(0, sda, scl, i2c.SLOW)
disp=u8g2.ssd1306_i2c_128x64_noname(0,sla)--oled型號可更改
disp:setFont(u8g2.font_6x10_tf)--字體可更改
disp:setFontPosTop()--置於頂部
end
--顯示到oled上
function print_OLED()
--是否顯示背景色
disp:setDrawColor(1)
disp:setBitmapMode(0)
disp:setFont(u8g2.font_6x10_tf)
--繪製字符
disp:drawXBM(26,0,width,height,bits)
disp:sendBuffer()
end
init_OLED(sda,scl)
tmr.create():alarm(100,tmr.ALARM_AUTO, function()
print_OLED()
end)
第二種:圖形模式
參照:博客https://blog.csdn.net/claylovetoo/article/details/97139511
注意兩點:其他同上文
(1)設置稍有變化
(2)圖片格式轉小,且保存爲“單色bmp”格式。傳上去直接慘不忍睹。
關於string.char()方法的簡單理解:
string.char()
•解釋:接收0個或者多個參數,返回一個字符串,字符串長度等於參數個數,前提是每一參數作爲ASCII碼都有一個字符與之相對應,也就是說大部分的數字是無效的,這個函數參數的ASCII碼在跨平臺方面不一定是可移植的。