小学校プログラミング:プログラミングフォロ for micro:bit

プログラミング・フォロ

前回の記事に続いて、小学校プログラミング授業の準備を兼ねた知育玩具での遊び記事です。😁
今回は、「プログラミング・フォロ」という6本足のロボットを使ってみました。
↓こんなやつです。
元々は、プログラミング要素のほぼ無いオモチャとして売っていたものだと思うのですが、いつの間にか「Pallet」や「micro:bit」を取り込んで自分で動作をプログラミング出来るロボットとして売り出されていました。😍
元のおもちゃの段階で、赤外線センサーを搭載しており、障害物を避けて移動したり、目の前のかざした手に付いて動いたりといった動作は出来た様です。
Palletとmicro:bitを比べてみたのですが、どーみてもmicro:bitの方が判り易かったので、「for micro:bit」の方を購入しました。😋

フォロの制御

フォロの制御はmicro:bitへのプログラムで行います。
入力系統、PIN制御、動作は以下となります。
スイッチエデュケーションのサイトにサンプルプログラムとセットで書かれているので、そちらを見た方が分かります。

入力:
  • 顔の左右に付いているAボタン、Bボタン(micro:bitのA,Bボタンが押される)
  • 顔の下辺りに付いている赤外線センサー右、左(micro:bitのPIN入力へ)
  • micro:bitの温度センサー、明るさセンサー、加速度センサー
PIN:
  • P0:スピーカー(懐かしいBEEP音♪w)
  • P1:フォロ右側赤外線センサー入力
  • P2:フォロ左側赤外線センサー入力
  • P12:フォロ赤外線の制御(制御を行う時にONして出力する模様)
  • P13:フォロ足の正転
  • P14:フォロ足の逆転
  • P15:フォロ腰の正転
  • P16:フォロ腰の逆転
出力:
  • micro:bitのLED表示
動作:
  • 6本足による前進、後進
  • 6本足による回転、逆転

プログラミング環境

プログラミングは「MakeCode」というツールを使う様です。
ブラウザ上でもプログラミングが可能ですが、WindowsについてはMicrosoft社がStore Applicationとしてフリー配布しています。
プログラミング出来る言語としては以下がありました。
  1. scratch
  2. Java script
  3. Python
まぁ小学校プログラミングの練習用のつもりだったので、scratchが使えれば十分だったのですが、Pythonが選べるのは素晴らしい!😍
しかもscratchで組んだプログラムは、その後で言語をPythonに変えれば、自動的にPythonに変換されたものが表示されます。😆
これを使えばPythonの勉強にもなる!と内心小躍りw😚

プログラミングの仕方

プログラミングは「プロジェクト」という単位で組みます。(Visual Studioと同じですね)
Classなどは未だ組み方分かりませんが、関数については定義出来る様です。
プロジェクトを起動すると、以下の2つの論理ブロックが最初から置いてあります。
  • 最初に
  • ずっと
「最初に」の方は、起動時だけ走る処理の様です。
起動時のメッセージ表示や、初期化処理、制御準備などを行う様です。
「ずっと」の方は、「最初に」が終わった後に繰り返し呼び出される処理の様です。
さしずめ、OnTimer的な定期的に呼び出される処理でしょうか?😄
サンプルプログラムを見ると、簡単な例として以下の様な組み方がされてました。
  1. 最初に、LEDに"Hello"と表示して、P12に出力して赤外線を使う準備
  2. ずっとに、「(~かつ~)ならば、~ならば、~ならば」の条件分岐ブロック
  3. 第1条件=赤外線右(P1)の入力ONかつ赤外線左(P2)の入力ONならば、"W"と表示
  4. 第2条件=赤外線右(P1)の入力ONならば、"R"と表示
  5. 第3条件=赤外線左(P2)の入力ONならば、"L"と表示
  6. 上記1~3に当てはまらなければ、表示を消す
これで、フォロの前面に手をかざすと"W"と表示され、右手前にかざせば"R"、左手前にかざせば"L"、何もなければ表示が消える処理になってます。

プログラムの書き込み&動作

パソコンのMakeCodeアプリ上で上記のプログラムを打ち込んだ上で、USBケーブルで繋いだmicro:bit上に書き込みます。
(AndroidやiOSの場合は、Bluetoothで繋ぐようですが、そちらは未だ試せてません)
MakeCodeアプリの左側にある「Download」ボタンを押すと書き込まれるようです。
USBケーブルで繋いだ状態では、micro:bitは1つのリムーバブルディスクとして認識されているのですが、書き込んだプログラムはファイルとしては残らないのか見当たりません。
ちなみに書き込みは1回に1つのみで、常に上書きされるようです。😥
書き込みが終わったら、USBケーブルを抜いて、フォロの電源を入れます。
  • LEDに"Hello"が表示されます。
  • 赤外線に手をかざすと"W"と表示。右側なら"R"、左側なら"L"
  • 何もしてないと表示も消える。
大体上記でプログラムした通りに動いたのですが、、、赤外線センサーの反応がイマイチの様で、表示が結構変わります。
また、何が悪いのか良く判らないのですが、しょっちゅう再起動しました。😣
起動時に"Hello"と出る様にしておいたので分かったのですが、手をかざしても反応が無い時は大抵再起動しており、LEDに"Hello"が表示されていました。😓

所管

単純に言って、これは楽しいです。😃
6本足のロボットが自分のプログラムした通りに動くというだけでも楽しいのですが、micro:bitが結構優秀で音を鳴らしたりLEDに表示したりと色々出来る点が素晴らしい。😍
ただ、赤外線センサーの反応がイマイチなど、元のロボットの出来が今一歩な点もある様ですが。

また、MakeCodeが意外な広がりを持っている様です。
Microsoftが力を入れている為でしょうが、Minecraftとも連携しており、Minecraft上のMODアプリをMakeCodeで作る事が出来る等、遊び心を刺激しつつ実際の世界への反映も出来るという点が面白いw😋
何が主流になるかは今後も注視していく必要があるでしょうけど、MakeCodeは1つのエコシステムを既に構築しつつあると思われます。😉

・・・しかし、Microsoft社は、昔はOSの会社だったものが、Officeによりアプリケーションの会社にもなり、Office365等のサービス、Teamsなどのコラボツールと目に見えている以外にも色々広がりがありますね。(そういえばLinked InもMS社でしたっけ?)
Githubも買収したし、今回取り上げたMakeCodeによる開発の裾野も広げている。
株価も上り調子の様ですし、中々どうして侮れない会社ですw😚

コメント

このブログの人気の投稿

Oculus Link : 接続→切断を繰り返す時の対処

Google Fit連携する血圧計を求めて

Surface Pro LTE Advanced + 楽天モバイル