MP3プレイヤー(Grove - MP3 v2.0)を使ってみる

音源として使えるプレイヤーはあってもファイル指定が出来なかったり再生終了が取得できなかったりシリアル制御できなかったりといまいちな製品が多い中、安価で多機能、しかもワンチップのプレイヤーを入手しました。チップは中国製のKT403Aでなかなかの優れものです。


 

使用機器

使用機器は下記のとおり。他、パソコンや電源、PICKIT2も当然ながら必要です。

MP3プレイヤー Seeed Studio Grove - MP3 v2.0
マイコンボード(PIC16F1947搭載) ZEATEC co.,ltd. ZT-PIC16F194701(5V仕様)

接続

接続は下記のとおりです。付属していたハーネスを加工してQIコネクタをつけています。
 

1 5V
2 GND
3 TX
4 RX
ボード USART2
-----ジャンパ線(赤)------
-----ジャンパ線(黒)------
-----ジャンパ線(白)------
-----ジャンパ線(黄)------
 
2 5V
1 GND
3 RX
4 TX
Grove - MP3

ちょっと解説

ライブラリを作るまでも無いと思ったので関数をちょっと追加しました。使用例の様にkt403_play()を記載するだけです。同じ要領でコマンド0x06を変更することでボリューム調整なども可能です。 シリアルの設定はMP3プレイヤーに合わせ、9600bpsにしています。また、USART2のほうを使用していますので、お間違いなく。

使用例
再生後3秒後に停止しています。

    kt403_play(0x1);//0001.mp3を再生
    delay_ms(1000);
    delay_ms(1000);
    delay_ms(1000);
    kt403_play(0x0);//停止

再生停止関数
よく使うと思われる再生コマンドと停止コマンドしか用意していません。また、再生終了時のフェードバックコマンドもコメントとして記載していますのでシリアルの受信を監視しておけば再生完了を取得できます。

  
    //KT403の制御
    void kt403_play(int play_no){
    
        //再生完了後のフィードバック
        //7E FF 83 4F 40 20 90 B8 EF
        
        if(play_no==0){
        //停止
        fprintf(c2,"%c%c%c%c%c%c%c%c",0x7E,0xFF,0x06,0x11,0x00,0x00,00,0xEF);
        }else{
        //再生
        fprintf(c2,"%c%c%c%c%c%c%c%c",0x7E,0xFF,0x06,0x03,0x00,0x00,play_no,0xEF);
        }
    }

プロジェクトファイルも含めたサンプル 16f1947_KT403A.zip
開発環境:MPLAB_IDE_8_92 + CCS-C PCMコンパイラVer.4.132

カテゴリーから探す


関西ドローン安全協議会修了済み

モバイルショップ

広告