SISTC 电子积木:MEMS I2S 麦克风模块(开发人员版)

随着语音交互、声学分析和人工智能应用的不断发展,高性能且易于使用的麦克风模块已成为开发人员、教育工作者和制造商的必备工具。
目前 SISTC 电子积木式 MEMS 麦克风模块(开发人员版) 是围绕高性能的 WBC2718DT26TJ0-6/TR MEMS 数字声音传感器 并提供 I2S 数字音频输出。它可与 Arduino、ESP32 和其他 AIoT 控制器等流行平台无缝配合使用。

1.产品概述

这款 MEMS I2S 数字麦克风模块可捕捉细微的声压变化,并将其转换为稳定的电信号。模块内部将模拟输入转换为 0-5V 电压范围然后通过 I2S 协议进行 A/D 处理和数字传输。

该模块具有体积小、灵敏度高和噪音低的特点,是诸如以下应用的理想之选:

  • 语音识别(ASR)
  • 远场音频采集
  • 环境记录和声学分析
  • 人工智能音频分类/机器学习
  • Arduino 和 ESP32 教育/创客项目

结合 ESP32 强大的处理能力,开发人员可以轻松实现语音识别、实时音频可视化、人工智能训练等功能。

SISTC 电子积木 产品展示图片

2.规格

参数价值
工作电压3.3-5V
麦克风类型微机电系统
指向性全向(顶部端口)
输出接口I2S
灵敏度-26 分贝
最大声压级124 分贝
信噪比61 分贝
尺寸48 × 24 毫米
重量5.1 g

这些规格可确保模块在低噪音环境中可靠运行,同时支持高声压应用。

连接图

3.原理图概述

该模块由一个 MEMS 麦克风核心、前端信号调节和一个 I2S 数字音频接口组成。

主要功能模块包括

  • MEMS 声音传感器
  • I2S 数字接口
  • 功率调节
  • 信号调节电路

4.连接指南

该模块支持 Arduino、ESP32、STM32 和类似控制器。
I2S 引脚定义

  • SCK / BCLK - 比特时钟
  • WS / LRCLK - 左/右时钟
  • SD - 数据输出
  • VCC - 3.3-5V
  • 接地

ESP32 用户可以通过简单的示例代码立即录制音频和可视化波形。

产品原理图

5.开发环境设置(Arduino IDE)

下载 Arduino IDE

访问 Arduino 官方软件页面:
https://www.arduino.cc/en/software/#ide

Windows 用户可以选择

  • 安装程序版本
  • ZIP 压缩包(无需安装,解压缩后运行即可)

在此,我们将以 Windows 系统为例,介绍下载和安装的步骤。Windows 系统也有两个版本:一个是安装版,另一个是无需安装的下载版。你只需将文件下载到电脑,解压后即可使用。

一般来说,我们可以点击 "JUST DOWNLOAD "进行下载。

环境设置

首先,打开 Arduino IDE。转到 "文件" → "首选项" → "设置" → "语言";将其更改为简体中文,然后点击 "确定"--语言将自动切换。(英文也是一个选项,这里我们以中文为例)。

安装相应的开发板平台

点击选择开发板,选择相应的端口号,并选择相应的开发板平台。

点击菜单中的 "文件",找到 "首选项",点击进入,然后在 "附加的棋盘管理器 URL "中输入"https://espressif.github.io/arduino-esp32/package_esp32_index.json"然后点击 "确定"。

要安装模块所需的驱动库,请在库管理框中输入 "ESP32-audioI2S-master",然后安装相应的库文件。

然后将以下代码复制到编辑器中,并通过 ArduinoIDE 上传到 ESP32 主板。

#include "driver/i2s.h"
#define SAMPLE_RATE (44100)

#define I2S_MIC_WS 12
#define I2S_MIC_DIN 13
#define I2S_MIC_BCK 14
#define I2S_PORT I2S_NUM_0
#define bufferLen 64

int16_t sBuffer[bufferLen];

// 安装I2S驱动
void i2s_install(){

// 配置 I2S 接收
i2s_config_t i2s_config = {
.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX)、
.sample_rate = SAMPLE_RATE、
.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT、
.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT、
.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB)、
.intr_alloc_flags = 0、
.dma_buf_count = 16、
.dma_buf_len = 缓冲区长度、
.use_apll = false
};
如果 (ESP_OK != i2s_driver_install(I2S_PORT, &i2s_config, 0, NULL)){
Serial.println("安装 I2S 驱动程序失败");
返回;
}
}

// 配置 I2S 引脚
void i2s_setpin(){

i2s_pin_config_t pin_config = {};
pin_config.bck_io_num = I2S_MIC_BCK;
pin_config.ws_io_num = I2S_MIC_WS;
pin_config.data_out_num = I2S_PIN_NO_CHANGE;
pin_config.data_in_num = I2S_MIC_DIN;

如果 (ESP_OK != i2s_set_pin(I2S_PORT, &pin_config)) {
Serial.println("I2S 设置引脚失败");
返回;
}
}

void setup() {

Serial.begin(115200);
Serial.println("设置 I2S ..." );

delay(1000);
i2s_install();
i2s_setpin();
i2s_start(I2S_PORT);
delay(500);
}


void loop() {
size_t bytesIn = 0;
esp_err_t result = i2s_read(I2S_PORT,&sBuffer,bufferLen,&bytesIn,portMAX_DELAY);
if (result == ESP_OK)
{
int samples_read = bytesIn / 2;
if (samples_read > 0) {
float mean = 0;
for (int i = 0; i < samples_read; ++i) {
mean += (sBuffer[i]);
}
mean /= samples_read;
Serial.println(mean);
延迟(50);
}
}

}

6.测试结果

将 MEMS I2S 麦克风连接到 ESP32 并运行示例代码后,开发人员可通过串行绘图仪或可视化工具观察实时波形变化。

测试观察:

  • 环境噪声产生不规则波形模式
  • 向麦克风吹气会导致明显的波形振幅变化
  • 没有声音时,波形保持稳定
  • 在反复的声音输入测试中,波形转换清晰可见

这些结果表明,该模块在下游应用中性能可靠,包括 FFT 分析、ASR 和人工智能声学建模。

7.结论

目前 SISTC 电子积木式 MEMS I2S 麦克风模块(开发人员版)提供:

  • 易于布线和设置
  • 高灵敏度和低噪音
  • 标准 I2S 数字输出
  • 与 ESP32 和 Arduino 高度兼容

这使它成为初学者、教育工作者、音频开发人员和人工智能研究人员的理想平台。

适用场景

  • 语音识别
  • 人工智能学习与音频分类
  • 声学数据收集
  • STEM / 创客教育
  • 智能设备原型开发

滚动至顶部