玩转 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/

2. 解压文件到arduino IDE安装目录的libraries目录下。

3. 连接你的oled到arduino主控板。我用的是nano。

如何连接呢?搭橡 u8glib是一个非常强大的库,支持任何连接方式。我买的这个oled需要连5个脚,加上逗如vcc和gnd一共要7个脚。

咱们全联在模拟口上即可。如果你数字口空余你就可以联在数字口。

简单来说,我们把这些端口全联上nano就可以了。除vcc, gnd连在特定端口外,其它口随意插接。

接好后记下你分别联在哪个端口了。

查阅你的模块资料,上面应有写每个口的意义,比如说我这块:

D0 时钟线

D1 数据线

RST 复位线

DC 数据山枝启/命令线

CS 片选线

这些翻译成u8glib的语言就是:

d0->sck 时钟线

d1->mosi 数据线

res->reset 复位

dc->a0 命令线

cs->cs 片选线

你要记住sck, mossi, reset, a0, cs都插在哪里了。

再查阅一下你的oled用的是什么控制芯片,很多用的是ssd1306的。

在arduino里打开示例->u8glib, 在里面选择helloworld.

打开后,找到下面这一行:

//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9) // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9

注释去掉,改成

U8GLIB_SSD1306_128X64 u8g(14,15,16,17,18) // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9

并且在最后加上你插上的reset端口号。虽然官方说reset是可选的,但实测必须指定一下,否则不能点亮。

编译上传,即可完成点点亮。

我这里用的是14-18, 也就是a0-a4口。

reset的端口号是额外加上的,否则实测不行。缺省是不需要的。点亮oled不需要外接电源,功耗非常小。

接下来你就可以按照示例的做法来输出文字,或者任何其它的动画效果了。

目前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/12297122.html

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

发表评论

登录后才能评论

评论列表(0条)

保存