Scratch Microbit More

Microbit Moreとは

子供向けのプログラミング環境Scratch(スクラッチ)でmicro:bitを使えるようにする拡張機能です。Scratchに付属するmicro:bit拡張よりも高機能で、micro:bitに備わっているセンサーや出力の機能をほぼすべて利用できます。

micro:bit側に入れるファームウェアはLLKによる「標準のmicro:bit拡張」と互換性を保つようにつくりました。そのため、Microbit More用ファームウェアをmicro:bitにダウンロードしたあとでもそのまま書き換えることなく「標準のmicro:bit拡張」も使うことができます。

拡張ブロック

Microbit More拡張では、標準のMicrobit拡張ブロックに加えて、以下のブロックが利用できます。

  • 明るさ(Light Intensity)
    表示LEDマトリクスに当たる光の強さ
  • 北からの角度 (Angle from the North)
    北を基準として時計回りの方位角(0から359)
  • 磁力(Magnetic Force)
    磁気の強さ(μT)
  • 加速度(Acceleration)
    X/Y/Z方向の各加速度(milli-g : 重力加速度の1/1000)
  • アナログレベル(Analog input)
    0.0-3.3Vを1024段階に分けた電圧レベル
  • デジタル入出力(Digital input/output)
    0/3.3Vのデジタル入出力(最大8ピン)
  • アナログ出力(PWM)
    0.0-3.3Vを1024段階で指定できる出力電圧(PWM方式)
  • サーボモーター(Servo motor)
    一般的な小型サーボモーター(SG-90など)を角度で指定
  • スロット(Slot: Shared data)
    4つの数値(-32768から32767)をmicro:bitとScratchの両方で共有

使い方

  1. ファームウェア scratch-microbit-more-0.3.1 を micro:bit へダウンロードする。
    (この操作は最初の1回だけで、以降はPC側の操作のみでつなぐことができる)
  2. PC上で Scratch Link を起動しておく。
  3. デスクトップ版は
    Release microbit_more-0.3.0 · yokobond/scratch-microbit-more-desktop からOSに合わせたアプリケーションをダウンロードして、適当なディレクトリへ展開して起動する。
    ウェブ版は
     Scratch-Ext microbit-more からScratch-GUIを開く。
  4. ‘micro:bit More’ カテゴリのコネクトボタンを押す。
  5. micro:bit の名前がリストに出るのを待ち、つなぎたいmicro:bitをクリックする。
  6. 目的の micro:bit と接続されたことを 「♡」を表示させたりして確認する。

使用例

11人のピーターパンによるコーディング芋煮会 – TGABOOK – BOOTH
猪股直規「micro:bitのすべての機能をScratchと連携しよう! 」にインストール方法やSlotの使い方などが載っています。

Scratchとmicro:bitでコイン選別AIロボットを作る – ネコマ製作所
Making a coin sorting AI robot with Scratch and micro: bit – ネコマ製作所
機械学習の拡張機能と組み合わせてコインを振り分ける機械を試作しています。

変更履歴

v0.3.0

ブロックの追加

  • 磁力
  • 加速度
  • Slot値の書き込み

翻訳の追加

  • 日本語 (ja)
  • ひらがな (ja-Hira)

ファームウエアの改善

  • コンパスのキャリブレーション時の障害を回避
  • デバイス名の表示を自動化
  • Slotの値を取得するブロックを追加

V0.1.0

ブロックの追加

  • ピンの接続判定
  • 明るさ
  • 方位磁針
  • デジタル入出力
  • アナログ入出力
  • サーボモーター
  • スロット値の取得

開発情報

コードレポジトリ

Micro:bit ライブラリ(PXT): yokobond/pxt-scratch-more: Enhanced Scratch Extension for micro:bit

Micro:bit ファームウェア(Makecode): scratch-microbit-more-0.3.1

Scratch-VM: yokobond/scratch-vm at extension/microbit-more

Scratch-GUI: yokobond/scratch-ext at microbit-more

Scratch-Desktop: yokobond/scratch-microbit-more-desktop: micro:bit programming environment based on Scratch