Skip to main content

使用 XIAO ESP32S3 用 CircuitPython 在 OLED 屏显示文字

CircuitPython是XIAO ESP32S3的理想编程语言,因为它简化了物理计算项目。它基于Python,具有初学者友好的语法,并包括用于访问传感器和显示器等硬件的模块。由于CircuitPython已经支持ESP32S3芯片,本项目尝试在Seeed Studio XIAO ESP32S3板上编译CircuitPython。

硬件准备

我在这里使用Seeed Studio XIAO ESPS3和Seeed Studio Grove OLED显示器0.96作为硬件。

Seeed Studio XIAO ESP32S3Seeed Studio Grove OLED Display 0.96

软件准备

我正在使用Thonny IDE软件(Windows)和一些相关的库和文件。

Thonny IDErelated files(libraries)

:::信息 在使用它之前,我需要说明我在这里使用的软件/固件是为ESP32S3芯片设计的。因此,当您尝试使用引脚时,请确保使用通用输入/输出,而不是板上的引脚
例如,当您尝试使用左侧第一行中的接点时。请确保它是 GPIO1 而不是 A0 或者D0

:::

入门

在BootLoader模式下将XIAO ESP32S3板连接到PC

具体方法是:

  • 步骤 1. 按住XIAO ESP32S3上的BOOT(引导)按钮,不要松开它。

  • 步骤 2. 按住BOOT(引导)按钮,然后通过数据线连接到计算机。连接到计算机后释放BOOT按钮。

  • 步骤 3. 上传Blink程序以检查XIAO ESP32S3的操作。

打开Thonny并配置选项

  1. 运行Thonny后,导航“工具->选项”并单击“选项”选择

2.选择“解释器”选项,然后单击“CircuitPython(generic)”选择

XIAO ESP32S3板的Flash CircuitPython固件

  1. 点击Thonny中的“(esptool)”。它将提示您下载最新的CircuitPython固件并将其闪存到板上。
  1. Thonny中的“(esptool)”如下所示,并首先选择正确的“目标端口”。
  1. 选择CircuitPython系列作为“ESP32-S3”,并选择变体作为“Espressif•ESP32-S3-DevKitC-1-N8”。
  1. Thonny将填充重置,您现在可以单击“安装”。
  1. 显示“完成”一段时间后,可以关闭窗口。
  1. 电脑上会有一个“CIRCUITPY”驱动程序,显示主板已成功闪存。

###将相关文件(库)添加到“CIRCUITPY”驱动程序

[相关文件(库)]复制所有文件(https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/S3-CIRCUITPY/related-mpy.zip)至“电路”驱动器。

:::笔记 使用“Seeed Studio Grove OLED Display 0.96”时,需要“adafruit_ssd1306.mpy”文件和“adafrut_framebuf.mpy”

adafruit_framebuf库使用名为font5x8.bin的字体文件来呈现文本。此文件需要在执行代码的环境中可以访问。 :::

编写代码(IIC)并上传以实现OLED显示

  1. 添加文件后,我现在可以使用命令import adafruit_ssd1306将adafruit_ssd1306库导入到代码中,并且环境现在被配置为驱动OLED显示器。代码如下所示:
from board import *
from busio import I2C
import busio
import adafruit_ssd1306

i2c = I2C(IO6,IO5) # Initialize I2C communication using IO6 and IO5 pins

# Create a display object with 128x64 resolution and an I2C address of 0x3C
display = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c, addr=0x3C)

# Clear the display
display.fill(0)
display.show()

# Write text on the display
display.text('SeeedStudio ESP32S3', 0, 0 , 1)
display.text('Code by CircuitPython!', 0, 20 , 2)
display.show()
  1. 点击“Run”按钮上传代码
  1. 最终结果

而且

✨ 参与者项目

技术支持和产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺利。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...