micro:bit 拡張ボードで クリスマスオーナメントを作ってみた

お父ちゃん  2018.12.8 
Home > 電子工作 > micro:bit 拡張ボードで クリスマスオーナメントを作ってみた
すき 0
うんこ 0

DFRobot社の micro:bit Circular RGB LED Expansion Board を使ってクリスマスツリーに飾るオーナメントを作りました。

拡張ボード詳細については以下参照ください。micro:bitを拡張します。

Microsoft MakeCode で ビジュアルプログラミング

スイッチサイエンスでもお取り寄せ購入できるようです。1,428円。

クリスマスオーナメント

早速完成品を御覧ください。

Aボタンを押すと、拡張ボード搭載のブザーからクリスマスソングが流れます。micro:bitのLEDマトリクスには音譜が表示され、NeoPixelは赤と緑に光ります。

Bボタンを押すと、音で反応するモードになります。拡張ボード搭載のマイクを使用しています。音を検知するとNeoPixelが黄色く光り、LEDマトリクスには”Merry Xmas”と表示されます。

MakeCode

コーディングにはMakeCodeを使用しました。

https://makecode.microbit.org/

MakeCodeについては以下でも書いていますのでご参照ください。

Microsoft MakeCode で ビジュアルプログラミング

MakeCode ブロック

以下が作成したクリスマスオーナメントのMakeCodeブロックです。

①初期化

変数の初期化、NeoPixelの入力ピンとセル数と輝度、メロディ再生の際のBPMを指定しています。

Aモード

Aボタンを押すと実行される動作です。
 

② Aボタン検出

micro:bitのAを押すと変数stateを1にします。
 

③NeoPixel点灯設定

変数stateが1のとき(Aボタンが押されたとき)、拡張ボードのNeoPixelを交互に赤/緑の点滅を繰り返します。
 

④LEDマトリクス設定

変数stateが1のとき(Aボタンが押されたとき)、micro:bitのLEDマトリクスに音譜を2種類交互に表示させます。
 

⑤音声再生

変数stateが1のとき(Aボタンが押されたとき)、拡張ボードのブザーからクリスマスソングをリピート再生します。変数stateが1以外になるとループを抜けて音声再生をストップします。

Bモード

Bボタンを押すと実行される動作です。
 

⑥Bボタン検出

micro:bitのBを押すと変数stateを0にしてLEDマトリクス表示をリセットします。
 

⑦音声検出

変数stateが0のとき(Bボタンが押されたとき)、拡張ボードのNeoPixelをリセットしてMIC検知をオンします。

MICで音声を検出(アナログ値で200以上)したら変数stateを2にして、NeoPixelを9個分黄色に点灯します。

変数stateが2のとき(音声検出時)、NeoPixelの9個黄色点灯を回転させます。
 

⑧LEDマトリクス設定

変数stateが2のとき(音声検出時)、micro:bitのLEDマトリクスに文字列 “Merry Xmas”と表示します。

表示が終わると変数stateを0にして、音声検知待ち状態します。

⑨リセット

A, Bボタン同時押しで、NeoPixelとLEDマトリクスをリセットして動作を止めます。

MakeCode JavaScript

全体のJavaScriptコードを以下に記載します。

 

 

動作

クリスマスツリーにかけると非常に可愛いです♪

音声検出モードもバッチリです。

micro:bit Circular RGB LED Expansion Boardはマイク、ブザー搭載なのでmicro:bitの有用性をさらに高めて楽しいものがすぐにつくれちゃいますね!

長女ちゃんもプログラムに興味持ってくれないかしら 🙄

追記

18/12/24 DFRobotのブログで紹介いただきました

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください