ESP32 チュートリアル 41/55 - Micro SD カードを使用した MP3 プレーヤー | SunFounder の ESP32 IoT 学習キット

ESP32 チュートリアル 41/55 - Micro SD カードを使用した MP3 プレーヤー | SunFounder の ESP32 IoT 学習キット

このチュートリアルでは、ESP32マイコンとマイクロSDカードを使用してMP3プレーヤーを作成します。ESP32はマイクロSDカードに保存された音声ファイルを読み取り、オーディオアンプとスピーカーを通じて音を出力します。このプロジェクトは、ESP32、オーディオアンプ、マイクロSDカードなどのさまざまなコンポーネントを組み合わせて、音楽を簡単に再生できるようにします。

プロセス全体を通じて、必要な配線やコーディング、一般的な問題のトラブルシューティング方法について話し合います。視覚的なガイダンスが必要な場合は、関連するビデオ(ビデオは :00 にあります)をぜひご覧ください。

ハードウェアの解説

このプロジェクトで使用される主なコンポーネントには、ESP32マイクロコントローラー、マイクロSDカード、オーディオアンプ、スピーカーが含まれます。ESP32は、内蔵Wi-FiとBluetooth機能を備えた強力なマイクロコントローラーであり、IoTプロジェクトに最適です。音声再生の処理と制御を担当します。

micro SDカードは、MP3形式の音声ファイルを保存するために使用されます。これはESP32に接続され、プログラムはファイルを読み取り、アンプに音声データを送信することができます。音声アンプはESP32からのデジタル信号を受け取り、それを増幅してスピーカーを駆動し、音を聞くことができるようにします。

データシートの詳細

メーカーサンファウンダー
部品番号ESP32
論理/入出力電圧3.3 V
供給電圧5 V
出力電流(チャネルごと)2 A最大
ピーク電流(チャンネルごと)3 A最大
PWM周波数ガイダンス最大40 kHzまで
入力論理しきい値0.3 x VCC (低), 0.7 x VCC (高)
電圧降下 / RDS(on)/ 飽和0.15 V
熱的限界85 °C
パッケージWROOM-32
ノート / バリアントさまざまなオーディオライブラリに対応

  • microSDカードがFAT32としてフォーマットされていることを確認してください。
  • オーディオアンプを接続するために抵抗器を使用して歪みを防ぎます。
  • 電源接続を安定させ、切断を避けてください。
  • システムに電源を入れる前に、配線に緩い接続がないか確認してください。
  • デバッグ情報のためにシリアル出力を監視してください。
  • 低インピーダンススピーカーを使用すると、音質が向上します。
  • 最高のパフォーマンスを得るために、音声を再生中にESP32がタスクで過負荷にならないようにしてください。

SD_MMCマイクロSDアクセスに使用され、AudioOutputI2S音声出力に使用されます。

配線指示

ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing

コンポーネントを配線するには、まず電源を接続します。ESP32の5VをオーディオアンプのVCCピンに接続します。次に、ESP32のグラウンドピンをアンプのグラウンドピンに接続します。ESP32からのオーディオ出力ピンは、通常GPIO25アンプの入力ピンには10 kΩの抵抗を介して接続する必要があります。

スピーカーはオーディオアンプの出力ピンに接続してください。スピーカーには極性がないため、どちら向きでも接続できます。マイクロSDカードをESP32の指定されたスロットに挿入してください。システムの電源を入れる前に、すべての接続を再確認してください。

コード例とウォークスルー

提供されたコードでは、オーディオ再生とSDカードアクセスに必要なライブラリーをインクルードすることから始めます。主要な識別子はmp3,file, とoutMP3ジェネレーター、音声ファイルのソース、および音声出力をそれぞれ表します。

AudioGeneratorMP3 *mp3;
AudioFileSourceSD_MMC *file;
AudioOutputI2S *out;

ここでは、MP3ジェネレーターとオーディオファイルソースのポインタを宣言します。setup()関数では、シリアル通信とSDカードを初期化します。

void setup() {
  Serial.begin(115200);
  if (!SD_MMC.begin()) {
    Serial.println("SD card mount failed!");
  }
  file = new AudioFileSourceSD_MMC("/To Alice.mp3");
  out = new AudioOutputI2S(0, 1);
}

この抜粋では、SDカードが正常にマウントされているかを確認します。失敗した場合は、エラーメッセージが表示されます。その後、MP3ファイルとオーディオ出力モードを設定します。

void loop() {
  if (mp3->isRunning()) {
    if (!mp3->loop()) mp3->stop();
  } else {
    Serial.println("MP3 done");
    delay(1000);
  }
}

このループは、MP3ファイルがまだ再生中かどうかを確認します。再生が続いていない場合、再生が完了したことを示すメッセージを表示します。完全なコードは、記事の下に読み込まれて、さらに参照できるようになります。

デモ / 期待されること

すべてが配線され、コードがアップロードされると、マイクロSDカードを挿入したときにスピーカーから音声が再生されるはずです。カードを挿入した後はESP32をリセットしてください。音声が再生されない場合は、配線を確認し、コード内で音声ファイルの名前が正しく設定されていることを確認してください(動画の05:00に)。

一般的な落とし穴には、マイクロSDカードを正しくフォーマットしないことや、サポートされていない音声ファイル形式を使用することが含まれます。常にファイルがMP3形式で、必要に応じてルートディレクトリまたは指定されたフォルダーに配置されていることを確認してください。

ビデオのタイムスタンプ

  • 00:00 スタート
  • 2:19 プロジェクトの紹介
  • 4:27 ドキュメントページ
  • 5:32 オーディオアンプの配線
  • ESP32用のmicroSDカードを8:00にフォーマットしています
  • 10:16 図書館とコード
  • 15:16 Arduino IDEでESP32ボードとCOMポートを選択する
  • 16:58 ESP32を使用してMicro SDカードから曲を再生中
  • 19:14 18650バッテリーを使用した第2回デモ

画像

speaker_pic
speaker_pic
audio_module
audio_module
ESP32-40-micro-sd-card-1
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
esp32-41-play-music-wriing
842-ESP32 Tutorial 41/55- Arduino code for playing music from microSD card
言語: C++
コピーしました!

ファイル📁

ファイルは利用できません。