tecの備忘録らしきもの

tectokamuuの行動記録

ESP32のA2DP+PT8211

どうも〜tectokamuuです…

しばらく投稿もしてなかったので生存報告も含めて発見のお知らせとします〜

 

今回はESP32のA2DPライブラリ↓

GitHub - pschatzmann/ESP32-A2DP: A Simple ESP32 Bluetooth A2DP Library (to implement a Music Receiver or Sender) that supports Arduino, PlatformIO and Espressif IDF

Arduino(ver.1.8〜)だと使用できない不具合?が見れたのでその対処法も含め最近秋月で取り扱い始めたPT8211(RJ16:右揃え16Bit)を直接利用する方法についてもご紹介します。

 

使用環境

Windows11 home 64bit

Arduino IDE 1.8.6

ESP32 Wroom 32E

FT232 シリアル変換

 

問題点

1.A2DPライブラリの"simple"のスケッチ例ではBluetooth接続はできるが音が出ない(波形が謎)

2.A2DPライブラリのカスタム設定版だとBluetooth接続すらできない

 

改善方法

1.2.どちらもArduino IDEを1.6.8に戻すことで対処成功

(1.0.8でも試したがまずESP32に非対応だった)

 

ここからはPT8211との接続方法についてです

1.上の対策を行い、カスタムでBluetooth設定がいじれるようにする

2.スケッチ例"〜internal dac"からI2Sの送信形式のみをコピペ

3.書き込んで終わり

 

この方法で私は音を鳴らすことには成功しました。

が、ノイズが酷くおそらくESP32からGNDに流れるノイズがGNDを共通にしたことでR-2R型DACICであるPT8211に顕著なノイズを与えているのだと思います。

なのでESP32のみGNDをトランスか何かで分離してあげると良いでしょう。またI2Sのレベルが3.3V、PT8211のVccが5Vだったのでレベル差による閾値のズレもあったのでしょうか…

まぁ詳しいことは色々調べてからやるべきですね…

 

ちなみに今回の件はyoutubeでGreatScott!さんを見ていたら同じ問題に突き当たっていたので時間を使ってやってみました。同じように悩んでいる人がいらっしゃったらその時助けとなれば幸いです。

 

それでは〜