esp32s3 sd卡 inmp441
时间: 2025-02-20 15:38:41 浏览: 71
### ESP32-S3 使用 SD 卡 和 INMP441 麦克风 录制 存储 音频
为了实现在ESP32-S3上使用SD卡与INMP441麦克风进行音频录制并存储的功能,需要完成几个主要部分的工作:初始化硬件连接、配置MicroPython环境以及编写相应的脚本。
#### 硬件准备
确保已经准备好以下组件:
- ESP32-S3开发板 × 1
- INMP441 I2S 数字麦克风模块 × 1
- MicroSD卡适配器及TF卡 × 1
- 杜邦线若干用于连接各部件
#### 软件设置
安装最新版本的MicroPython固件到ESP32-S3,并通过串口工具(如Thonny IDE)上传所需的库文件和自定义代码。对于SD卡的支持,需加载`sdcard`类;而对于I2S接口操作,则依赖于内置的`machine.I2S()`函数[^1]。
#### Python代码实例
下面给出一段完整的Python程序来展示如何利用上述设备组合实现简单的PCM格式声音记录:
```python
from machine import Pin, I2S, SDCard
import os
# 初始化SD卡
try:
sd = SDCard(slot=2) # 对应VSPI总线上的CS引脚编号
vfs = os.VfsFat(sd)
os.mount(vfs, '/sd')
except Exception as e:
print('无法挂载SD卡:', str(e))
else:
print('成功挂载SD卡')
# 设置I2S参数 (声道数,采样率,位宽等)
i2s = I2S(
id=-1,
sck=Pin(27),
ws=Pin(25),
sd=Pin(26),
mode=I2S.RX,
bits=16,
format=I2S.MONO,
rate=16000,
ibuf=20000)
# 定义录音路径及名称
file_path = "/sd/audio.pcm"
with open(file_path, "wb") as f:
while True:
audio_data = i2s.readinto(buf)
if not audio_data:
break
f.write(audio_data)
print(f'已保存至 {file_path}')
```
此段代码实现了将来自INMP441的数据流写入位于SD卡中的指定位置作为`.pcm`文件保存下来的操作过程。
阅读全文
相关推荐


















