HS-F33-L 音频放大器模块
- 介绍
- 原理图
- 模块参数
- 电路板尺寸
- 添加Arduino库文件
- 添加Micropython库文件
- ArduinoIDE 和Python语言示例程序
- 米思齐 Mixly 示例程序(图形化语言)
- Arduino测试环境搭建
- 视频教程
- 测试结论
1、介绍 点这里回到目录
音频放大器模块是一种用于增强音频信号功率的电子模块,它能将微弱的音频电信号(比如从麦克风、播放器输出的信号)进行放大,提升信号的电压和电流强度,让声音变得更大、更清晰 。放大后的音频信号从模块输出,连接到扬声器等负载设备,推动负载发声。注意:UNO开发板性能不够,无法驱动该模块。
2、原理图 点这里回到目录
3、模块参数 点这里回到目录
引脚名称 | 描述 |
---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
LRCLK | 左右时钟引脚 |
BCLK | 位时钟引脚 |
DIN | 数据输入引脚 |
-
供电电压: 3.3-5V
-
连接方式:PH2.0 4P端子线
-
安装方式:积木固定
4、电路板尺寸 点这里回到目录
5、添加Arduino库文件
不会使用库文件的参考这里:库文件安装使用
库文件下载:点击下载
将下载好的Arduino 库文件解压到桌面后,将其放入Arduino 的libraries文件夹下。
6、添加MicroPython环境库文件 点这里回到目录
不会安装库文件的请点击这里:参考链接
7、Arduino IDE示例程序 点这里回到目录
示例程序(ESP32开发板):点击下载
#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) #define SAMPLE_RATE (44100) #define bufferLen (1024) #define I2S_SPK_DIN (25) #define I2S_SPK_BCLK (27) #define I2S_SPK_LRCLK (26) #define I2S_PORT_1 (I2S_NUM_1) #include "Arduino.h" #include "driver/i2s.h" #include "Arduino.h" #include "driver/i2s.h" int16_t sBuffer_RX[bufferLen]; size_t bytesIn = 0; int16_t sBuffer_TX[bufferLen*2]; size_t bytesOut = 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 I2s_Spk_Init() { i2s_config_t i2s_config_TX{}; i2s_config_TX.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX); i2s_config_TX.sample_rate = SAMPLE_RATE; i2s_config_TX.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT; i2s_config_TX.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT; i2s_config_TX.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB); i2s_config_TX.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1; i2s_config_TX.dma_buf_count = 8; i2s_config_TX.dma_buf_len = bufferLen; i2s_config_TX.use_apll = false; i2s_driver_install(I2S_PORT_1, &i2s_config_TX, 0, NULL); i2s_pin_config_t pin_config_TX{}; pin_config_TX.mck_io_num = I2S_PIN_NO_CHANGE; pin_config_TX.bck_io_num = I2S_SPK_BCLK; pin_config_TX.ws_io_num = I2S_SPK_LRCLK; pin_config_TX.data_out_num = I2S_SPK_DIN; pin_config_TX.data_in_num = I2S_PIN_NO_CHANGE; i2s_set_pin(I2S_PORT_1, &pin_config_TX); i2s_start(I2S_PORT_1); } void Spk_Value(int16_t* sBuffer_RX) { for (int i = 0; i < bufferLen; i++) { sBuffer_TX[i*2] = sBuffer_RX[i]; sBuffer_TX[i*2+1] = sBuffer_RX[i]; } i2s_write(I2S_PORT_1, sBuffer_TX, sizeof(sBuffer_TX), &bytesOut, portMAX_DELAY); } void setup(){ I2s_Mic_Init(); I2s_Spk_Init(); } void loop(){ Spk_Value(Mic_Value()); }
示例程序(ESP32-S3开发板):点击下载
8、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录
米思齐 Mixly 库文件(ESP32开发板-c语言版本):点击下载
示例程序(ESP32开发板-c语言版本):点击下载
米思齐 Mixly库文件(ESP32-S3开发板-c语言版本):点击下载
示例程序(ESP32-S3开发板-c语言版本):点击下载
9、测试环境搭建 点这里回到目录
Arduino ESP32 测试环境搭建
准备配件:
- ESP32 开发板 *1
- ESP32 EXP1 扩展板 *1
- USB type-c 数据线 *1
- HS-S05C-L 全向麦克风模块*1
- HS-F33-L 音频放大模块*1
- PH2.0 5P PH2.0端子转杜邦线 *2
电路接线图:
ESP32 Python 测试环境搭建
10、视频教程 点这里回到目录
Arduino UNO视频教程:点击查看
ESP32 Python视频教程:
11、测试结论 点这里回到目录
Arduino UNO测试结论:
发现搭配全向麦克风模块,可以实现 “声音采集 - 音频放大 - 声音播放” 的完整音频通路