top of page

Raspberry Pi PicoでDFPlayerを動かしてみました。(MicroPython)

Raspberry Pi PicoでDFPlayerを動かしてみました。今回使用した言語はMicroPythonです。



DFPlayerはスイッチサエンスで購入しました。Amazon等で互換品も販売されています。


スピーカーもスイッチサエンスで購入しました。

0.5Wのスピーカーです。


DFPlayerのwikiサイトは下記になるのですが、サンプルプログラムはArduinoとなります。


MicroPythonで動かした例がないかと、検索したところ下記の記事にだとりつき、プログラムはこちらを参考にさせていただきました。

・【Raspberry Pi Pico】UART通信でDFPlayerを制御する

・Pi Pico でDFPlayer を使ってMp3を再生してみる(Arduino IDE / MicroPython)

・Raspberry Pi Picoで音声を鳴らす・光らせる



Raspberry Pi PicoのMicroPythonのファームウェアをセットアップや開発環境の設定については下記をご覧ください。

【MicroPythonのファームウェアをセットアップ】

設定方法は下記のURLに記載されています。


また、当ブログでは下記の記事に記載しています。

今回の注意点としてはファームウェアをダウンロードする際にRaspberry Pi Pico Wのほうを選択してください。


【開発環境の設定】

当ブログでは下記の記事に記載しています。



準備ができたら、配線を行っていきます。

DFPlayerのPinの配置は下記になります。



Raspberry Pi PicoのPinの配置は下記になります。


配線は下記の通りに接続しました。


スピーカーとDFPlayer

+側⇔SPK1

ー側⇔SPK1


PicoとDFPlayer

GND⇔GND

3V3⇔VCC

GP0(UART 0 TX)⇔RX

GP1(UART 0 RX)⇔TX



配線ができたら、Micro SD Cardに再生するファイルを準備します。

Micro SD Cardは16GB/32GBのもの、再生するファイルはMP3またはWAVファイル動くみたいです。なお、今回はWAVファイルを再生しています。


注意点

再生順はファイル名の順番ではなく書き込まれた順番になるとのことなので、複数のファイルを1から順番通りに再生したいという場合は1つずつ順番に書き込んでください。



配線とデータの準備ができたらプログラムを書いていきます。

今回作成したプログラムは下記の通りです。

bytearrayの指定の意味は下記の通りです。

・0x7E:開始コード(0x7E)

・0xFF:バージョン情報

・0x06:バイト数(データ長: 6 バイトのため、0X06)

・0x03:コマンド(0X03: 0~2999のデータを指定)

・0x00:フィードバックの有無(無: 0X00、有: 0X01)

・0x00:上位ビット

・0x01:下位ビット(動かしたいデータの番号を16進数で記述)

・0xEF:終了コード(0xEF)


Wikiを見てみたりとかしたのですが、すべての意味はとらえられてません…。

基本的に、コマンドと下位ビットを指定すればよいみたいです。


Wikiの解説です。




再生した結果は下記となります。

データの声はVOICE BOXのずんだもんを使用しています。


閲覧数:142回
bottom of page