一、电路连接
OLED显示模块焊接上I2C仅有四个引脚,分别为接电(+3V)、接地(GND)、SCL和SDA,分别利用母对母杜邦线将SCL和SDA接口接入树莓派GPIO3和GPIO2口,接地和接电分别利用公对母杜邦线接入树莓派的对应口,电路连接如图2-6所示。(SDA和SCL要反接,我画图画错了!!!) 使用时需要通过控制台打开树莓派的i2c端口,并安装好i2c的驱动库。
图2-6 OLED显示电路连接图
二、工作原理
OLED的工作原理是:电场驱动有机半导体材料和发光材料而成的注入载流子以及复合发光的现象。是分别利用ITO透明电极和金属点击作为元器件的阳极以及阴极。在常规3V电压的驱动下,电子从阴极注入电子传输层,空穴从阳极注入空穴传输层。电子通过电子传输层转移到发光层,而空穴则通过空穴传输层转移到发光层,接着在发光层中电子与空穴相遇形成激子并激活发光分子,从而经过辐射放松来发散可见光。
图2-7 OLED模块结构原理图
三、驱动代码
在树莓派对OLED显示模块控制前,需要先通过可视化窗口操作:首选项->树莓派设置->接口,将I2C设置成enabled,由于Luma.oled是基于python语言的OLED库,所以需要通过pip安装,于是通过cmd命令:sudo pip3 install luma.oled下载Luma.oled库。
#导入Luma.oled库
from luma.core.interface.serial import i2c, spi
from luma.core.render import canvas
from luma.oled.device import ssd1306, ssd1325, ssd1331, sh1106
from time import sleep #从time模块中引入sleep函数,使用sleep函数可以让程序休眠
__version__ = 1.0
# 初始化OLED连接端口
serial = i2c(port=1, address=0x3C)
# 初始化OLED设备
device = ssd1306(serial)
print("当前版本:", __version__)
# 调用显示函数输出
with canvas(device) as draw:
#设置输出格式样式
draw.rectangle(device.bounding_box, outline="white", fill="black")
#设置输出内容
draw.text((30, 20), "Happy graduation!", fill="white")
# 延时显示10s
sleep(10)
四、驱动结果
测试程序显示Happy graduation!和矩形外框持续10秒。