ESP32 藍牙立體聲播放機_實驗
本實驗使用下圖ESP32開發板,透過I2S DAC解碼器,與手機藍牙連結後播出聲音

實驗線路,將輸出接了10W放大器


上圖為I2S(PCM5102 IC)模組板,VIN接3.3V,GND接-,LCK接D25腳,DIN接D26腳,BCK接D5腳,SCK接GND(或如圖將焊點短路)
使用arduino IDE 來開發ESP32程式,先到arduino IDE 主功能表[檔案/偏好設定],在額外開發板管理員網址輸入
https://dl.espressif.com/dl/package_esp32_index.json


按下確定鍵,並關閉面板
選擇[工具/開發板/開發板管理員]

搜尋esp32,選擇esp32 Espressif Systems 安裝


接著下載arduino程式庫,網址: http://bit.ly/3gSpf4h ,選擇Download ZIP

接著匯入剛剛下載的arduino (ESP32-A2DP-main)程式庫,[草稿碼/加入ZIP程式庫]

由[檔案/範例]第三方程式庫範例下選擇下圖檔案

將程式上傳至esp32開發板後,使用手機打開藍牙搜尋,找到MyMusic,此時已建立連線,再來只要播放YouTube或其他聲音,即可測試是否成功了.

程式如下:
#include “ESP_I2S.h”
#include “BluetoothA2DPSink.h”
const uint8_t I2S_SCK = 5; /* Audio data bit clock */
const uint8_t I2S_WS = 25; /* Audio data left and right clock */
const uint8_t I2S_SDOUT = 26; /* ESP32 audio data output (to speakers) */
I2SClass i2s;
BluetoothA2DPSink a2dp_sink(i2s);
void setup() {
i2s.setPins(I2S_SCK, I2S_WS, I2S_SDOUT);
if (!i2s.begin(I2S_MODE_STD, 44100, I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO, I2S_STD_SLOT_BOTH)) {
Serial.println(“Failed to initialize I2S!”);
while (1); // do nothing
}
a2dp_sink.start(“MyMusic”);
}
void loop() {
}