マイクロビット<a href="https://makecode.microbit.org/" target="_blank">公式サイト</a>

マイクロビット公式サイト

 前回でも少し触れましたがマイクロビットの開発環境が新しくなりました。ブロックエディタが新しくなり機能も向上しました。一番大きな変更点は小数計算ができるようになったことです。これによりセンサーからの入力値をもとにした計算値が、より正しく処理できます。また、生成されたHEXファイルを開いてプログラムを読み込むことができるようになりました。
 新しいブロックエディタでは古いブロックエディタとは機能が異なる部分もあります。今回は新しいブロックエディタと旧ブロックエディタの違いを見ていきます。
 なお、マイクロビットのサイトからプログラム環境に行くと新しいブロックエディタになります。古いブロックエディタを使う場合は以下のURLをブラウザのアドレスバーに入力してください。

古いブロックエディタを使う場合
https://makecode.microbit.org/v0/

プロジェクト画面

 プロジェクト画面が新しくなりました。古いブロックエディタでは自分のプロジェクトや他のプロジェクトが別々になっていましたが、1つの画面にまとめて表示されるようになりました。
 なお、古いブロックエディタで作ったプロジェクトは新しいプロジェクト画面には出てこないので注意してください。作ったプログラムのコードは一応互換性があるのでコピー&ペーストするか、バイナリファイルを読み込むことで引き継ぐことができます。ただし、一部の拡張ボードなどで機能拡張プログラムを使っているものはエラーで動作しないことがあります。(プロジェクト読み込み時にダイアログがでます)

  • 新しいプロジェクト画面

    新しいプロジェクト画面

  • 古いプロジェクト画面

    古いプロジェクト画面

初期画面

 初期画面はほとんど変わっていません。「はじめましょう」のタブが無くなったのと、ブロックの形状が変わっている程度です。基本的な操作は同じです。

  • 新しい初期画面

    新しい初期画面

  • 古い初期画面

    古い初期画面

基本

 基本のブロックはブロックの形状が若干変化したのと色が少し変わった程度で用意されているブロックは同じです。

  • 新しい基本ブロック

    新しい基本ブロック

  • 古い基本ブロック

    古い基本ブロック

入力

 入力のブロックは「ボタンAが押されている」「端子P0がタッチされている」の2つのブロックの形状が大きく変わりました。他のブロックは形状が変わった程度です。

  • 新しい入力ブロック
  • 新しい入力ブロック
  • 新しい入力ブロック

  • 古い入力ブロック
  • 古い入力ブロック
  • 古い入力ブロック

音楽

 音楽のブロックはブロックの形状が若干変化した程度で用意されているブロックは同じです。

  • 新しい音楽ブロック

    新しい音楽ブロック

  • 古い音楽ブロック

    古い音楽ブロック

LED

 LEDのブロックは「点灯かどうか調べる」のブロックの形状が大きく変わりました。また、新ブロックエディタでは「表示モードを設定する」というブロックが追加されています。これはLEDの輝度を白黒2値にするか、256段階のグレースケールにするかを決めるものです。
 これ以外のブロックは形状が変わった程度です。

  • 新しいLEDブロック|
  • 新しいLEDブロック|
  • 新しいLEDブロック

  • 古いLEDブロック
  • 古いLEDブロック
  • 古いLEDブロック

無線

 無線のブロックは「受信したパケットの信号強度」「無線でイベントを送信する」という2つのブロックが追加されています。
 これ以外のブロックは形状が変わった程度です。

  • 新しいLEDブロック
  • 新しいLEDブロック
  • 新しい無線ブロック

  • 古い無線ブロック
  • 古い無線ブロック
  • 古い無線ブロック

ループ

 ループのブロックは形状が変わった程度です。

  • 新しいループブロック

    新しいループブロック

  • 古いループブロック

    古いループブロック

論理

 論理のブロックは形状が変わった程度です。

  • 新しい論理ブロック

    新しい論理ブロック

  • 古い論理ブロック

    古い論理ブロック

変数

 変数のブロックは少し変更されました。古いブロックエディタでは、あらかじめ「変数」という名前の変数が用意されていました。名前からして紛らわしい面もありました。新しいブロックエディタでは変数を作成することで、定義した変数のブロックがブロックとして現れます。

  • 新しい変数ブロック

    新しい変数ブロック

  • 「変数を追加する」ボタンを押して変数を作成する
  • 「変数を追加する」ボタンを押して変数を作成する
  • 「変数を追加する」ボタンを押して変数を作成する

  • 古い変数ブロック。古いバージョンではあらかじめ「変数」という名前の変数ブロックが用意されている

    古い変数ブロック。古いバージョンではあらかじめ「変数」という名前の変数ブロックが用意されている

