micro:bit LED digital sand (砂のようにさらさら流れるLED)

今日はmicro:bitでどんなことが出来るかをご紹介します。
今回はLED digital sand(砂のようにさらさら流れるLED)を作ります。
まずは動画を見てください。
やりたいこと
  • 砂の粒として、10個のLEDを点灯させる
  • micro:bitを前後左右に傾けると、その方向に砂粒が集まる
  • 砂粒同士は重ならない
micro:bitで使う機能
LEDの点灯、消灯
加速度センサー
配列
四則演算
これだけです。
砂粒の動きの考え方
1. ひとつひとつのLEDの砂粒の現在位置をランダムに決める。
個々の砂粒の座標は、配列LXと配列LYを作って、その中に保存する。
2. 加速度センサーの横方向の傾き(ロール)と縦方向の傾き(ピッチ)から、ある砂粒の移動先候補の座標を決める。
このとき、移動先候補の座標がLEDの上下左右の端を超えた座標になってしまわないように、補正する。
3. 移動先の座標に別の砂粒が無い場合のみ移動する。
4. 移動したあとの砂粒の座標を配列LX, LYに保存する。
以上をひとつひとつの砂粒に対して繰り返し処理していきます。
コード
アメブロにMakeCodeのコードを貼れないので、以下のリンクからどうぞ。
コードは長くて一見難しそうですが、どれも基本的な命令の組み合わせでこの動きが出来ています。
小学生の教育用に使われるmicro:bitですが、こんなことも可能なんです。
micro:bitの機能を網羅的に解説し、すぐに使える応用例を一緒に作りながら覚えていただける講座です。
小学校の先生に限らず、ぜひご参加くださいませ。

STEAM Tokyoでは、学生のための次世代プログラミング教育を行っています。

近々、体験会を開催予定です。

体験会の詳細は追ってこのブログで告知させていただきます。

Follow me on Twitter