アンパンマンメロディボックス ver.2
お正月にソースコード書き初めで作ったアンパンマンメロディボックスの2号機を作るついでにいろいろ機能拡張したのでメモ程度に公開します。
目次
システムの概要
アンパンマンのお菓子入缶をベースに作っています。
顔を外すと制御部が出てきて、好きなメロディを選んで楽しむボックスです。
Arduino miniと安価な一般的な回路で構成されていますのでアンパンマン好きのお子様のいるご家庭にはおすすめの電子工作です。
こんなふうに動きます。
お正月に作った最初のバージョンは3ビットのトグルスイッチで曲を選択するという2進数の感覚を理解することと、選曲しているメロディがRGBのLEDで状態を表現するという高度な情報知育教材でしたが、さすがに解り難いシステムでした。今回は、選曲をダイヤルで行い、曲番号が7セグメントLEDで表示されるというわかりやすいものにしました。また、資源の限られたArduinoでより長いメロディを奏でるためにメロディデータをROM直接読み込みにしています。
回路図
さて、さっそく設計からです。
回路図はこちら。
曲番号を表示するための7セグメントLED(5101AS)
曲番号を表示する7セグメントLEDはArduinoのGPIOを使って行います。
今回は1桁なのですべての制御ピンを直接GPIOにつないでます。
7セグメントLEDはピン数が多くなるので、他に接続するものがある場合はシフトレジスタなどを使ってArduinoのピンを節約すると良いでしょう。
今回使った1桁7セグメントLEDは、カソードコモンの10ピンの「5101AS」です。
データシートを見ると、次のようなピン配です。
7セグメントLEDのピン番号とArduinoのIOピンの番号がわかりやすいように配線しました。
曲を選択するための小型ボリューム可変抵抗
曲を選択するために、「小型ボリューム 10KΩB」を使いました。
Arduinoのアナログピンに入力すれば、抵抗値にあわせて0~1024の数値を取得することができます。このメロディボックスは8曲選択できますので、読み込んだ抵抗値を8分割して選曲に利用することにします。
ブレッドボードでの組み立てと動作確認、制御用ソースコード
ブレッドボードに組んで動作確認。
この時点で、ソフトを焼いて問題がないか確認します。
このシステムの回路図にあわせたソースコードはこちら。
BSDライセンスで公開していますので、自由に改変・組み込みにご活用ください。
ユニバーサル基板での実装
ブレッドボードで動作を確認したら、ブレッドボードに実装していきます。
アンパンマンの体の中に入れるというスペースの制約がありますので、表に出る制御部を金属製の蓋に固定して1つの基板を作ります。アンパンマンの体の中に入れる蓋が金属の筒は、100均で売ってた小さなジャム用の容器を使っています。アンパンマンの缶より一回り小さい入れ物を探すのがポイントです。また、金属製の蓋は、操作部が出るように穴を開けておきます。私の場合、ドリルとヤスリでちょうど良い大きさの穴を開けました。ユニバーサル基板も、金属製の蓋のサイズにあわせて角を削っています。
スイッチと7セグメントLEDを組み込み。サイズを合わせながら穴を開けていきます。
スピーカーは中に入れても良いですが、音が小さくなるため、今回は外にネジ止めしました。
7セグメントLEDのすべてのLEDには抵抗が必要となります。ここから別基板にあるArduinoのI/Oとすべて線でつなぐと扱いづらい構成になりますので、中継用のコネクタを用意しました。
もう一つの基板として、Arduino本体と、IO接続用のコネクタ、さらには、単3電池2つで3Vの電源を5Vに昇圧するコンバーターをはんだ付けします。
操作部と、Arduino部をはんだ付けし終わったのがこちら。
上下のコネクタを繋いで電池を入れたところ。
コネクタピンアサイン
参考に、操作部のユニバーサル基板とArduino側のユニバーサル基板をつなげている真ん中のコネクタのピンアサインはこのようにしました。7セグメントLEDのピンをうまくさばくためにこのような配列になりました。
組み上がったら、アンパンマンの缶に組み込んでテストします。
可変抵抗を左に回しきったところで選曲番号がゼロになります。この状態では、ゼロとドットが点滅して曲番号入力を促す待ち状態となります。ボリュームを回して、有効な曲番号が入力されたら、その曲を最後まで再生します。
曲の再生中もボリュームを回して次に再生する曲を選択することができます。
まとめと活用法
ソースコードを修正すれば、好きなメロディを好きな番号に割り振って活用いただくことができます。アンパンマンの缶でなくても、お子さんの好きな容器があればこのシステムを組み込んで、自分だけのメロディボックスを作ることができます。
是非、良い容器が見つかったらご活用いただければと思います。
パーツリスト
最後に、主要なパーツリストを挙げておきます。
・Arduino互換ボード
・DCDCコンバーター(5V昇圧)
・7セグメントLED
・小型ボリューム 10KΩB