今朝はよく冷えました。
例年より暖かいので、これが普通なのかもしれまんがね。
先日出場する予定だったマラソン大会は雨降りなのと、多忙なのでDNSでした。
参加する種目もウォーキングだったので、まーいいかーという感じでした。
そこで本当は仮装して歩く予定でした。
せっかく仮装するなら、ちょっと目立とうかと思った次第です。
これは以前参加したときの写真です。
その時は10kmの部に出場しました。
左側のバイキンマンが私です。今回一緒にでる友人(右側)も用事ができたということで不参加でした。
連れがないのも参加しなかった理由のひとつかな。
話がそれましたが、何をしようとしたかったというとバイキンマンの声を出せたらいいいなと計画しました。
1ヶ月前に思い立って、いろいろ調べました。
バイキンマンは2つ名セリフがあります。できたら2つを使い分けたかったです。
市販のものはなかなかよいものがありませんでした。
じゃあ、自分で作れないかと検索すると、電子工作をするとできそうだとわかりました。
メルカリで音を出力するセットを購入しました。
mp3を再生することができるユニットになります。
そこで実現したかったことはマイクロSDカードに保存した音声2種類をボタンを押すことで再生するということです。
そこからが大変でした。初めて扱う分野ですので勉強しながら組み立てました。
フレッドボードと言われるテスト用の回路基板にマイコンボードのArduino nanoを接続します。
そこにmp3再生用のDFPlayer miniを取り付け配線をして、2種類の音声を再生するためのボタンを2個取り付けます。
出力用にスピーカーを取り付けたら完成です。
と、簡単に書いてしましましたが、マイコンボードはプログラミングしなくてはなりません。
パソコンにプログラミング作成用のソフトArduino IDEをインストールして、マイコンボードと接続して作成したプログラムを転送します。
プログラミングも大変でしたが、配線もうまくいかずに、結局マイコンボードとmp3 Playerを壊してしまいました。
新しいマイコンボードとDFPlayer miniを再度購入してなんとか思い通りに動作するようになりました。
下記がプログラムコードになります。
- #include “SoftwareSerial.h”
- #include “DFRobotDFPlayerMini.h”
- SoftwareSerial mySerial(10, 11); // RX, TX
- DFRobotDFPlayerMini myDFPlayer; // myDFPlayerオブジェクトの宣言
- #define SW_KEY1 2
- #define SW_KEY2 3
- int buttonState1 = 0;
- int buttonState2 = 0;
- void setup () {
- delay(2000); //モジュール起動の待機時間
- mySerial.begin (9600);
- pinMode(SW_KEY1, INPUT_PULLUP);
- pinMode(SW_KEY2, INPUT_PULLUP);
- Serial.begin(115200);
- mySerial.begin (9600);
- myDFPlayer.begin(mySerial);
- myDFPlayer.volume(15);
- }
- void loop () {
- buttonState1 = digitalRead(SW_KEY1);
- buttonState2 = digitalRead(SW_KEY2);
- if (buttonState1 == LOW) {
- delay(100);
- myDFPlayer.play(1);
- delay(100);
- }
- if (buttonState2 == LOW) {
- delay(100);
- myDFPlayer.play(2);
- delay(100);
- }
- }
ここから本番というか、テスト用に回路基板では運用できないので、基盤にマイコンボードをはんだ付けして使えるようにする必要があります。
まずは部品集めからです。
市内に電子工作の店があって、そこに行っていろいろ聞きながら基盤、ボタン、線、コネクターなどを購入しました。
基盤にマイコンボードをはんだ付けして動作を確認しました。
次はケースを買う必要があります。100均で釣り道具のケースを買ってそこに基盤やスピーカーを取り付け、ケースから配線を引いてボタンを押せるようしました。
これが上面、スイッチでON/OFFを切り替えます。
これが底面です。スピーカーから音声が流れます。
これがスイッチです。手元まで届くようにしました。
電子工作のお店で相談したら2芯のシールド線をすすめられました。
シールドをアースにして、2芯がボタン①とボタン②になります。
ジャックで抜き差しできるようにしました。意外とスマート。
これが中の部品です。左からマイコンボード、DFPlayer mini、電池になります。
上ぶたにはスピーカーとジャックの受け側です。
こんな感じに2芯のケーブルと接続します。
マイコンボードの左側にUSB端子があって、これでパソコンからデータを送信します。
通常はここから電源がとれるのですが、外部電源で9Vの乾電池からも電源がとれます。
このケースはバイキンマンの頭の口の後ろに取りつけるようにしました。
頭は発砲スチロールで製作されているので、固定するのは意外と難しそうです。
調べてみると竹串に瞬間接着剤で固定するとよいとのことでしたので、その方法でやってみました。
意外とうまくできました。
完成写真です。
ウォーキングならこれくらいでいけそうですが、来年ハーフの大会でもつけて走ろうか迷っています。
せっかく作ったのに披露する場がないのはちょっとさみしいですからね。
そうするともう少し縦揺れに耐えれるようにしたほうがいいかな?
正月休みでもやってみることにします。



コメント