LoginSignup
6

More than 3 years have passed since last update.

【micro:bit 2019】 Scratch の独自拡張機能 Microbit More (2019/12/20)

Last updated at Posted at 2019-12-20

この記事は 「micro:bit Advent Calendar 2019 - Qiita」の 20日目 の記事です。

今年の micro:bit Advent Calendar には、既に以下の記事 5つを投稿していますが、また記事を書いてみようと思います。

はじめに

この記事で扱うのは、下記の「Scratch Advent Calendar 20196日目の記事」で少し触れた、@yokobond さんが開発された「Microbit More」です。

Microbit More

以下が、Microbit More の関連ページになります。

Scratch の公式の環境で micro:bit を使う

Microbit More は、Scratch で micro:bit を扱うためのものです。
もしかしたら、「micro:bit は既に公式で、Scratch Link を使った方法で利用できますよね」と思われた方がいらっしゃるかもしれないですが、公式よりも多機能なのが大きな違いです。

以下、Microbit More のページからの引用になるのですが、Microbit More用のファームウェアは Scratch公式の micro:bit用拡張機能のファームウェアとしても利用できるという嬉しい仕様です。

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

Scratch公式の micro:bit 用拡張機能

まず、Scratch が公式で提供している micro:bit用の拡張機能を見てみます。
使い方の手順については、公式情報やその他、下記の記事をご覧ください。

以下が、公式の拡張機能で利用できるブロックです。
Scratch_Link_のテスト_on_Scratch.jpg
図aaaa.jpg

MakeCodeで micro:bit のプログラミングをやったことがある方から見ると、使える機能がかなり少ない印象があるかもしれません。

Microbit More の機能

次に、Microbit More の機能を見てみます。
以下は、Microbit More のページからの引用ですが、Scratch の公式の拡張機能より多くの機能が利用可能になっているようです。

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の両方で共有

上記を、具体的に @yokobond さんが提供されている独自環境で見てみます。
以下、公式の拡張機能と違いがあるところだけを選んでみました。
図1bbb.jpg
公式の拡張機能に比べて、かなり利用可能な機能が増えているのが分かります。

Microbit More を使ってみる

せっかくなので、公式では利用できない機能を使ったものを試してみます。

明るさの取得

まずは明るさを取得する処理のテスト。

動画でも見えてますが、プログラムはこんな感じです。
Scratch_3_0_GUIaa.jpg

方位角を使う

方位角を取得してスプライトの回転に反映させる、というのをやってみました。

Banners_and_Alerts_と_Scratch_3_0_GUI.jpg

micro:bit と何か回転するものを組み合わせて、とか使い方を工夫したいところ。

さいごに

良い作例が思いつかず(また、外出先でこの記事を書いていて、手元に材料もなく・・・)、お試しがシンプルなものになりました。
ピンのデジタル・アナログ入出力を使ったものを、何か考えてやってみたいです。

今回、Scratch が公式で提供している micro:bit用の拡張機能よりも多くのことができる、Microbit More を試してみました。
こちらは、@yokobond さんが提供されている環境以外に、以下のような流れがあり Junya Ishihara(@ jishiha)さんが提供されている独自環境でも利用できます。
Scratch_micro_bitアイディア&情報交換.jpg
この投稿にあるとおり、Junya Ishihara(@ jishiha)さんが開発された機械学習等が行える拡張機能との組み合わせができるようになるため、それも今後試してみたいところです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6