こんにちは、押切です。
スマートフォンから操作できるように改造できるキット「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. 準備するのもの
いずれも秋月電子等で購入可能です。
- DFPplayermini 1個
- TFカード(microSDカード) 1枚
- 容量は4GBや8GBなど小さくて安いのでOK
http://www.akibaoo.co.jp/c/1303/?sort_order=cheap_order
- 容量は4GBや8GBなど小さくて安いのでOK
- スピーカー 1個
- 例:スピーカボックス(8Ω1W)(aitendo)
https://www.aitendo.com/product/13793
- 例:スピーカボックス(8Ω1W)(aitendo)
- 1kΩ抵抗 2個
- CR2電池ボックス 1個
- CR2電池 1個
- スイッチ 1個
- 基板の切れ端 36x45mm程度
- http://akizukidenshi.com/catalog/g/gP-03229/
- 基板は基板カッターだと大げさだという場合は、万能ばさみで切るとちょっとした工作に便利です
- https://www.amazon.co.jp/dp/B000ALF56I/ref=psdc_2039544051_t1_B008D96REI
- http://akizukidenshi.com/catalog/g/gP-03229/
- 線材適量
スピーカーはaitendoさんで売っているようなエンクロージャー付きのものが音が響いてお勧めですが、なけれれば紙などでエンクロージャーを自作するのでも大丈夫です。これがあるのとないのではかなり違いがあるので試してみて下さい。
2. 電子パーツのはんだ付け
MKZ4の回路図に足すと下図のようになります。
MP3モジュールとシリアル通信するために、IO5とIO13のGPIO端子をソフトウェアシリアルに割り当てました。 (ライトを使う場合、TP1の接続をIO0(CN2pin)に移動)
MP3player部分は下記写真のようになります。
基板とは下図のように繋げます。
スイッチが2つになったので、先にMP3モジュール側の電源を入れてから、本体の電源を入れて下さい。
リンクのスイッチは2回路入りなので、メイン電源側の線も延長すればれば同時にONすることも可能ですので、スイッチの位置ともに改良してみてください。
3. プログラミング
- MKZ4にプログラムを書き込むためのスケッチを以下から、ダウンロードしてArduino IDEで開きます。
https://github.com/MasatoOshikiri/MKZ4/tree/master/custom/Cerevo_MKZ4_BGM2
ここでは、SSIDはMKZ4_BGM2としています。
※これまでガイドブックや、前々回の記事で、フロントライト、バックライトの点灯、ソフトでのキャリブレーションを解説してきましたので、それらを包括したスケッチとします。 - Arduino IDEメニューの「スケッチ」から「ライブラリをインクルード」を選択し「.ZIP形式のライブラリをインストール…」で、以下のZipライブラリを追加します。
https://github.com/DFRobot/DFRobotDFPlayerMini/archive/1.0.3.zip - microSDにmp3ファイルを入れる。
SDカードをFATでフォーマットしてルートに、mp3フォルダを作り、その中に4桁の数字でファイル名を指定してください。 - ファイルをいれたら、microSDをDFPplaeryに差し込む。
今回のスケッチでは1曲をループしていますが、別の曲に変えたりすることも容易なので、公式のDFPlayerminiのページや、ライブラリのサンプルスケッチを見てください。
■動作確認
MKZ4WKを外して、CN3のジャンパーピンを”外して”ください。
これは、ライトのGPIOにIO0を割り当てたためで、IO0は起動時にはBootとDownloadを切り替えに使っているpinになるためです。
音楽が流れたでしょうか。これで完成です。
音声を変えるには、スケッチの番号を変えるか、microSDに入れる音声ファイルを変えるだけなので、前回の記事より断然簡単で、高音質の音が鳴らせます。
4. おまけ(電池を増やさない改造)
電池を増やさないために昇圧回路を使った回路変更図も載せてみます。
昇降圧回路があればそれでもいけると思いますが、現在このような状況下で秋月電子も店舗がお休みなので気軽にぱっと買ってきてすぐ試すことできず、確認できていません。
多少知識がある方はこちらの方がスマートに実現できるので試してみて下さい。通信は同じなので、スケッチは一緒です。
さいごに
アドトラックというより、エアレコードのヴァイナルキラーっぽくなりましたがいかがでしょうか?
動きによって、音声ファイルを変えれば、”バックします”のような音で後進することも可能ですのでぜひ試してみて下さい。
改造についてのご希望は、Twitterでハッシュタグ #cerevo #mkz4 でのつぶやきもまだ募集中です。
MKZ4の他の記事をみる
- 【MKZ4特別企画1】Arduinoで改造ミニ四駆の動きの精度を上げるチューニング
- 【MKZ4特別企画2】プログラミングでIoT改造ミニ四駆から音楽を鳴らしてみよう
- 文系新卒でもIoTに入門できるのか?! 改造ミニ四駆製作キット「MKZ4」に挑戦
- MKZ4〜失われた夏を取り戻せ!Wi-Fiモジュールはんだ付け編
- ESP8266とブレイクアウトボードで中学生ぶりに半田付けに挑戦
- レッツ&ゴー! 音声認識を使ってミニ四駆を「声」で操作!(MKZ4“魔改造” iOS編)
- レッツ&ゴー! 音声認識を使ってミニ四駆を「声」で操作!(MKZ4“魔改造” Android編)
- スマホで操作する改造ミニ四駆製作キット「MKZ4」を使ってさらに魔改造する。
- MKZ4でレーサーミニ四駆をラジコンに“魔改造”!(回路&ソフト編)
- ぷらっちっくのかんたんなお話。身近なものでバキューム成形
著者プロフィール
- 2015年にCerevoへジョイン。電気エンジニアを経て、現在は執行役員