スクリーンショット_2019-06-11_22

Makecodeにこれから追加される新しい機能を試してみた 【micro:bit】

最近Halocode絡みの記事が多く、かつHalocodeがだんだんと流行り始めてきました。実際にmicro:bitと比較すると、

Halocodeのほうが筐体は小さく、LEDの輝度も高い上に色の表現力も高いため、できることはHalocodeの方が一枚上手。

micro:bitとhalocodeを比較した画像がHalocodeに掲載されています。

思いっきりmicro:bitを意識して作られているせいか、値段も安いのですが、センサーの数はmicro:bitの方が優れているような気もします。

だけど、流行りだすと反対のものを使いたくなる天の邪鬼です。

今回は、micro:bit用のMakeCodeが6月14日にアップデートされるようなので、そのときに追加される機能をbeta版(本番前のほぼ出来上がった状態のもの)で試してみたいと思います。

↓噂の新機能がついているベータ版はこちら↓


1.パラメータ(引数)付きの関数

今まで、関数はただまとめるだけのものでしたが、今回のバージョンからその関数に「パラメータ」つまり、何かのデータを入力してその関数の結果を変えることができるようになりました!

今回は、AボタンとBボタンで回数を調整して、A+Bでその回数だけ全面を点滅させるプログラムを作りました。地味ですが。。

関数の作り方はいたって簡単。「関数を作成」を押すと下のようなダイアログボックスが出てきます。そこで、「パラメータを追加する」を選択肢、「数値」や「文字列」を選ぶことができます。

実際に書いてみたプログラムは下記のとおりです。


2つ関数を並べてみると違いがわかるはずです。

「点滅アニメーション」の関数には「回数」というパラメータがついています。

そして、「エラー表示」にはパラメータを付けなかったので従来の関数と遜色ありません。

中身の回数を変えたかったり、より柔軟な関数をつくるときに重宝しますね。同じものを何度も書く必要がありませんし、スリムにプログラムの全体像を把握することができます!

プログラムをmicro:bitに入れてみましょう!

無事、動きましたね!!まったくもって地味すぎるプログラムですみません。。

2.背景を緑に!

makecodeの背景を緑にしたり、自分の写真にしたりすることができます。私の写真ではお見苦しいので、緑の背景をどうぞご覧ください。

ちなみに、以前からあったようですが、画面の白黒を反転したモードにもすることができるようです。


3.マイプロジェクト機能

今まで作ってきたプロジェクトを一括で管理したりすることができるように、マイプロジェクトのページで整理をすることができます。

4.チュートリアルの進行度合いがわかる!

micro:bitでちょっとずつプログラミングの仕方やIoTを学んでいる人に朗報です。下にあったチュートリアルの進行度合いを見ることができるようになりました!


5.サーボモーターのブロックが新しくなった

サーボモーターのブロックが増えたことによってよりサーボモーターは使いやすくなります。以前はこの3つのブロックしかありませんでした。

しかし、新しいバージョンでは、

サーボモーターは回転するものもあるため、今までできなかったものもできるようになったり、まず第一に見た目がわかりやすくなりました。


6.「無線を受信したとき」のブロックにパラメータが導入

以前は「無線を受信したとき」のブロックを作成した時、パラメータの変数が自動的に「変数」として宣言されます。

しかし、今回の関数のパラメータ導入に伴って、無線を受信したイベントに対処するときもパラメータが使えるようになりました!

これでreceivedNumberやreceivedStringといった、無駄な変数が勝手に宣言されることも、迷うことはなくなっていくことでしょう。


7.文字列に変換する

「数値を文字列に変換する」という関数と「文字列を数値に変換する」という2つの機能を使えば、通信で送られてきたテキストや数値を表示できますね!

パラメータ機能の追加による今回のアップデート

さて、今まででmicro:bitのためのMakecodeの新しい拡張機能とブラウザを試しました。特に「パラメータ(引数)」を使えるようにした改修点が一番だったようです。

そして、この機能はHalocodeにはまだないもの。高度なプログラムのためには、パラメータありの関数は必須なのでmicro:bitが一歩前へ出たところ?なのではないでしょうか!!

ただ続けることを目的に、毎日更新しております。日々の実践、研究をわかりやすくお伝えできるよう努力します。