WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
前回はmicro:bit本体の新バージョン(v2.0)を購入し、それまでの古いバージョン(v1.5)との違いを見てみました。v2.0ではスピーカーやマイクがオンボードとなり、拡張ボード等を利用せずとも音声を扱う事が可能になりましたが、それに伴ってMicrosot MakeCodeでのプログラム用ブロックも幾つか追加されているので、今回はそれらを詳しく見てみます。
Microsot MakeCode
Microsot MakeCodeはオンライン環境でブラウザ上で動作するWeb版と、オフライン環境でも動作するアプリ版(要インストール)もあります。アプリ版についてはWindowsの場合はストア経由かダウンロードページ(ただし64bit版のみ)、MacOSもダウンロードページにあります。
2021年7月追記
micro:bit本体がv2.0になったのとは別に、Microsot MakeCodeのバージョンもv3からv4になりました。micro:bit本体とMakeCodeでバージョン表記が混乱しそうですが、MakeCodeのv4でも新たにブロックが追加されています。またMicrosot MakeCodeに含まれる「codal-microbit-v2ランタイム」のバージョンも上がっていて、micro:bit本体(v2.0)で問題のあったI2C通信の問題も解決していそうです。詳しくは下記記事にて。
---追記ここまで---
v2.0で追加されたブロック
Microsot MakeCodeのブロックメニュー内には、v2.0によって追加されたブロックは「v2」用ブロックとして分かり易く分類されています(上記赤枠)。またシミュレーション画面上ではロゴマークにマウスカーソルを合わせれば、ABボタン同様に機能しました(上記矢印)。しかしこの時点ではスピーカーやマイクのシミュレーションが可能なのか不明です。以下よりv2.0で追加されたブロックのみ確認してみますが、一部まだ日本語になっていないブロックもありました。
入力
マイク入力とロゴマークのタッチ入力のブロックがあります。「音がしたとき」は大きな音と静かな音の2種類、「on logo」は押された、touched、離した、long pressedの4種類があります。「on logo」についてはイマイチその違いが分かり難いのですが、押されたは押して離す、touchedは押した瞬間、離したは押された状態から離した瞬間、long pressedは1秒ほど押して離すといった感じです。
その他に理論の条件として使用出来る「logo is pressed」(ダイヤ型のブロック)と、マイク入力による現在の音声の大きさを数値として扱う事の出来る「音量」(丸いブロック)があります。
また音声に関するブロックをプログラム作成画面側に置くと、シミュレーション画面でも上記の様にマイクと疑似的に音声入力を行うボリュームが表示されました。
入力-その他
先の入力で「音がしたとき」の音量のしきい値の設定ブロックがあります。大きな音と静かな音のそれぞれを選択出来ます。大きな音でしきい値を超える、または静かな音でしきい値を下回ると先の入力での「音がしたとき」の音量の判定基準になります。
音楽
v2.0ではスピーカーを搭載しているので簡単に音声を出す事が出来ますが、その為のブロックが追加されています。「play sound ~ until done」と「play sound」があり、それぞれ用意された効果音を選択出来ます。until doneの有無の違いは例えばAボタンを押して音声を出す時、until done有りのブロックは効果音を最後まで再生しますが、無いブロックはAボタンを押すたびに効果音が最初から再生されます。もっと分かり易く言うと、Aボタンを連打した時にuntil done有りは効果音が最後まで再生されないと再びの再生は出来ませんが、until done無しは効果音も連続で最初から再生されます。
「set built-in speaker」はオフにすることにより、P0端子と共有になっているスピーカー機能を無効として、P0端子を通常の入出力端子として機能させます。ただしスピーカーを使用しないのであれば、あえて無効にする必要はありません。
また拡張ボードやワニ口クリップで任意の端子から外部スピーカーを利用する場合は、これまで同様に高度なブロックの「入出力端子」にある「set audio pin」で端子を設定出来ます。
高度なブロック-入出力端子-その他
「set ~ to touch mode ~」ブロックはP0~P2端子とロゴマークの入力形式を設定します。デフォルトではv2.0で追加されたロゴマークは指で触る事でONとなる静電容量式(capacitive)、P0~P2端子はGNDと接続する事でONとなる抵抗膜式(resistive)となっていますが、このブロックでそれぞれを静電容量式か抵抗膜式に設定出来ます。P0~P2を静電容量式にすれば、端子に触る事でON/OFFが可能になります。
その他
v2.0で追加されたブロックを使用して組まれたプログラムを、古いmicro:bit(~v1.5)にダウンロード(書き込み)すると、LEDに困り顔アイコンに続いて「927」の数字がエラーとして表示されます。これはv1.5では動かす事の出来ない、v2.0用の機能(プログラム)が含まれている事を示しています。その他のエラー項目はここから。
またv2.0と古いmicro:bitが混在する環境で共通のプログラムを作成したい場合は、当然ながら古いmicro:bitに合わせて作成する必要があり、v2.0で追加されたブロックは使用出来ません。逆にmicro:bitを全てv2.0に更新し、以前に古いmicro:bit用に作成したプログラムは基本的にはそのまま使用する事が出来ますが、一度Microsot MakeCodeでプログラムを開いて再保存する(更新)必要があります。古いままのhexファイルを直接micro:bitフォルダーにコピーすると、互換性エラー(困り顔アイコンに続いて「029」)となります。
Microsot MakeCodeではまだ日本語になっていないブロックがあるので(日本語でも機能の違いが分からない事もありますが)、実際に試してみないと分からない事もあります。色々試行錯誤する事で結果的にプログラムの理解が進む事もありますが、時間的に制限のある教育現場では少々厳しい点でしょうか?実際には実機まで使わずに、PCのモニター内で終わってしまっている事も予想されますが・・・。
次回は購入したmicro:bit(v2.0)に電源を入れてみます。
「micro:bit」関連記事
以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。「その24」までの記事ではmicro:bit本体のバージョン「1.5」を使用しています。
クリックで開きます
- WRX micro:bitを車両で使う その1 micro:bitの購入
- WRX micro:bitを車両で使う その2 Microsot MakeCodeとスマホ用アプリ
- WRX micro:bitを車両で使う その3 micro:bitの仕様と購入したブレイクアウトボード
- WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
- WRX micro:bitを車両で使う その5 無線機能の利用
- WRX micro:bitを車両で使う その6 方位センサーの利用
- WRX micro:bitを車両で使う その7 加速度センサーの利用
- WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
- WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
- WRX micro:bitを車両で使う その10 サーボモーターの利用(動作編)
- WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
- WRX micro:bitを車両で使う その12 可動式雲台を作る(1軸編)
- WRX micro:bitを車両で使う その13 連続回転サーボモーターの利用
- WRX micro:bitを車両で使う その14 Bluetoothでスマホから操作(データ受信)を行う
- WRX micro:bitを車両で使う その15 LCDパネル(I2C LCD1602・2004)の利用
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
- WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その22 7セグメントLEDの利用(TM1637ドライバ)
- WRX micro:bitを車両で使う その23 DCモーターを制御する(TB6612FNG・DRV8833)
- WRX micro:bitを車両で使う その24 ステッピングモーターを制御する(ULN2003ドライバ)
- WRX micro:bitを車両で使う その25 micro:bit バージョン2.0を購入(2021年12月 v2.2アナウンスあり)
- WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
- WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能
- WRX micro:bitを車両で使う その28 新バージョン(v2.0)のI2C通信
- WRX micro:bitを車両で使う その29 環境モニターを作る(気温・気圧・湿度編)
- WRX micro:bitを車両で使う その30 環境モニターを作る(二酸化炭素・有機化合物編)
- WRX micro:bitを車両で使う その31 環境モニターを作る(LCD表示・動作確認編)
- WRX micro:bitを車両で使う その32 環境モニターを作る(RTCモジュール追加編)
- WRX micro:bitを車両で使う その33 環境モニターを作る(ロギングモジュール追加編)
- WRX micro:bitを車両で使う その34 環境モニターを作る(ログデータ記録編)
- WRX micro:bitを車両で使う その35 車内のCO2濃度と換気について
- WRX micro:bitを車両で使う その36 新バージョン(v2.0)でのI2C通信の問題解決
- WRX micro:bitを車両で使う その37 Microsoft MakeCodeの新バージョン(v4)と新機能データロガー
- WRX micro:bitを車両で使う その38 mp3音声ファイルの再生(DFPlayer Mini)
- WRX micro:bitを車両で使う その39 車速パルス信号から速度を計算する
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
- WRX micro:bitを車両で使う その41 フルカラーLEDマトリックス(WS2812B)で時計を作る
- WRX micro:bitを車両で使う その42 フルカラーLEDマトリックス(WS2812B)でピクセルアートアニメーションを作る
「micro:bit+プラレール」も始めました。
その他
FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。
注記
-
- このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
- 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
- micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。