物联网AI MicroPython传感器学习 之 SSD1306 OLED显示屏幕

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且OLED显示屏幕可视角度大,并且能够节省电能, LCD都需要背光,而OLED不需要,因为它是自发光的。这样同样的显示,OLED效果要来得好一些。总之,OLED不需背光源、对比度高、厚度薄、视角广、反应速度快、使用温度范围广等优异之特性,被认为是下一代的平面显示器新兴应用技术。
SSD1306内置对比度控制、显示RAM和振荡器,减少了外部组件和功耗。它有256级亮度控制。数据/命令是从通用单片机通过硬件可选的6800/8000系列兼容并行接口发送,I2C接口或串行外围接口。
它适用于许多紧凑型便携式应用程序,例如手机副显示屏、MP3播放器、计算器以及穿戴产品中广泛应用。
image.png
引脚定义

  • 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)

  • 参数说明:
参数类型必选参数?说明
xint横坐标像素大小
yint纵坐标像素大小
i2cObjI2C传入i2c对象
i2cAddrintI2C总线通信地址
  • 返回值:
    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)

  • 参数说明:
参数类型必选参数?说明
contextstring显示内容
xint横坐标位置
yint纵坐标位置
  • 返回值:
  • 示例:
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个页,如图所示。
image.png
当一个数据字节被写入GDDRAM时,当前的同一页的所有行都会镜像数据。
列被填充(即,列地址指针指向的整列(8位)被填充)。数据位D0写入顶行,数据位D7写入下行,如下图所示
image.png

参考文献

[1] SSD1306 OLED显示模块购买链接

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值