【得捷电子Follow me第3期】任务2:驱动扩展板上的OLED屏幕
[复制链接]
本帖最后由 鲜de芒果 于 2023-11-19 20:27 编辑
任务要求
使用扩展板上的OLED屏幕显示文字和图形
硬件准备
该任务需要搭配一块扩展板才能完成,扩展板为 Seeed Studio Expansion Board Base for XIAO 需要将 Seeed Studio XIAO ESP32C3 焊接好排针,再插入到 Seeed Studio Expansion Board Base for XIAO 扩展板下,插好后如下图所示:
从官网提供的资料可知,扩展板上的 OLED 是基于 SSD1306 驱动芯片的,通过 I2C 总线连接至 Seeed Studio XIAO ESP32C3 开发板的6脚(SDA) 和7脚 (SCL) 这里我简单使用 MicroPython 的 SSD1306 驱动库来实现文字和图形的绘制。
代码实现
import ssd1306
from machine import Pin, SoftI2C
i2c = SoftI2C(scl=Pin(7), sda=Pin(6)) # 初始化I2C驱动
oled_width = 128 # 屏幕宽
oled_height = 64 # 屏幕高
display = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c) # 初始化oled屏幕
text_ip = "0.0.0.0"
text_date_time = "11-15 00:00:00"
def run_task2():
display.fill(0) # 清除显示
display.rect(0, 0, 126, 62, 1) # 绘制矩形
display.text("Follow me 3", 10, 10) # 显示文字
display.show() # 显示内容
def show_ip(ip):
global text_ip
text_ip = ip
show()
def show_date_time(dt):
global text_date_time
text_date_time = dt
show()
def show():
display.fill(0) # 清除显示
display.rect(0, 0, 126, 62, 1) # 绘制矩形
display.text("Follow me 3", 5, 10) # 显示文字
display.text(text_ip, 5, 24) # 显示文本
display.text(text_date_time, 5, 38) # 显示文本
display.show() # 显示内容
效果展示
在 OLED 屏幕上显示的效果如下图所示:
演示视频
|