咸鱼ESP32实例—驱动oled

咸鱼ESP32实例—驱动oled


OLED是很常用的电子元件,它体积小、接口简单、功耗低、显示 效果好,因此在DIY、创客制作、电子竞赛中得到广泛应用。
现在常用的OLED模块有SPI和I2C两种接口,它们的功能相同,只是接口方式有些不一样。SPI有6线和7线两种,而I2C接口只使用了4根线,使用上更加方便。下面以I2C接口的OLED和ZTMS开发板为例进行介绍,SPI接口的使用方法相同,只是在程序中定义接口时改为SPI 方式。


ZTWF开发板
咸鱼ESP32实例—驱动oled_第1张图片
0.96oled屏幕
咸鱼ESP32实例—驱动oled_第2张图片

构造函数
i2c = machine.I2C(scl,sda)
构建 I2C 对象。scl:时钟引脚;sda:数据引脚。
使用方法
i2c.scan()
扫描 I2C 总线的设备。返回地址,如:0x3c; i2c.readfrom(addr,nbytes)
从指定地址读数据。addr:指定设备地址;nbytes:读取字节数
i2c.write(buf)
写数据。buf:数据内容

OLED 显示
屏的使用方法如下:

构造函数
oled = SSD1306_I2C(width, height, i2c, addr)
构 OLED 显示屏对象。width:屏幕宽像素;height: 屏幕高像素;i2c:定义好的
I2C 对象; addr:显示屏设备地址。
使用方法
oled.text(string,x,y)
将 string 字符写在指定为位置。string:字符;x:横坐标;y:纵坐标。
oled.show()
执行显示。
oled.fill(RGB)
清屏。RGB:0 表示黑色,1 表示白色。

将uPy_lib文件中的ssd1306文件拖入device文件中。ssd1306已经帮我们做好了驱动屏幕的前期准备。调用即可
咸鱼ESP32实例—驱动oled_第3张图片

例程

from machine import I2C,Pin
from ssd1306 import SSD1306_I2C #从 ssd1306 模块中导入 SSD1306_I2C 子模块
i2c = I2C(sda=Pin(26), scl=Pin(25))
#OLED 显示屏初始化:128*64 分辨率, I2C 地址是 0x3c
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
oled.text("Hello python", 0, 0) #写入第 1 行内容
oled.text("ESP32 TEST", 0, 20) #写入第 2 行内容
oled.text("xianyuWorkshop", 0, 50) #写入第 3 行内容
oled.show() #OLED 执行显示

测试效果:
咸鱼ESP32实例—驱动oled_第4张图片

你可能感兴趣的:(硬件,#,ESP32)