学物联网,来万物简单IoT物联网!!
一、产品简介
OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且OLED显示屏幕可视角度大,并且能够节省电能, LCD都需要背光,而OLED不需要,因为它是自发光的。这样同样的显示,OLED效果要来得好一些。总之,OLED不需背光源、对比度高、厚度薄、视角广、反应速度快、使用温度范围广等优异之特性,被认为是下一代的平面显示器新兴应用技术。
SSD1306内置对比度控制、显示RAM和振荡器,减少了外部组件和功耗。它有256级亮度控制。数据/命令是从通用单片机通过硬件可选的6800/8000系列兼容并行接口发送,I2C接口或串行外围接口。
它适用于许多紧凑型便携式应用程序,例如手机副显示屏、MP3播放器、计算器以及穿戴产品中广泛应用。
引脚定义
- GND:接地
- VCC:3V3
- SCL:时钟线
- SDA:数据线
二、技术参数
- 工作电压:3V3
- 通信方式:IIC接口
- 工作温度范围广:-40°C ~ 85°C
- 分辨率:128*64
- 控制芯片:SSD1306
- 模组尺寸:27.3mm*27.8mm
- 像素间距:0.17mm*0.17mm
- 像素尺寸:0.154mm*0.154mm
三、软件接口
SSD1306(i2cObj) - 创建SSD1306驱动对象
- 函数原型:
ssd1306Obj = SSD1306(x,y,i2cObj, i2cAddr = 0x3c)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
x | int | 是 | 横坐标像素大小 |
y | int | 是 | 纵坐标像素大小 |
i2cObj | I2C | 是 | 传入i2c对象 |
i2cAddr | int | 否 | I2C总线通信地址 |
- 返回值:
SSD1306对象成功,返回SSD1306对象;SSD1306对象创建失败,抛出Exception - 示例代码:
from machine import I2C,Pin # 驱动库
import ssd1306 # SSD1306显示驱动库
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
ssd1306Obj = ssd1306.SSD1306(i2cObj) # 初始化SSD1306显示对象
print("SSD1306 inited!")
- 输出:
SSD1306 inited!
fill - framebuf缓冲区
- 函数功能:
设置framebuf缓冲区 - 函数原型:
SSD1306.fill()
- 参数说明:
0 - 清屏 1 - 满屏 - 返回值:
无
show - 刷新显示
- 函数功能:
刷新显示 - 函数原型:
SSD1306.show()
- 参数说明:
无 - 返回值:
无
text - 更新缓冲区显示内容
- 函数功能:
更新缓冲区显示内容 - 函数原型:
SSD1306.text(content,x,y)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
context | string | 是 | 显示内容 |
x | int | 是 | 横坐标位置 |
y | int | 是 | 纵坐标位置 |
- 返回值:
无 - 示例:
from machine import I2C,Pin # 驱动库
import ssd1306 # SSD1306显示驱动库
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
ssd1306Obj = ssd1306.SSD1306(128, 64, i2cObj) # 初始化SSD1306显示对象
print("SSD1306 inited!")
ssd1306Obj.fill(0) #清屏背景黑色
ssd1306Obj.text(str('----------------------'),3,5)
ssd1306Obj.text('welcome ETT-B1', 3, 22)
ssd1306Obj.text('ettPython', 30, 38)
ssd1306Obj.text(str('----------------------'),3,55)
ssd1306Obj.show() # 屏幕显示
- 输出:
SSD1306 inited!
四、接口案例
from machine import I2C,Pin # 驱动库
import ssd1306 # SSD1306显示驱动库
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
ssd1306Obj = ssd1306.SSD1306(128, 64, i2cObj) # 初始化SSD1306显示对象
print("SSD1306 inited!")
ssd1306Obj.fill(0) #清屏背景黑色
ssd1306Obj.text(str('----------------------'),3,5)
ssd1306Obj.text('welcome ETT-B1', 3, 22)
ssd1306Obj.text('ettPython', 30, 38)
ssd1306Obj.text(str('----------------------'),3,55)
ssd1306Obj.show() # 屏幕显示
- 输出:
SSD1306 inited!
五、工作原理
SSD1306像素为128*64像素,一共分为8个页,如图所示。
当一个数据字节被写入GDDRAM时,当前的同一页的所有行都会镜像数据。
列被填充(即,列地址指针指向的整列(8位)被填充)。数据位D0写入顶行,数据位D7写入下行,如下图所示
参考文献
[1] SSD1306 OLED显示模块购买链接