硬件准备
- ESP32 开发板
- MAX4466 模拟麦克风模块
- 扬声器或耳机
接线
- MAX4466 模块输出(AO) -> ESP32 ADC 引脚(如 GPIO 34)
- ESP32 DAC 引脚(如 GPIO 25 或 GPIO 26) -> 扬声器或耳机
软件准备
- 音频采集
- DAC 转码并播放
代码实现
以下代码展示了如何从 MAX4466 读取模拟音频信号并通过 ESP32 的 DAC 引脚输出音频信号。
const int adcPin = 34; // 定义 ADC 引脚
const int dacPin = 25; // 定义 DAC 引脚
void setup() {
Serial.begin(115200); // 初始化串口通信
}
void loop() {
// 从 ADC 读取模拟信号 (0 - 4095)
int adcValue = analogRead(adcPin);
// 将 ADC 值映射到 DAC 输出范围 (0 - 255)
int dacValue = map(adcValue, 0, 4095, 0, 255);
// 输出 DAC 值
dacWrite(dacPin, dacValue);
// 打印 ADC 和 DAC 值到串口监视器
Serial.print("ADC Value: "