ESP32蓝牙驱动MAX98357对音频音乐播放

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的蓝牙功能播放音乐。