
1、介绍
全向麦克风模块是一种能够全方位采集声音信号的电子模块,适用于需要全方位收集声音的场景,不会因为声音来源方向不同而产生明显的拾音差异。能够精准捕捉微弱声音,即使是较为细小的声音也能被清晰采集,像轻声交谈、细微的环境噪音等都能较好收录。还可以适应不同的声音采集环境,比如在安静环境下降低灵敏度减少噪声干扰,在嘈杂环境下提高灵敏度采集清晰声音。
2、原理图
全向麦克风模块-HS-S05D-L 原理图 点击查看
3、模块参数
引脚名称 | 描述 |
|---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
WS | 字选通引脚 |
SD | 数据引脚 |
SCK | 时钟引脚 |
供电电压: 3.3V-5V
连接方式:PH2.0 5P端子线
4、电路板尺寸

5、Arduino IDE示例程序
注意:程序上传时如果提示库文件报错,请先导入库文件!
Arduino IDE 库文件下载及导入教程:点击查看
示例程序(UNO开发板):
#define SAMPLE_RATE (44100)
#define I2S_MIC_WS (12)
#define I2S_MIC_SD (14)
#define I2S_MIC_BCK (13)
#define I2S_PORT_0 (I2S_NUM_0)
#define bufferLen (1024)
#include "Arduino.h"
#include "driver/i2s.h"
int16_t sBuffer_RX[bufferLen];
size_t bytesIn = 0;
void I2s_Mic_Init()
{
i2s_config_t i2s_config_RX{};
i2s_config_RX.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX);
i2s_config_RX.sample_rate = SAMPLE_RATE;
i2s_config_RX.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT;
i2s_config_RX.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT;
i2s_config_RX.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB);
i2s_config_RX.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1;
i2s_config_RX.dma_buf_count = 8;
i2s_config_RX.dma_buf_len = bufferLen;
i2s_config_RX.use_apll = false;
i2s_driver_install(I2S_PORT_0, &i2s_config_RX, 0, NULL);
i2s_pin_config_t pin_config_RX{};
pin_config_RX.mck_io_num = I2S_PIN_NO_CHANGE;
pin_config_RX.bck_io_num = I2S_MIC_BCK;
pin_config_RX.ws_io_num = I2S_MIC_WS;
pin_config_RX.data_out_num = I2S_PIN_NO_CHANGE;
pin_config_RX.data_in_num = I2S_MIC_SD;
i2s_set_pin(I2S_PORT_0, &pin_config_RX);
i2s_start(I2S_PORT_0);
}
int16_t* Mic_Value()
{
i2s_read(I2S_PORT_0, sBuffer_RX, sizeof(sBuffer_RX), &bytesIn, portMAX_DELAY);
for (int i = 0; i < bufferLen; i++)
{
sBuffer_RX[i] = sBuffer_RX[i]*2;
if (sBuffer_RX[i] > (32767))
sBuffer_RX[i] = (32767);
else if (sBuffer_RX[i] < (-32768))
sBuffer_RX[i] = (-32768);
}
return sBuffer_RX;
}
void setup(){
I2s_Mic_Init();
Serial.begin(115200);
}
void loop(){
short *data = Mic_Value();
for (int i = 0; i <= 1023; i = i + (1)) {
Serial.println(data[i]);
}
}6、米思齐 Mixly 示例程序(图形化语言)
示例程序(ESP32开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:点击查看

7、测试环境搭建
ESP32 测试环境搭建
准备配件:
ESP32-S3 MOC 开发板 *1
ESP32-S3 EXP2 扩展板 *1
USB type-c 数据线 *1
HS-S05D-L 全向麦克风模块*1
PH2.0 5P双头端子线 *1
电路接线图:

8、测试结果
Arduino UNO测试结果:
器件连接好线之后,将上述程序烧录到ESP32-S3 MOC 开发板之后,接通电源。把串口可视化参数改为最小-1000,最大1000,点数100,对准麦克风说话,在串口可视化的图表中,能看到反映声音变化的波形数据。

