【MKZ4特別企画3】 MP3再生モジュールを使ってIoT改造ミニ四駆「MKZ4」で音を鳴らしながら走らせよう


こんにちは、押切です。
スマートフォンから操作できるように改造できるキット「MKZ4」を使ったワイルドミニ四駆の改造について紹介していく特別企画、第3弾です。

MKZ4についての詳細は、以下の前々回の記事をご覧ください。
【MKZ4特別企画1】Arduinoで改造ミニ四駆の動きの精度を上げるチューニング

前回のリベンジで今回はハード部分の改造主体でBGMを鳴らしながらミニ四駆を走らせたいと思います。
最終的には音声を再生させながら走る、アドトラック風に改造します。しばらく自宅に引きこもっていて、都会の喧騒が恋しい方にもお勧めです。

完成するとこの動画のような動きになります。

●MKZ4で音声を鳴らす方法

マイコンにプログラミングを書き込み音を出すと前回の記事のように、音声処理に手間が掛かったり、他の処理に影響が出る場合が多くなります。

そこで今回は独立したMP3再生モジュールのDFPlayerminiを別途用意し、ESP8266自体はシリアル通信でMP3モジュールにコマンドを送るのみに留め、音は専用モジュール DFPlayer Mini に任せる事にしました。

MP3再生モジュール
https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299

MKZ4で改造したミニ四駆のCPUとMP3モジュールを繋ぐのは電源、GND,RX,TXの4本のみです。
Arduino用ライブラリも公開されているので、早速実装するとすぐに再生できるようになりましたが、ここでMKZ4走らせると問題が生じました……
特に段差があるようなモーターにトルクが掛かる状態になると、利用している電池の電圧が一次的に3V以下に下がってしまい、電圧降下でMP3モジュールがリセットして音が止まってしまったのです。シンプルな実装ではうまくいきそうにありません。

この問題を解決するには様々なアプローチがありますが、ここでは作りやすさを優先して、MP3モジュール用に専用電池を設けて解決することにしました。

1. 準備するのもの

いずれも秋月電子等で購入可能です。

スピーカーはaitendoさんで売っているようなエンクロージャー付きのものが音が響いてお勧めですが、なけれれば紙などでエンクロージャーを自作するのでも大丈夫です。これがあるのとないのではかなり違いがあるので試してみて下さい。

2. 電子パーツのはんだ付け

MKZ4の回路図に足すと下図のようになります。

MP3モジュールとシリアル通信するために、IO5とIO13のGPIO端子をソフトウェアシリアルに割り当てました。 (ライトを使う場合、TP1の接続をIO0(CN2pin)に移動)

MKZ4の回路図に今回の改造分を追加したもの

MP3player部分は下記写真のようになります。

基板とは下図のように繋げます。

スイッチが2つになったので、先にMP3モジュール側の電源を入れてから、本体の電源を入れて下さい。


リンクのスイッチは2回路入りなので、メイン電源側の線も延長すればれば同時にONすることも可能ですので、スイッチの位置ともに改良してみてください。

3. プログラミング

  1. MKZ4にプログラムを書き込むためのスケッチを以下から、ダウンロードしてArduino IDEで開きます。
    https://github.com/MasatoOshikiri/MKZ4/tree/master/custom/Cerevo_MKZ4_BGM2
    ここでは、SSIDはMKZ4_BGM2としています。

    ※これまでガイドブックや、前々回の記事で、フロントライト、バックライトの点灯、ソフトでのキャリブレーションを解説してきましたので、それらを包括したスケッチとします。

  2. Arduino IDEメニューの「スケッチ」から「ライブラリをインクルード」を選択し「.ZIP形式のライブラリをインストール…」で、以下のZipライブラリを追加します。
    https://github.com/DFRobot/DFRobotDFPlayerMini/archive/1.0.3.zip


  3. microSDにmp3ファイルを入れる。
    SDカードをFATでフォーマットしてルートに、mp3フォルダを作り、その中に4桁の数字でファイル名を指定してください。


  4. ファイルをいれたら、microSDをDFPplaeryに差し込む。

    今回のスケッチでは1曲をループしていますが、別の曲に変えたりすることも容易なので、公式のDFPlayerminiのページや、ライブラリのサンプルスケッチを見てください。

■動作確認

MKZ4WKを外して、CN3のジャンパーピンを”外して”ください。
これは、ライトのGPIOにIO0を割り当てたためで、IO0は起動時にはBootとDownloadを切り替えに使っているpinになるためです。

音楽が流れたでしょうか。これで完成です。

音声を変えるには、スケッチの番号を変えるか、microSDに入れる音声ファイルを変えるだけなので、前回の記事より断然簡単で、高音質の音が鳴らせます。

4. おまけ(電池を増やさない改造)

電池を増やさないために昇圧回路を使った回路変更図も載せてみます。

昇降圧回路があればそれでもいけると思いますが、現在このような状況下で秋月電子も店舗がお休みなので気軽にぱっと買ってきてすぐ試すことできず、確認できていません。

多少知識がある方はこちらの方がスマートに実現できるので試してみて下さい。通信は同じなので、スケッチは一緒です。

さいごに

アドトラックというより、エアレコードのヴァイナルキラーっぽくなりましたがいかがでしょうか?

動きによって、音声ファイルを変えれば、”バックします”のような音で後進することも可能ですのでぜひ試してみて下さい。

改造についてのご希望は、Twitterでハッシュタグ #cerevo #mkz4 でのつぶやきもまだ募集中です。

MKZ4の他の記事をみる

Cerevo 採用情報
Cerevoではエンジニアや広報など、様々な職種の採用活動を行なっています。
IoTプロダクト開発やスタートアップ支援、企画、営業に関心が高い方からのご応募をお待ちしております。

Wantedlyを見る採用情報を見る