依然接硬件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库: U8G2github地址: 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帧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)