音源として使えるプレイヤーはあってもファイル指定が出来なかったり再生終了が取得できなかったりシリアル制御できなかったりといまいちな製品が多い中、安価で多機能、しかもワンチップのプレイヤーを入手しました。チップは中国製のKT403Aでなかなかの優れものです。
使用機器は下記のとおり。他、パソコンや電源、PICKIT2も当然ながら必要です。
MP3プレイヤー Seeed Studio Grove – MP3 v2.0
マイコンボード(PIC16F1947搭載) ZEATEC co.,ltd. ZT-PIC16F194701(5V仕様)
接続は下記のとおりです。付属していたハーネスを加工してQIコネクタをつけています。
ライブラリを作るまでも無いと思ったので関数をちょっと追加しました。使用例の様に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
©ZEATEC co.,ltd.