HS-S05C-L 全向麦克风模块

目 录 (点击目录列表可以跳转到相应位置)

  1. 介绍
  2. 原理图
  3. 模块参数
  4. 电路板尺寸
  5. 添加Arduino库文件
  6. 添加Micropython库文件
  7. ArduinoIDE 和Python语言示例程序
  8. 米思齐 Mixly 示例程序(图形化语言)
  9. Arduino测试环境搭建
  10. 视频教程
  11. 测试结论

1、介绍 点这里回到目录

全向麦克风模块是一种能够全方位采集声音信号的电子模块,适用于需要全方位收集声音的场景,不会因为声音来源方向不同而产生明显的拾音差异。能够精准捕捉微弱声音,即使是较为细小的声音也能被清晰采集,像轻声交谈、细微的环境噪音等都能较好收录。还可以适应不同的声音采集环境,比如在安静环境下降低灵敏度减少噪声干扰,在嘈杂环境下提高灵敏度采集清晰声音。


2、原理图 点这里回到目录

HS-S05C-L  全向麦克风模块


3、模块参数 点这里回到目录

引脚名称 描述
G GND(电源输入负极)
V VCC(电源输入正极)
WS 字选通引脚
SD 数据引脚
SCK 时钟引脚

  • 供电电压: 3.3V

  • 连接方式:PH2.0 4P端子线

  • 安装方式:积木固定


4、电路板尺寸 点这里回到目录

HS-S05C-L  全向麦克风模块


5、添加Arduino库文件

不会使用库文件的参考这里库文件安装使用

库文件下载:点击下载

将下载好的Arduino 库文件解压到桌面后,将其放入Arduino 的libraries文件夹下。


6、添加MicroPython环境库文件 点这里回到目录

不会安装库文件的请点击这里:参考链接


7、Arduino IDE示例程序 点这里回到目录

示例程序(ESP32开发板):点击下载

#define SAMPLE_RATE (44100)
#define I2S_MIC_WS (12)
#define I2S_MIC_SD (13)
#define I2S_MIC_BCK (14)
#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]);
  }

}

示例程序(ESP32-S3开发板):点击下载


8、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录

米思齐 Mixly 库文件(ESP32开发板-c语言版本):点击下载

示例程序(ESP32开发板-c语言版本):点击下载

HS-S05C-L  全向麦克风模块

米思齐 Mixly库文件(ESP32-S3开发板-c语言版本):点击下载

示例程序(ESP32-S3开发板-c语言版本):点击下载


9、测试环境搭建 点这里回到目录

Arduino ESP32 测试环境搭建

准备配件:

  • ESP32 开发板 *1
  • ESP32 EXP1 扩展板 *1
  • USB type-c 数据线 *1
  • HS-S05C-L 全向麦克风模块*1
  • PH2.0 5P PH2.0端子转杜邦线 *1

电路接线图:

HS-S05C-L  全向麦克风模块

ESP32 Python 测试环境搭建


10、视频教程 点这里回到目录

Arduino UNO视频教程:点击查看

ESP32 Python视频教程:


11、测试结论 点这里回到目录

Arduino UNO测试结论:

把串口可视化参数改为最小-1000,最大1000,点数100,对准麦克风说话,在串口可视化的图表中,能看到反映声音变化的波形数据。。

HS-S05C-L  全向麦克风模块


点这里回到目录