計算

 計算のブロックは「平方根」「小数点以下四捨五入」「数値をマップする」の3つのブロックが追加されています。
 これ以外のブロックは形状が変わった程度です。

  • 新しい計算ブロック

    新しい計算ブロック

  • 古い計算ブロック
  • 古い計算ブロック
  • 古い計算ブロック

関数

 関数のブロックは以前と変わりません。

  • 新しい関数ブロック

    新しい関数ブロック

  • 古い関数ブロック

    古い関数ブロック

配列

 配列のブロックは2つのブロックの名前が変わっています。

「この値で配列を作成」→「変数「配列」を「この要素の配列(1)(2)(-)(+)」にする」
「この値で配列を作成" " " "」→「変数「text list」を「この要素の配列"a" "b" "c" (-)(+)」にする」

 これ以外のブロックは形状が変わった程度です。

  • 新しい配列ブロック
  • 新しい配列ブロック
  • 新しい配列ブロック

  • 古い配列ブロック
  • 古い配列ブロック
  • 古い配列ブロック

文字列

 文字列のブロックはいくつかブロックの名前が変わっています。

「文字列の長さ"abc"」→「"Hello"の長さ」
「整数に変換する」→「数値に変換する」

 これ以外のブロックは形状が変わった程度です。

  • 新しい文字列ブロック

    新しい文字列ブロック

  • 古い文字列ブロック

    古い文字列ブロック

ゲーム

 ゲームのブロックは「set life」「add life」「remove life」の3つのブロックが追加されています。追加された3つのブロックにより体力が消耗するタイプのゲームも手軽に作れるようになりました。
 これ以外のブロックは形状が変わった程度です。

  • 以下新しい文字列ブロック

    以下新しいゲームブロック

  • 以下古いゲームブロック

画像

 画像のブロックは形状が変わった程度です。

  • 新しい画像ブロック

    新しい画像ブロック

  • 古い画像ブロック

    古い画像ブロック

入出力端子

 入出力端子のブロックは形状が変わった程度です。

  • 新しい入出力端子ブロック

    新しい入出力端子ブロック

  • 以下古い入出力端子ブロック|

    以下古い入出力端子ブロック

シリアル通信

 シリアル通信のブロックは形状が変わった程度です。

  • 新しいシリアル通信ブロック

    新しいシリアル通信ブロック

  • 以下古いシリアル通信ブロック

    以下古いシリアル通信ブロック

制御

 制御のブロックは形状が変わった程度です。

  • 以下新しい制御ブロック

    以下新しい制御ブロック

  • 以下古い制御ブロック

    以下古い制御ブロック

パッケージを追加する

 パッケージを追加するカテゴリは見た目はあまり変わりません。ただし、新しいバージョンでは古いモジュール(拡張機能)のライブラリは読み込めないことがあります。この場合、古いブロックエディタを使ってください。

HEXファイルを読み込む

 新しいエディタでは生成されたHEXファイルを読み込んでプログラムを表示することができるようになりました。プログラムそのものがHEXファイルに内包されているので、HEXファイルだけあればよいことになります。ソースコードをなくしてもHEXファイルだけあれば、どうにかなるわけです。
 それでは最後にHEXファイルを読み込む手順について説明します。HEXファイルの読み込みはプロジェクト画面から行います。プロジェクト画面の右側にある「読み込む」ボタンを押します。

するとファイルから読み込むかインターネットのGitHubなどから読み込むかを選択する画面になります。ここではローカルディスクに保存されているHEXファイルを読み込むので「ファイルを読み込む...」を押します。

Macの場合は「ファイルを選択」ボタン、Windowsの場合は「参照...」をクリックしてファイル選択ダイアログを表示します。

  • (Macintosh)

    (Macintosh)

  • (Windows)

    (Windows)

HEXファイルを選択します。

「つづける」ボタンを押します。

HEXファイルが読み込まれ、プログラムが表示されます。

モジュールの関係で古いブロックエディタを使わないと駄目な場合もありますが、小数値が扱えるようになったり、手軽に複雑な条件判断ができるようになるなど新しいブロックエディタには便利な面もあります。
お正月に新しくなったブロックエディタで何か作ってみるのもよいのではないでしょうか。

著者 古籏一浩
プログラミングをベースにして面白そうなものはとりあえずやってみるというスタンス。複雑なものよりシンプルで楽しめるものが好み。最近は30年前に移植したゲーム(mz-700版 SPACE HARRIER)の話などを書いたりしています。
著者サイト:http://www.openspc2.org/