玩转 ESP32 + Arduino (二十五) SSD1306库驱动OLED

玩转 ESP32 + Arduino (二十五) SSD1306库驱动OLED,第1张

本次我们使用了如下库:

依然接硬件IIC SCL: 22 SDA: 21

//使用它可以在深度睡眠后恢复而不重置显示(init()会做什么)。

//如果已建立与显示器的连接并分配了缓冲区,则返回true,否则返回false。

设置显示对比度

例如: 极低的亮度和对比度:对比度= 10,预充电precharge= 5,comdetect = 0

正常亮度和对比度:对比度= 100

这是一下所有绘制方法的基础

其中: quads是角度

进度取值0~100

对齐方法有:

用默认或设置好的字体绘制字符串

到达最大宽度回换行显示

我使用的绘图方法: 使用PCtoLCD

然后灵魂绘图

然后设置输出格式:

最后生成字模

最后写在程序中:

xbm图像我使用了在线转换器: https://convertio.co/zh/

目前Arduino平台上使用最广泛的OLED库: U8G2

github地址: https://github.com/olikraus/u8g2/

设置和参考手册: https://github.com/olikraus/u8g2/wiki

U8g2:单色显示器库,版本2

U8g2是用于嵌入式设备的单色图形库。U8g2支持单色OLED和LCD,包括以下控制器:SSD1305,SSD1306,SSD1309,SSD1322,SSD1325,SSD1327,SSD1329,SSD1606,SSD1607,SH1106,SH1107,SH1108,SH1122,T6963,RA8835,LC7981,PCD8544,PCF8812,HX12 ,UC1601,UC1604,UC1608,UC1610,UC1611,UC1701,ST7565,ST7567,ST7588,ST75256,NT7534,IST3020,ST7920,LD7032,KS0108,SED1520,SBN1661,IL3820,MAX7219(完整列表请参见 此处 )。

为什么要运用U8g2库?

支持单片机平台:

再platformIO.ini中配置库

方法可以分为四大类:

初始化显示器, 清屏, 唤醒屏幕

只是初始化显示器, 并不清屏, 也不唤醒屏幕

开启UTF-8后,我们可以使用其UTF-8字库

如果支持绘制颜色(也就是不是单色显示器),那么由setDrawColor设置;

例: 画圆动画 (4帧

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11210742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存