使用nodemcu玩轉物聯網系列(十):使用取模工具,將漢字或圖片顯示在oled屏幕上

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碼在跨平臺方面不一定是可移植的。

簡單的一句話就是: 將ASCII碼轉化爲字符串中對應字符的函數,在功能上與函數string.byte()是互逆的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章