Microbit More v2

Microbit Moreのホームページをつくりました。
https://microbit-more.github.io/

Microbit Moreとは

Microbit More (マイクロビット モア) は教育向けプログラミング環境 Scratch (スクラッチ)で micro:bit (マイクロビット)を使えるようにする拡張機能です。Scratch に付属する micro:bit 拡張よりも高機能で、micro:bit に備わっているセンサーや LED などの機能をすべて利用できます。

明るさの変化にしたがってスプライトを動かす様子

接続を確認するプロジェクト例: Microbit More connection test

超音波距離センサー HC-SR04 を使った距離計測: Microbit More HC-SR04

注意: Microbit More v2 は Scratch に付属する「標準の micro:bit 拡張」の代わりとしては使えません。標準のmicro:bit拡張ブロックを使うときは micro:bit のプログラムを標準のもの(https://downloads.scratch.mit.edu/microbit/scratch-microbit.hex.zip)と入れ替えてください。

ブロック

Microbit More を入れると、以下のブロックが使えるようになります。

(作業中)

使い方

micro:bitを準備する

  1. micro:bit にプログラムを書き込む
    micro:bit をUSBケーブルでパソコンにつないで、最新のMicrobit More 用プログラム ( microbit-mbit-more-v2-0_2_0.hex ) を micro:bit へ書き込みます。(micro:bit へのプログラム書き込みは最初の1回だけで、以降は Scratch の操作のみでつなぐことができます。)
  2. micro:bit の方角センサーを調整する
    プログラムを書き込んだ直後は方角センサーを調整するために、LED画面に「TILT TO FILL SCREEN」と表示されます。 micro:bit を前後左右に傾けて、すべてのLEDが光っている状態にしてください。(この調整を完了するまでスクラッチをつなぐことはできません。)

micro:bitをつなぐ

  1. Microbit More を開く
    ウェブブラウザで https://microbit-more.github.io/editor/ を開きます。
    (Web Bluetooth API に対応していないブラウザ(FireFox や Safari など)で使うときは、そのパソコンに Scratch Link をインストールして動かしておいてください。)
  2. micro:bit を探す
    ‘micro:bit more’ カテゴリのコネクトボタンを押して、近くにある Microbit More の書き込まれた micro:bit を探します。

    コネクトボタン
  3. micro:bit を選ぶ
    つなぎたい micro:bit の名前(LEDに流れる5文字の英文字)をmicro:bit のリストから選んで「ペア設定」を押します。
    接続できたら「エディターへ行く」ボタンを押します。
  4. 接続を確認する
    「パターン ♡ を表示する」をクリックして、どの micro:bit と接続されたのかを確認してみましょう。

Microbit More でプログラムする

普通の Scratch のブロックと Microbit More のブロックを組み合わせてコードを組むことができます。

保存はファイルメニューの「コンピューターに保存する」を使ってください。保存したプロジェクトを再開するには、ファイルメニューの「コンピューターから読み込む」を使って保存したプロジェクトファイルを読み込むと再開できます。

Mcrobit More を拡張する

MakeCode を使って micro:bit 側の機能を自由に拡張して、データ通信ブロックを使って Scratch から利用できます。

micro:bit と Scratch の間でラベル付きデータを送受信して通信しています。

データ通信の制限は以下のとおりです。

  • ラベルは長さ8文字までの英数字記号
  • データの内容が文字列のときは長さ11文字までの英数字記号、数値のときは-3.402823e+38から3.402823e+38までの値
  • micro:bit が受け取ることのできるラベルの種類は16種

micro:bit 側のプログラム

Microbit More の入った MakeCode プロジェクト mbit-more-v2-0_2_0 を開いてプログラムを編集します。(コンパイルには3分ほどかかります。)

MakeCode の中で Scratch とのデータのやり取りに使えるのは以下のブロックです。

  • [send text “data” with label “label-01”]
    ラベル “label-01” をつけて、文字列 “data” を Scratch へ送ります。
  • [send number (0) with label “label-01”]
    ラベル “label-01” をつけて、数値 0 を Scratch へ送ります。
  • [on text (content) with label “label-01”]
    ラベル “label-01” のついた文字列 (content) を受け取ったときに実行されます。
  • [on number (content) with label “label-01”]
    ラベル “label-01” のついた数値 (content) を受け取ったときに実行されます。

Scratch 側のプログラム

Scratch の中で micor:bit とデータのやり取りに使えるのは以下のブロックです。

  • [ micro:bit からラベル (label-01) のデータを受け取ったとき]
    micro:bit からラベル “label-01” を付けられたデータを受け取ったときに実行されます。
  • [ラベル (label-01) のデータ]
    micro:bit からラベル “label-01” を付けて送られた最新のデータの内容(文字列か数値)です。
  • [micro:bit へデータ (data) にラベル (label-01) を付けて送る]
    micro:bit へデータ data (文字列か数値)にラベル “label-01” をつけて送ります。

使用環境

micro:bit

micro:bit v1, v2 で利用できます。
ただし、micro:bit v1 はメモリー容量が少ないために「データ通信」関係のブロックは使えません。

ウェブブラウザ

Chromebook

  • Google Chrome (標準のブラウザ)

Windows

  • Google Chrome
  • Microsoft Edge
  • Firefox (Scratch Link 利用)

Mac

  • Google Chrome
  • Microsoft Edge
  • Firefox (Scratch Link 利用)
  • Safari (Scratch Link 利用)

iPad

  • Bluefy (ただし、プロジェクトを保存できません。)

変更履歴

v0.2

Scratch拡張

Release 0.2.1 · yokobond/mbit-more-v2

  • アイコンを micro:bit v2 に変更した
  • install スクリプトを改善した

Release 0.2.0 · yokobond/mbit-more-v2

  • Scratchのメッセージ関係のブロックをデータ送受信のブロックに置き換えた

micro:bit拡張

Release 0.2.0 · yokobond/pxt-mbit-more-v2

  • MakeCodeのメッセージ関係のブロックをデータ送受信のブロックに置き換えた

v0.1

Scratch拡張

Release 0.1.1 · yokobond/mbit-more-v2

注意: micro:bit拡張 pxt-mbit-more-v2 0.1.3 以降を使ってください。

  • メニューを持つブロックを捨てたときにコードエリアが固まってしまう不具合を修正
  • P0, P1, P2をデジタル出力に設定できるように修正
  • micro:bit v1 で「ピンが触れられた」が動くように修正
  • タッチモードから別のモードにしたピンを再びタッチモードにできるように修正

Release 0.1.0 · yokobond/mbit-more-v2

すべての機能を実装した。

micro:bit拡張

Release 0.1.3 · yokobond/pxt-mbit-more-v2

  • タッチモードを適切に判断する
  • ボタンイベントのプロトコルを改善

Release 0.1.2 · yokobond/pxt-mbit-more-v2

  • アナログ入力を測定できるように修正
  • 他のモードにしたピンをデジタル入力に変更できるように修正

micro:bit 拡張 : Release 0.1.1 · yokobond/pxt-mbit-more-v2

  • LEDに表示するバージョンを修正
  • P0, 1, 2 でサーボモーターを使えるように修正

micro:bit 拡張 : Release 0.1.0 · yokobond/pxt-mbit-more-v2

すべての機能を実装した。

開発情報

コードレポジトリ

Scratch 拡張 : https://github.com/yokobond/mbit-more-v2

micro:bit 拡張 : https://github.com/yokobond/pxt-mbit-more-v2