まほろば

micro:bitで ミュージックボックス

投稿者:マーチン  2019年2月9日 
カテゴリ:障碍者全般::micro:bit

 スイッチインターフェースとして製作したガジェットは、iPadなどに接続せずに、単独のおもちゃとしても遊ぶこともできます。端子P0に接続した3.5mmジャックに100均ショップで購入したスピーカーを挿すと、音が出ます。ボタンを押したり、触ったり、ケースを傾けると、別々の音楽が流れるプログラムを作ってみました。
 Javascript ブロックエディタで作成していますので、プログラミングに不慣れな人でも、プログラムを改造することができると思います。


●注意事項
 モノラルミニジャックの種類によっては、外付けスピーカーが正常に動作しないことがあります。
 例えば、【秋月電子】3.5㎜モノラルミニジャック MJ-355 は、使わないでください。このジャックに、ステレオミニプラグを挿入すると、GNDとR極が短絡するような構造になっているようで、スピーカーから音が出ません。
【まほろば】micro:bit でスイッチインターフェース製作(電子工作 改訂版)
  ●部品選定、組み立てのこだわり
    ◆モノラルミニジャック
を参照してください。

●タッチパネルの製作

 以下のようなタッチパネルを作りました。"makey makey"(メイキーメイキー)で検索すると、いろんなタイプのタッチパネルを見つけられます。
品目金額
【マルツオンライン】3.5φモノラルプラグ 3個240円
【秋月電子】中クリップ付コード 5色 45cm 5本入 200円
アルミテープ70mm×3m108円
ミニスピーカー108円

(1)アルミシンクの補修用のアルミテープを購入して、好きな形に切り抜く。厚紙などに貼り、端部は裏に折り返す。
 1枚のアルミで形を作ってください。これに使われている接着剤は電気を通さないので、クリップで挟む部分だけ別に作って上から貼っても繋がりません。

(2)ワニグチクリップを半分の長さで切って、3.5mmモノラルプラグにはんだ付けする。ジャックの長い方に白線(GND)、短い方に赤線や黄線(信号)を、はんだ付けする。GNDは、基板内でつながっているので、白線は1本だけでも動作します。


●プログラムのダウンロード

(1)以下のファイルを、Windows PCでダウンロードする。
(2)マイクロUSBケーブル(Aオス-マイクロBメス) でPCと接続する。
(3)ダウンロードしたファイルを解凍し、ドライブ”MICROBIT” を開いて、hexファイルをドラッグ&ドロップする。

●遊び方

(1)ミニスピーカーを端子P0に、ワニグチクリップを端子P1、P2 に挿入する。
(2)次の8つのアクションに対して、別々の曲が流れます。
  1. ボタンA を押す。
  2. ボタンB を押す。
  3. 端子GND と 端子P1に接続したタッチパネルを同時に触る。(端子P1ネジ頭と 端子GNDネジ頭を同時に触る。)
  4. 端子GND と 端子P2に接続したタッチパネルを同時に触る。(端子P2ネジ頭と 端子GNDネジ頭を同時に触る。)
  5. ケースを右に傾ける。
  6. ケースを左に傾ける。
  7. ケースを振る。
  8. ケース全体を暗くする。
※ボタンやタッチパネルは、押した瞬間ではなく離した瞬間に反応します。
※画面のドット数は、明るさを表しています。半数以上のドットが点灯している状態から、半数以下の状態に変化すると、音楽が流れます。

●MakeCode プログラム


●プログラムの補足説明

(1)ボタンA、ボタンBを押したときの処理を、以下のようにすると、ボタンを離したときに反応します。上のサンプルプログラムでは、ボタンを押したときに反応してくれるように、イベント処理を使っています。

(2)暗くなったら曲が鳴ります。ひとつ前のステップで”明るい”と判定され、今のステップで”暗い”と判定されたときに、曲が流れます。”ずっと”の無限ループで、1秒毎に明るさ判定をしています。

(3)サンプルプログラムでは、”明るい判定”を 2 としていますが、ケースの透明度や部屋の照明によっては変更が必要かもしれません。

●スピーカー

 以下の2つのスピーカー(左:Daiso、右:Seria)で動作することを確認しました。右のスピーカーの方が、若干音が大きいですが、広い部屋で聞こえるような音量ではありません。



●シミュレーター

 ボタンA、ボタンB、端子P1、端子P2をクリックしたり、基板の左右にマウスカーソルを移動して傾けたり、左上の光量の数値をドラッグで変更したりできます。
 Internet Exproler では動作しないことがありました。


◆連載
◆関連記事
◆関連URL