ESP32蓝牙驱动MAX98357对音频音乐播放
一、简介
MAX98357 I2S功放模块是采用美信MAX98357 芯片开发的I2S数字单声道D类功率放大器模块。与ESP32等具有I2S接口的主控相结合,可广泛用于物联网节点、智能家居设备、蓝牙音频播放器等项目。本产品支持3.3V~5V供电。在5V供电、4Ω喇叭的状态下,具备2.5W以上的输出功率。
采样率:8kHz~96kHz
效率:92%
DAC增益误差:1%
频率响应:±0.2dB
D类开关频率 :330kHz
扩频带宽 :±12.5kHz



增益控制 (GAIN)
如果GAIN和GND之间连接100K电阻,则为15dB
如果GAIN直接连接到GND,则为12dB
如果GAIN未连接到任何设备,则为9dB (默认状态)
如果GAIN直接连接到 VCC,则为 6dB
如果GAIN和VCC之间连接了100K电阻,则为3dB
SD模式(SD)
SD接GND(电压在0.16V以下),则放大器关闭
SD上的电压介于0.16V和0.77V之间,R1电阻为680K,则输出为混合声道(默认)
SD上的电压介于0.77V和1.4V之间,R1电阻为330K,则输出为右声道
SD上的电压高于1.4V,R1电阻为100K,则输出为左声道
SD引脚与Vin引脚之间连接着一个1兆欧的电阻。当使用5V电源供电时,该电阻能确保输出电压为"立体声平均值"。如果你只需要左声道或右声道的信号,或者使用的电源电压不是5V时,那么你可能需要通过试验不同的电阻值来获得所需的SD引脚输出电压。
推荐喇叭
5V into 4Ω @ 10% THD - 3W max
5V into 4Ω @ 1% THD - 2.5W max
3.3V into 4Ω @ 10% THD - 1.3W max
3.3V into 4Ω @ 1% THD - 1.0W max
5V into 8Ω @ 10% THD - 1.8W max
5V into 8Ω @ 1% THD - 1.4W max
3.3V into 8Ω @ 10% THD - 0.8W max
3.3V into 8Ω @ 1% THD - 0.6W max
二、ESP32、喇叭、MAX98357接线图

连接说明:
| Vin | 5V |
|---|---|
| GND | GND |
| LRC | 26 |
| BCLK | 25 |
| DIN | 14 |
| + | l喇叭 |
| - | 喇叭 |
三、Arduino测试代码
Arduino IDE中安装MAX98357驱动库

打开示例

代码如下:
cpp
#include <DFRobot_MAX98357A.h>
DFRobot_MAX98357A amplifier; // instantiate an object to control the amplifier
void setup(void)
{
Serial.begin(115200);
/**
* @brief Init function
* @param btName - The created Bluetooth device name
* @param bclk - I2S communication pin number, serial clock (SCK), aka bit clock (BCK)
* @param lrclk - I2S communication pin number, word select (WS), i.e. command (channel) select, used to switch between left and right channel data
* @param din - I2S communication pin number, serial data signal (SD), used to transmit audio data in two's complement format
* @return true on success, false on error
*/
while( !amplifier.begin(/*btName=*/"bluetoothAmplifier", /*bclk=*/GPIO_NUM_25, /*lrclk=*/GPIO_NUM_26, /*din=*/GPIO_NUM_27) ){
Serial.println("Initialize failed !");
delay(3000);
}
Serial.println("Initialize succeed!");
}
void loop(void)
{
delay(3000);
}
四、手机蓝牙连接ESP32播放音乐
打开手机蓝牙功能,搜索并连接上bluetoothAmplifier节点,使用音乐播放器播放音乐。
总结
通过以上实验,我们了解到了如何利用ESP32的蓝牙功能播放音乐。