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