三、安装库文件
浏览器进入 Adafruit 官网下载 CircuitPython 软件包,CircuitPython 软件包是针对嵌入式设备优化的 Python 库集合,包含硬件驱动和专用工具,用于简化微控制器上的开发。
在下载的软件包中搜索以下库文件移动到 CIRCUITPY 硬盘上的 lib文件夹。移动完成后如下图所示:
或者也可以采取更优雅的安装方式是 CircUp 工具 独立安装需要的驱动。
四、库驱动简介
MacroSynthv3.1 程序中用到的所有库文件可以分为三类:标准 Python 库、核心硬件库
MIDI 功能库。
1.标准 Python 库 (CircuitPython 内置)
这些库是 Python 语言的标准组成部分,在 CircuitPython 中同样可用,无需额外安装。
| 库名 | 用途说明 | 在程序中的具体应用 |
|---|---|---|
time |
提供与时间相关的功能,如获取当前时间、延时等。 | time.monotonic(): 获取一个单调递增的时间戳,用于非阻塞计时(如鼓机音序器的步进、音符的持续时间、检测编码器长按)。time.sleep(0.005): 在主循环中加入微小延时,以降低 CPU 占用率。 |
math |
提供数学函数,如对数、三角函数等。 | math.log2(): 在 freq_to_midi_note() 函数中,用于根据频率计算对应的 MIDI 音符编号(基于 A4=440Hz 的标准)。math.round(): 同样在该函数中,用于对计算结果进行四舍五入。 |
2. 核心硬件库 (必须安装)
| 库名 | 用途说明 | 在程序中的具体应用 |
|---|---|---|
adafruit_macropad |
Adafruit 官方提供的库,用于统一控制 Macropad 上的所有硬件资源。 | - MacroPad(): 初始化 Macropad 对象。- macropad.keys: 读取 12 个按键的按下和释放事件。- macropad.encoder: 读取旋转编码器的位置和开关状态。- macropad.pixels: 控制 12 个 NeoPixel LED 的颜色和亮度。- macropad.start_tone() / stop_tone(): 控制板载压电蜂鸣器发声和停止。- macropad.display_text(): 在 OLED 屏幕上显示文本信息。 |
3. MIDI 功能库
这些库用于实现 USB MIDI 输出功能。程序通过 try...except 结构来处理它们,所以即使没有安装这些库,程序的核心功能(蜂鸣器发声、LED、屏幕)依然可以正常运行,只是不会有 MIDI 输出。
| 库名 | 用途说明 | 在程序中的具体应用 |
|---|---|---|
usb_midi |
CircuitPython 的底层模块,用于访问设备的 USB MIDI 端口。 | - usb_midi.ports: 获取可用的 MIDI 输出端口列表,程序会尝试连接 ports[1] 或 ports[0]。 |
adafruit_midi |
Adafruit 提供的高级 MIDI 库,简化了构建和发送标准 MIDI 消息的过程。 | - MIDI(): 创建一个 MIDI 对象,指定输出端口和通道(旋律通道 0,鼓通道 9)。 |


