ArduinoでプログラマブルMP3プレイヤー

初版 2019/08/27 22:59

改訂 2019/08/27 23:06

まだしばらく暑いですけど、気分は秋です。

 さてDFRobotというハードウェア+オープンソースのプロバイダーがあるが、DFPlayer-miniというMP3プレーヤーの基板がAmazonなんかだと300円ぐらいの単価で売られているが、売りはシリアル通信でマイコン制御とかが出来る点だ。


 シリアル通信は一般的な汎用ポート規格で、USBで通信可能だ。arduinoの基板にはTXとRXという端子があるが、それですね。プログラミングで躓いてましたが、I/Oポートにプッシュスイッチ等をつけて操作も可能です。(音楽聴くだけならそれもあり)

 スペックはかなりのもので、小さくても24bit機です。音質はウォークマンの普及タイプより良いです。


 


こういう具合に基板に作りつけてしまいました。arduinoはpro miniです。注意点はTX/RXが5Vだとロジックレベルの電圧が合わないので、3.3Vに下点です。詳しい事は概ねメーカのwebを探せば書いてあります。


 aruduino IDEを使ったプログラムについては、ライブラリーの検索でオープン ソースが入手可能ですが、そのまま使っても3秒事に切り替わってしまうのでせわしない。自分でなんとか書き換え無いと行けません。タダの連続再生だけが今までプログラム出来なかったのだー


 しかしいろいろ方法を変えてやってみたら出来た。

void setup()という関数を呼び出しておく部分の最後にループプレイの関数を足して(Fullfunctionというスクリプトがあるので、そこから探してコピペすればいい)、void loop()の中はdigital pin「HIGH、LOW」をMP3プレーヤーのBUSY ピンから読み出し、その繰り返し処理を記述して、MP3のファイルを再生する関数は何もありません。こうすると、セットアップの最後で呼び出した関数がそのまま続くようです。いわゆるdelay()を使ってloop内で再生関数を実行させ続けるのはプログラマブルだけど、取り敢えず鳴らしておくだけの場合、タイマー設定をいちいち入れておくのは「体裁が悪い」。


パソコンに繋いであるのは(ビルド)と再生時の(シリアルモニター)の為で、ビルド後はプログラム再生だけならパソコンじゃなくて給電だけで良いわけです。


#教えて

#電子工作

#知りたい

海外ニュース、語学、音楽 、 Photo  英語ブログ開設で悪戦苦闘中。
音楽鑑賞ブログをダラダラ続けて早6年

http://blog.livedoor.jp/kingfishertype97/

Default