BPI-Leaf-S3 mpremote mount 命令应用案例,驱动OLED屏幕[ESP32-S3 & MicroPython]

演示视频

前期准备

python环境,mpremote安装, VScode打开终端,mpremote连接开发板, 基本文件操作参考此帖:

BPI-Leaf-S3使用mpremote工具在VScode IDE中编程,基础应用示例。 ESP32-S3 & MicroPython

mpremote mount 命令应用参考此贴:

BPI-Leaf-S3使用 mpremote 工具的 mount 命令,装载本地文件夹到开发板中测试。ESP32-S3 & MicroPython

通过I2C连接ssd1306 OLED屏幕

BPI-Leaf-S3 全部可用GPIO引脚都可用作I2C 接口,默认的使用GPIO15作为SDA信号线,GPIO16作为SCL时钟线,同时板载一个JST SH 1mm 4-Pin连接座对应连接了这两个GPIO,使用此连接座可以更稳固的连接I2C设备。

SSD1306 OLED屏幕模块是一个很常见的可以使用I2C通信协议的屏幕模块,最大输出128*64 bit的图像,无灰阶,单颗像素仅有亮灭两个状态,控制逻辑相对简单,很适合入门学习单片机驱动屏幕显示的项目。

接线参考

SSD1306 OLED Board
GND GND
VCC 5V
SCL 16
SDA 15

MicroPython

  1. 下载ssd1306驱动脚本到本地。
    micropython/ssd1306.py 驱动

  2. 在同一个目录中新建一个python脚本文件,命名为main.py,输入以下代码并保存文件:

from machine import Pin,I2C
from ssd1306 import SSD1306_I2C
import time
sda_pin=Pin(15,Pin.PULL_UP)
scl_pin=Pin(16,Pin.PULL_UP)
i2c = I2C(1,sda=sda_pin, scl=scl_pin, freq=800_000)
print(i2c.scan())
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
oled.fill(0)
oled.text("Hello World.",10,30,1)
oled.show()

  1. 在此目录中打开终端,输入以下命令,需要将串行端口修改为设备所在的端口,可通过mpremote devs快速查询:
python -m mpremote connect COM1 mount . exec "import main"
  1. 可以随意在本地修改代码,保存后在终端再次输入命令即可在开发板的OLED屏幕上看到结果。

BPI-Leaf-S3 开发板(ESP32S3) - Banana Pi Wiki (banana-pi.org)

BPI-Leaf-S3 官方淘宝

BPI-Leaf-S3 官方速卖通

OEM&OEM 定制服务请邮件联系: [email protected]

更新ssd1306驱动库下载地址。 :melting_face: