
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、아두이노 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 테스트 결과:
모든 방향을 향해 음성을 수집하고, 오디오를 확대하고, 음성을 재생할 수 있는 완전한 오디오 패스를 제공할 수 있는 전향형 마이크 모듈을 찾았습니다.
