以前からESP32はI2Sで音データを扱える事は知っていました。ただ開発はESP IDEで行う様でそれが理由で敬遠していました。最近Arduino IDEでも開発出来る様に成ったのでそれを使ってWebRadioを作って見ました。
ハードの準備
先ず、I2S入力のアンプが必要です。
- Dacのデータを音に変えるI2Sプレーヤー
- HPにはラズベリーパイI2Sプレーヤー用PCM5102 DACデコーダES9023と有りました。
- 入力がR/Lの2つ。
- 電源が5から10V。ここは注意
これだけで音は出るんですが、スピーカーを2つ駆動したかったので念の為、増幅アンプも使用する事にしました。
- I2Sプレーヤーの音を増幅するアンプ。
- 最大出力3W×2chのステレオD級オーディオアンプ
- 電源は5V
その他
- スピーカー
- 2chなので左右用に2つ
- 電源
- アンプの入力電圧が5Vなので、使用する電源は5V。
- ESP32がUSBコネクターを持っていればそこから5Vがとれるかもしれません
- 別で用意した方がベターと思います
が必要です。
ライブラリの準備
先ずは、ESP8266AudioというライブラリーをArduino IDEに追加します。
Clone or Download ボタンをクリックすると、Download ZIP画面が表示されます。それを押してダウンロードします。Arduino IDEで、”スケッチ”ー>”ライブラリーをインクルード”ー>”.ZIP形式のライブラリーをインストール”と進み、先程ダウンロードしたファイルを選択すればインストール完了です。
回路
ちょっとフライングですが、サンプルプログラムを見るとAudioOutputI2S(); というI2S出力関係の関数が有ります。そこで以下の様に出力を定義しています。
これを元にESP32とI2Sプレーヤーの配線を行うと以下の様になります。
ESP32 | I2Sプレーヤー |
GPIO25 | LRCK |
GPIO26 | BCLK |
GPIO22 | DATA |
実際に配線は以下の通り
次回は
これで音を出す準備が出来ました。次回は実際にデータを再生してみたいと思います。