はじめに
毎年いくつかの電子工作のコンテストが開催されているのですが、その中の一つ、スイッチエデュケーションが主催しているたのしいmicro:bitコンテストに応募した作品についてご紹介させて頂きます。
このコンテストはキッズ&ファミリー部門と一般部門に分かれていて、子供達も参加しやすいのではないかと思います。ぜひチャレンジしてみてはいかがでしょうか?
使用した部材たち
今回の工作で使用した部材をご紹介します。全てごく基本的な部材で電子部品ショプやAmazonなどの通販業者から簡単に購入できるので入手性は問題ありません。
1. micro:bit
人感センサーからの信号をキャッチしたり、サーボモータを動かしたり、ブザーを鳴らす役目をするマイコン。
2. micro:bit用プロトタイピングセット(KITRONIK-5609)
micro:bitのすべての端子をコネクタとして引き出すことができ、ブレッドボード上に回路が構成できるので便利です。
3. 人感センサー
動いている人を検出するために使用します。
4. 犬の鳴き声IC
プログラミング不要で取り扱いやすい専用ICを使用することで簡単に発話ができます。共立エレショップさんで発売されています。周辺回路としてコンデンサーが2つとスピーカーや電池ボックスも付属されています。なお、犬の他に猫やニワトリなど色々な動物の鳴き声のICを取り扱っていますよ。
5. 小型スピーカー
鳴き声ICからの音声出力信号を音として出力します。私は、ICとの接続にターミナルブロックが便利なので使用していますが、スピーカーのーリード線を直接ブレッドボードの穴に差し込んでも良いと思います。スピーカーは犬の鳴き声ICに付属のものを使用しても問題ありません。
6. 180℃サーボモーター
犬の人形を動かすために使用します。ロボットの関節パーツとしてよく使いますので、手元に数個準備しておけば、いつでも使えるので安心ですね。
7. 犬のブロック
ダイソーで発売しているプチブロックシリーズの柴犬を使用しました。結構カワイイわんちゃんです。
8. 単3電池
micro:bit用に2本で3V、サーボモーター用に3本で4.5Vを使用しました。サーボモーターは単独で電流を供給しないと上手く動かない場合が多いです。
9. ジャンパワイヤ
micro:bitの入出力端子との接続やブレッドボード上で部品同士を接続して回路を構成するために必要となります。
10. 電池ボックス
単3電池用と単4電池用で接続本数も複数ありますので使いたい電池のサイズと本数に合わせて準備します。スイッチ付きのものが使いやすいと思います。
11. ダンボール
工作用で市販されていますが、少量の使用であれば通販などで商品が送られてきた時の梱包箱を流用しても十分事足りると思います。
実際に部材を接続してみる
上で紹介した部品を接続するとこの写真のようになります。
ジャンパワイヤで結線されているので見た目では少しごちゃごちゃしていますが配線はシンプルです。
回路ブロック図で見ると比較的単純な配線でスッキリしていますね。
プログラムの紹介
プログラミング初心者から扱い易いプロックプログラミングのMakeCode for micro:bitで作成しています。
◎”最初だけ”ブロックを使って、サーボモーター、人感センサー、犬の鳴き声ICの初期値を決定します。
・サーボモーターの初期角度を90°に設定して犬を正面に向かせます。
・人感センサーで人を検知た時にセットするフラグ”man”を”0″が示す”人がいない”にします。
・犬の鳴き声の発声を制御する端子”P2″を”0″が示す”OFF”にして発声しない状態にします。
◎”ずっと”ブロックで次の動作を繰り返しています。
①人感センサーで人を検知した かつ 感知する前には人は居なかった場合、
・犬の鳴き声を発声します(一回のオンで”ワンワンワン”を3回繰り返します)。
・micro:bitのLEDにハートマークを表示します。
・犬の鳴き声を止めるコントロールをします。
・サーボモータの回転角度を30°から150°の間でランダムに発生させて犬を動かします。
・犬が静止している時間を300msから600msの間で決定します。
・犬の向きを90度の位置に戻して止めます。
②人感センサーで人がいることを検知した場合、
・人を検知た時にセットするフラグ”man”を”1″=”人がいる”にします。
人がいないことを検知した場合、
・人を検知た時にセットするフラグ”man”を”0″=”人がいない”にします。
プログラムの書き方としては、②のプログラムは①とは別にもう一つの”ずっと”ブロックを並べて作っても正しく動作しそうです。
お客さんを出迎えているところ
それでは実際に動いているところをYouTube 動画でご覧ください。
おわりに
micro:bitでのブロックプログラミングはとてもわかりやすく子供から大人までお勧めです。基本的な電子部品である人感センサーとサーボモーターがmicro:bitと組み合わされることで、このように簡単にかわいい作品が完成しました。
コメント