POWERED UPアプリでLEGO BOOSTプログラミング!

【お知らせ】期間限定公開中です!遊びながらプログラミングが学べるフロッチャ!scratch完全版
雨がちで外出できない夏休み後半に少しでも役立てばと思い、遊びながらプログラミングの基礎が学べる「フロッチャ!scratch版」の完全版を8/31までの期間限定で公開しています。
scratchサイト:https://scratch.mit.edu/projects/404066069
各ステージの解説動画:https://youtube.com/playlist?list=PLwzO0EJUK6XqiIoYvMqW-z-W2vTSwHc0l

このページでは、LEGO POWERED UPアプリを使ってLEGO BOOSTをプログラミングしたい人に向けた情報を発信します。

LEGO BOOSTとは?

LEGO BOOSTは、LEGO社から販売されているプログラミングができるレゴブロックです。黒田かがく教室では、このLEGO BOOSTを使ってプログラミングレッスンを行っています。
LEGO社からは、LEGO BOOSTのほかにもプログラミングできる商品が販売されていますが、LEGO BOOSTはその中でもコストパフォーマンスが抜群です。
どうしてコスパが良いかや、レッスンの内容についてはプログラミングレッスン ver.1.0をご覧ください。

目次(各タイトルをクリックするとジャンプします)

  1. POWERED UPアプリを立ち上げよう
  2. LEGO BOOSTをタブレットに接続しよう
  3. アプリでプログラミングしよう
  4. LEGO® POWERED UPアプリのコマンド一覧
  5. プログラミングに便利な機能を使いこなそう
  6. 免責事項

 1. POWERED UPアプリを立ち上げよう

1-1 アプリの起動
アプリのアイコンをクリックして、アプリを起動しよう。
1-2 フリープログラミングモードに入る
右上の「作成」をタップして、フリープログラミングモードに入ろう。
1-3 新しいプログラムを作る
真ん中の「+」ボタンをタップして、新しいプログラムを作ろう。

(すでに作ったプログラムがある場合は、こんな風に並んで表示されているよ。)
1-4 プロジェクト名を決める
プロジェクト名(プログラムの名前の事)を決めよう。あらかじめ適当な名前が入力されている(左の画像だと「Cole」だね)ので、そこをタップして、好きな名前を入力しよう。

こだわりが無ければ、そのままでもOK。
1-5 新しいプログラムを開く
「→」をタップして、新しいプログラムを開こう。
1-6 プロジェクトの種類を選ぶ
*タブレットの種類によっては、この画面は表示されないよ。
この画面が表示された場合は、「コーディング」をタップしよう。

1-7 プログラミング画面
プログラミング画面の基本的な操作を説明するよ。

タップ 指でチョンと押すこと 選ぶときにつかう
ピンチイン/ピンチアウト 2本の指でつまむようにすること 画面を拡大・縮小する
ドラッグ 指で押したまま動かすこと 画面の位置を変える
画像上の番号 この説明書での呼び名(正式名称は分かりません) 役割 詳しい説明
1 戻るボタン 前の画面に戻ります なし
2 Bluetooth接続ボタン LEGO BOOSTとタブレットを接続します 2-1~
3 コントローラーボタン レバーやボタンを表示させる機能ですが、基本的に使いません なし
4 実行ボタン プログラムを実行します なし
5 キャンバス ここにコマンドを並べてプログラムします 3-1
6 タブ コマンドを種類ごとに分けたものです 3-4
7 便利ボタン 便利な機能が集められています 4-1~
8 パレット コマンドが並んでいる場所です 5-1~
目次に戻る

 2. LEGO BOOSTをタブレットに接続しよう

教室などの主催者の方は、あらかじめ2-1の設定をしておくことをお勧めします。
教室などの参加者の方は、2-4からお読みください。
2-1 接続の設定
複数台のLEGO BOOSTを同時に使う場合(教室など)、LEGO BOOSTの混線を防ぐ必要があります。
1-3の画面で、左上の歯車ボタンをタップしよう。
2-2 設定を選ぶ
左のメニューから「設定」をタップします。
2-3 自動接続を解除
左の画像を参考に、

  • 「自動接続」をオフ(灰色の状態)
  • 「タイムアウトなし」をオン(水色の状態)
  • 「デフォルトのパレットレベル」を上級

に設定します。
2-4へ続きます。

コラム:LEGO BOOST専用アプリでなくPOWERED UPアプリを使う理由
LEGO BOOSTは、数あるプログラミング用LEGO製品の中でとりわけ安価で、プログラミング教室でも導入しやすいLEGOです。しかし、専用のアプリの仕様:
 ①アプリ起動中は自動的に近くのLEGO BOOSTと接続しようとする、
 ②少しタブレットを放置するとすぐにLEGO BOOST本体がスリープして接続が解除される(そして①へ)、
 ③タブレットによっては、うっかり画面の下端を触ってしまうと、ナビゲーションバー(戻る、ホームボタン、などが入った黒い帯)が現れてしまい、LEGO BOOSTとの接続が解除される(そして①へ)、
これらのせいで、接続の混線が致命的で、他者のLEGO BOOSTに接続されてしまうトラブルが頻発して授業の大きな妨げとなります。これを防ぐためには、授業を聞いてもらっている間、時々タブレットをタップしてもらってスリープしないようにしてもらったり、自動接続が始まったらすぐさま「×」を押して手動接続をしてもらったりと、泥臭い対応が求められていました。POWERED UPアプリは、2-3の設定をすることで、自動的に接続することも、勝手にスリープすることもなくなりました。黒田かがく教室は、こういった理由で、POWERED UPアプリを推薦しています。
目次に戻る
教室などの主催者の方は、あらかじめ2-1の設定をしておくことをお勧めします。
教室などの参加者の方は、2-4からお読みください。
2-4 接続状況の確認
すでに繋がっているLEGO BOOSTがある場合は、緑のチェックボタンが表示されているよ。
緑のチェックボタンが表示されていない場合は、Bluetooth接続ボタンをタップしよう。
2-5 LEGO BOOSTの緑ボタンを押す
LEGO BOOST本体の緑ボタンを一回押そう。本体のLEDが白く点滅し始めるよ(LEGO BOOSTが、タブレットからの接続を待っている状態)。
*一度LEGO BOOSTと接続したことがあったり、すでに他のLEGO BOOSTが起動していたりすると、この画面は表示されず2-6に飛びます。
2-6 接続したいLEGO BOOSTを選ぶ
近くにあって、誰とも接続されていないLEGO BOOSTの一覧が表示されています。接続したいLEGO BOOSTの名前をタップしよう。
LEGO BOOSTの名前が一瞬オレンジ色になった後、接続されるよ。
接続がうまくいかないときは、2-8からを参考にしてね。

  • 自分のLEGO BOOSTが表示されません
  • LEGO BOOSTの名前が灰色です
  • 接続を切りたいです
  • LEGO BOOSTの見分けがつきません
2-7 接続完了!!
自分のLEGO BOOSTの名前が緑色になれば接続完了!!接続されたLEGO BOOST本体は、LEDが青色に光っているよ。

接続がうまくいかないときは、2-6からを参考にしてね。

目次に戻る
Q&A 接続がうまくいかないとき
2-8 自分のLEGO BOOSTが表示されません
LEGO BOOSTは、2-5で接続待ちの状態のまましばらく接続されずにいるとスリープしてしまいます。2-6の画面で自分のLEGO BOOSTが表示されていない場合は、もう一度本体の緑ボタンを押してみましょう。
ちなみに、接続待ちの状態の時は、本体のLEDが白く点滅しています。
2-9 LEGO BOOSTの名前が灰色です
LEGO BOOSTの名前が灰色になっている場合はLEGO BOOST本体がスリープしています(LEGO BOOST本体のLEDが点滅していないですね?)。もう一度2-3に従ってLEGO BOOST本体を起動してください。
2-10 接続を切りたいです
間違って人のLEGO BOOSTに接続してしまった場合は、2つの方法で接続を切ることが出来ます。

  1. アプリ側から切断する
     繋がっている(緑色表示の)LEGO BOOSTの名前を左にフリックすると、右に赤い「×」が表示されるので、それをタップ。
  2. LEGO BOOST本体から切断する
     LEGO BOOST本体の緑ボタンを10秒押し続けます。
2-11 LEGO BOOSTの見分けがつきません
複数台のLEGO BOOSTが近くにあって、表示されているLEGO BOOSTのうちどれが自分のLEGO BOOSTか分からない場合、LEGO BOOST本体の緑ボタンを長押ししてみましょう。
緑ボタンを押している間だけ、自分のLEGO BOOSTの表示が黄緑色に変わるはずです。
目次に戻る

 3. アプリでプログラミングしよう

3-1 プログラミングする
プログラミングは簡単!キャンバスにコマンドをつなげていくだけでプログラムの出来上がり!
コマンドは画面下のパレットに並んでいるから、使いたいコマンドをドラッグしてキャンバスに置こう(「キャンバス」「パレット」といった用語は1-7を参照してね)。
3-2 いらないコマンドを消す
欲しいコマンドをキャンバスに置くには、パレットからドラッグすればよいことは3-1に書いた通り。ではキャンバスに置いてしまったいらないコマンドを消すには?いらないコマンドをパレットにドラッグすることで消すことが出来るよ。
3-3 コマンドの形と役割
コマンドには大きく分けて5つの形があるよ。

画像上の番号 この説明書での呼び名
(正式名称は分かりません)
役割
1 スタート型コマンド
(左が丸いコマンド)
プログラムをスタートさせる役目のコマンドだよ。一つのプログラムの先頭に必ず必要だよ。
2 一般型コマンド
(左右に繋げられるコマンド)
いろいろなことを実行するコマンドで、一番種類が多いよ。前後につなげられる形をしているね。下にくぼみがあるものとないものがあるよ。
3 変数型コマンド
(上が丸くなったコマンド)
センサーの色や、本体の傾きなど、いろんな数値が入った箱だよ。上が丸くなっているね。
4 条件型コマンド
(上が尖ったコマンド)
✓(正しい)か×(正しくない)のどちらかが入った箱だよ。上が尖っているね。
5 ストップ系コマンド
(右が丸いコマンド)
プログラムを終わらせるコマンドで、2種類しかないよ。
3-4 コマンドの種類と役割
コマンドは7種類に分けられて、タブの中に整理されているよ。コマンドの種類を切り替えるには、使いたい種類のコマンドの入ったタブをタップしよう。

タブの色 この説明書での呼び名
(正式名称は分かりません)
役割
黄色 制御系コマンドタブ プログラムの流れを制御するコマンドが集められているよ。スタートしたり、条件分岐をしたり、繰り返しをしたりするよ。
橙色 センサー系コマンドタブ センサーの数値を調べたり、センサーの数値によってプログラムをスタートしたりするコマンドが集められているよ。
緑色 モーター系コマンドタブ モーターを制御したり、モーターの位置を調べたりするコマンドが集められているよ。
水色 入力系コマンドタブ 1-7のコントローラーボタンと組み合わせて使うコマンドが集められているよ。(この説明書では説明しません。)
紫色 サウンド・LED系コマンドタブ 音を鳴らしたり、LEDを光らせたりするコマンドが集められているよ。
白色 算数系コマンドタブ 数値どうしの足し算、引き算など計算をさせたり、数値どうしを比べて大きいか小さいかを比較したり、数値を入れる変数を作ったりするコマンドが集められているよ。
灰色 関数系コマンドタブ 作ったプログラムをひとまとめにして、自分だけのブロック(関数というよ)を作ったり、それを使ったりするためのコマンドが集められているよ。
3-5 数値を入力する
下に丸いくぼみがあるコマンドは、記号や数値を入力できるよ。白い部分をタップして、数値を入力して使おう。初期設定では、数値をゲージで入力するモードになっていて、細かい調整がしづらいので、電卓モードに切り替えて使おう。
3-6 プログラムを実行する
コマンドは2通りの方法で実行させることが出来るよ。

  1. スタート型コマンド(1)をタップすると、そのプログラムが実行されるよ。
    スタート型のセンサー系コマンド(2)をタップすると、センサーがオンになって、プログラムのスタート待ちの状態になるよ(もう一度タップすると、センサーがオフになるよ)。
  2. 画面右上の三角ボタン(3)をタップすると、キャンバス内にある全てのプログラムが同時にスタートするよ。全てのプログラムのスタート型コマンドを同時にタップしたのと同じことだよ。
3-7 プログラムを中断・停止する
プログラムが動いている最中に、プログラムを止めたい場合は、右上の赤い四角(プログラムが動いていないときはこのボタンは三角になっているよ(3-6)。)をタップしよう。
目次に戻る

 4. LEGO® POWERED UPアプリのコマンド一覧

4-1 制御系コマンド
4-1-1 スタート
プログラムの先頭に置くスタート型コマンドの中で一番基本のコマンドです。
他のスタート型コマンドと違って、プログラムがスタートするために特別な条件を必要としません。このコマンドをタップするか、実行ボタンをタップすることでプログラムが1度だけ動きます。この「1度だけ動く」というのもこのコマンドの特徴です。
4-1-2 条件付きスタート
条件を満たしたときにプログラムがスタートします。このコマンドをタップするか、実行ボタンをタップすることで条件のチェックが始まります(条件のチェックが始まった状態になっていないと、例え条件を満たしていても、プログラムはスタートしません)。条件のチェックが働いているときは、コマンドがゆっくりと点滅しています。
条件を満たしている間、何度もプログラムが実行され続けることが特徴です。4-1-3条件付きスタート(インパルス型)との違いに注意しよう。
サンプルプログラム(クリックで表示するよ)
Cのコネクターに接続されたセンサーが赤を感知するまで待機する。センサーが赤を感知したら音を鳴らす。音が鳴り終わったら、またセンサーが赤を感知するまで待機し、センサーが赤を感知したら音を鳴らす。これをずっと繰り返す。
4-1-3 条件付きスタート(インパルス型)
条件を満たしたときにプログラムがスタートします。このコマンドをタップするか、実行ボタンをタップすることで条件のチェックが始まります(条件のチェックが始まった状態になっていないと、例え条件を満たしていても、プログラムはスタートしません)。条件のチェックが働いているときは、コマンドがゆっくりと点滅しています。
条件を満たした瞬間に一度だけプログラムが実行されます。プログラムが終わった後に引き続き条件を満たしていても、再びプログラムが実行されることはありません。ただし、一度条件を満たさなくなってから、再び条件を満たした場合には、再びプログラムが実行されます。このとき、このプログラムが実行途中だった場合は、その処理を中断して、最初から実行しなおします。4-1-2条件付きスタートとの違いに注意しよう。
サンプルプログラム(クリックで表示するよ)
Cのコネクターに接続されたセンサーが赤を感知するまで待機する。センサーが赤を感知したら音を鳴らす。一度センサーが赤を感知しなくなってから、再び赤を感知した瞬間に、また音を鳴らす。これをずっと繰り返す。
4-1-4 フラグでスタート
指定した番号のフラグ(4-1-4)が立った瞬間に1度だけプログラムが実行されます。4-1-2条件付きスタートや4-1-3条件付きスタート(インパルス型)と違って、フラグ検知のためにあらかじめタップしておく必要はありません。
コマンドの下にフラグの番号を指定する必要があります。
サンプルプログラム(クリックで表示するよ)
上のプログラムが実行されると、Cのコネクターに接続されたセンサーが赤を感知するまで待機する。センサーが赤を感知したらフラグ1番が立つ。フラグ1番が立つと下のプログラムが実行され、音が鳴る。
4-1-5 フラグ立て
指定した番号のフラグを立てます。4-1-4フラグでスタートと組み合わせて使います。フラグは、立てた瞬間のみ有効で、何度も繰り返し立てることが出来ます。(フラグ(旗)、というけれど、旗を立てる(そして旗をしまう)、というよりは、合図のホイッスルをピッ!と吹くイメージに近いね。)
コマンドの下にフラグの番号を指定する必要があります。
4-1-6 ウエイト
指定した秒数、待機します。コマンドの下に、待機する秒数を指定する必要があります。最小0.01秒まで入力できます。また、値を0にしても、ごくごく短いウエイトが入るようです。繰り返しのプログラムの中では、短い(例えば0.01秒)待機を入れるケースがあります。こうすることで、誤作動を防げることがあります。繰り返しのプログラムが思ったように動作しないとき、試してみるとよいでしょう。
4-1-7 条件付きウエイト
条件を満たすまでの間待機します。コマンドの下に、条件を指定する必要があります。
同じ意味のサンプルプログラム(クリックで表示するよ)
上下どちらのプログラムも、Cのコネクターに接続されたセンサーが赤を感知するまで待機する。センサーが赤を感知したら音を鳴らす。
4-1-8 回数付き繰り返し
指定した回数、このコマンドで囲んだ範囲のプログラムを繰り返します。回数に0を入力した場合、このコマンドで囲まれたプログラムは1度も実行されずにスキップされます。コマンドの下に、繰り返しの回数を指定する必要があります。
サンプルプログラム(クリックで表示するよ)
3回音を鳴らす。
4-1-9 条件付き繰り返し
指定した条件を満たしている間、このコマンドで囲んだ範囲のプログラムを繰り返します。繰り返すかどうかのチェックは、繰り返しの最初に判断されるため、条件が初めから満たされていない場合、このコマンドで囲まれたプログラムは1度も実行されずにスキップされます。コマンドの下に、条件を指定する必要があります。
同じ意味のサンプルプログラム(クリックで表示するよ)
上下どちらのプログラムも、3回音を鳴らす。上のプログラムは、繰り返しの度に、変数aに1を足している。変数aが3より小さい間繰り返し、変数aが3以上になったら(=変数aが3になったら=3回繰り返したら)繰り返しを終わりにする。
4-1-10 繰り返し
プログラムが中断されるまでの間、このコマンドで囲んだ範囲のプログラムを繰り返し続けます。何かを判断し続けるようなプログラムに向いています。ずっと繰り返し続けるため、このコマンドの後ろにプログラムを続けることはできません。
サンプルプログラム(クリックで表示するよ)
Cのコネクターに接続されたセンサーが青を感知するまで待機する。青を感知したら、5番のフラグを立てて1秒間待機する。これをずっと繰り返す。5番フラグが立つ度に、音をならす。高速で何度もフラグを立ててしまわないように、1秒間のウエイトを入れている。
4-1-11 条件分岐
指定した条件を満たしているかどうかを判断し、満たしている場合は上のルート、満たしていない場合は下のルートを進みます。コマンドの下に、条件を指定する必要があります。
4-1-12 並行処理
上のルートと下のルートのプログラムを同時に実行します。まったく同時に上下のルートがバッティングした場合、どちらが採用されるかはランダムの様です。なお、(0秒のウエイトコマンドで上下が入れ替わる程度の)ごくごく短時間のズレをもって、下のルートの方が遅延しているようです。
4-1-13 他のプログラムを終了
並行して実行されている他のプログラムを停止します。他のプログラムを停止したうえで、後ろに続けたプログラムが実行されます。
4-1-14 すべてのプログラムの終了
キャンパスで実行されているすべてのプログラムを終了します。このコマンドが実行されると、プログラムが停止するため、後ろにプログラムを続けることはできません。
4. LEGO® POWERED UPアプリのコマンド一覧のトップに戻る  目次に戻る
4-2 センサー系コマンド
4-2-1 スタート(カラーセンサー)
センサーが特定の色を認識した際にプログラムがスタートします。このコマンドをタップするか、実行ボタンをタップすることでセンサーがオンになります(センサーがオンになっていないと、センサーの前に特定の色があったとしても、プログラムはスタートしません)。センサーが働いているときは、コマンドがゆっくりと点滅しています。
コマンドの下に、センサーが接続されているプラグ(CかD)と、認識させたい色を指定する必要があります。色は直接指定することもできますが、変数で指定することもできます(4-7-1)。
センサーが特定の色を検出している間、何度もプログラムが実行され続けることが特徴です。最初に色を検出した時だけ反応させたい場合は、4-1-3条件付きスタート(インパルス型)を活用しましょう。
4-2-2 ウエイト(カラーセンサー)
センサーが特定の色を認識するまでの間待機します。コマンドの下に、センサーが接続されているプラグ(CかD)と、認識させたい色を指定する必要があります。色は直接指定することもできますが、変数で指定することもできます(4-7-1)。
4-2-3 変数(カラーセンサー)
センサーが検出している色が入っている箱(変数)です。コマンドの下に、センサーが接続されているプラグ(CかD)を指定する必要があります。
4-2-4 スタート(距離センサー)
センサーが特定の距離以内に物体を検知した際にプログラムがスタートします。このコマンドをタップするか、実行ボタンをタップすることでセンサーがオンになります(センサーがオンになっていないと、センサーが特定の距離以内に物体を検知したとしても、プログラムはスタートしません)。センサーが働いているときは、コマンドがゆっくりと点滅しています。
コマンドの下に、センサーが接続されているプラグ(CかD)と、検知したい距離を指定する必要があります。
センサーが特定の色を検出している間、何度もプログラムが実行され続けることが特徴です。最初に物体を検知した時だけ反応させたい場合は、4-1-3条件付きスタート(インパルス型)を活用しましょう。
4-2-5 ウエイト(距離センサー)
センサーが特定の距離以内に物体を検知するまでの間待機します。コマンドの下に、センサーが接続されているプラグ(CかD)と、検知したい距離を指定する必要があります。
4-2-6 変数(距離センサー)
センサーが検出している物体との距離が入っている箱(変数)です。コマンドの下に、センサーが接続されているプラグ(CかD)を指定する必要があります。
4-2-7 変数(明るさセンサー)
センサーが検出している明るさが入っている箱(変数)です。数字が大きくなるほど明るい状態です。コマンドの下に、センサーが接続されているプラグ(CかD)を指定する必要があります。
4-2-8 スタート(傾きセンサー)
LEGO BOOST本体が指定した状態に傾いた場合にプログラムがスタートします。このコマンドをタップするか、実行ボタンをタップすることでセンサーがオンになります(センサーがオンになっていないと、LEGO BOOSTが傾いたとしても、プログラムはスタートしません)。センサーが働いているときは、コマンドがゆっくりと点滅しています。
コマンドの下に、傾きを検知する対象(といっても、本体しか選べません)と、認識させたい傾きの状態を指定する必要があります。傾きの状態は直接指定することもできますが、変数で指定することもできます(4-7-2)。27度以上傾いたときに、その状態になったと判断されるようです。
LEGO BOOSTが傾いている間、何度もプログラムが実行され続けることが特徴です。最初に傾けた時だけ反応させたい場合は、4-1-3条件付きスタート(インパルス型)を活用しましょう。
4-2-9 ウエイト(傾きセンサー)
LEGO BOOST本体が指定した状態に傾くまでの間待機します。コマンドの下に、傾きを検知する対象(といっても、本体しか選べません)と、認識させたい傾きの状態を指定する必要があります。
傾きの状態は直接指定することもできますが、変数で指定することもできます(4-7-2)。27度以上傾いたときに、その状態になったと判断されるようです。
4-2-10 変数(傾きセンサー)
LEGO BOOST本体がどの状態(4-7-2)に傾いているかの情報が入っている箱(変数)です。コマンドの下に、センサーが接続されているプラグ(といっても、本体しか選べません)を指定する必要があります。
4-2-11 変数(X傾きセンサー)
LEGO BOOST本体がX方向に何度傾いているかの情報が入っている箱(変数)です。コマンドの下に、センサーが接続されているプラグ(といっても、本体しか選べません)を指定する必要があります。水平を0として、右に傾くとプラス、左に傾くとマイナスに変化し、最大90度まで反応しますが、それ以上傾いても値は90度のままです。
4-2-12 変数(Y傾きセンサー)
LEGO BOOST本体がY方向に何度傾いているかの情報が入っている箱(変数)です。コマンドの下に、センサーが接続されているプラグ(といっても、本体しか選べません)を指定する必要があります。水平を0として、後ろに傾くとプラス、前に傾くとマイナスに変化し、最大90度まで反応しますが、それ以上傾いても値は90度のままです。
4-2-13 変数(XYZ傾きセンサー)
LEGO BOOST本体がX、Y、Zのいずれかの方向に何度傾いているかの情報が入っている箱(変数)です。コマンドの下に、センサーが接続されているプラグ(LEGO BOOSTの場合、傾きセンサーは本体にしか搭載されていませんので、本体以外を選んでも意味はありません)と、X、Y、Zのどの方向を検知するかを指定する必要があります。
Xを指定した場合、4-2-11変数(X傾きセンサー)とプラスマイナスが逆転した結果になります(水平を0として、左に傾くとプラス、右に傾くとマイナスに変化)。Yを指定した場合、4-2-12変数(Y傾きセンサー)と同じ働きをします。どちらも最大90度まで反応しますが、それ以上傾いても値は90度のままです。Zを指定しても、反応しません。
4-2-14 使途不明
コマンドの絵と、LEGO BOOST公式アプリのヘルプから想像するに、傾きの状態を補正するコマンドと思われますが、実際に動作させても反応しないため、使途不明です。
4-2-15 変数(加速度センサー)
LEGO BOOST本体がX、Y、Zのいずれかの方向に加速しているかどうかの情報が入っている箱(変数)と思われます。コマンドの下に、センサーが接続されているプラグ(LEGO BOOSTの場合、加速度センサーは本体にしか搭載されていませんので、本体以外を選んでも意味はありません)と、X、Y、Zのどの方向への加速度を検知するかを指定する必要があります。
Xは前後方向の加速、Yは左右方向の加速、Zは上下方向の加速を検知するようです。整地しておくと、Z方向に65の値が表示されますので、重力のみを検出している場合の値は65となるようです。
4-2-16,17,18 変数(傾きセンサー:WEDOなど用)
LEGO BOOSTの傾きセンサーは本体に搭載されており、プラグに接続して使用するものは無いため、この機能は使用しません。
4-2-19 変数(傾きセンサー:タブレット用)
接続しているタブレットの傾き(角度)が入っている箱(変数)です。水平が0で、最大は100の様です。
4-2-20 変数(コントローラーパッドセンサー)
LEGO BOOSTにはコントローラーパッドが付属していないため、使用しません。
4. LEGO® POWERED UPアプリのコマンド一覧のトップに戻る  目次に戻る
4-3 モーター系コマンド
4-3-1 モーターパワー
特定のモーターのパワーを設定します。コマンドの下に、モーターの接続されているプラグと、パワーを指定する必要があります。パワーの数値は-100から100の間で、正の数の時は前に進む方向に回転し(AもBも前に進む方に回るので、Aは反時計回り、Bは時計回りに回ります)、負の数の時は戻る方向に回転します。0の時は動きません。なお、17以下の数字を入れてもスムーズに動作しません。どんなに遅くとも、18以上の数字を使いましょう。
モーターを選択するときに、「AB」もしくは「CD」という選択が出来ます。これは、左右2つのタイヤを同時に操作するときに使われます。
このコマンドは、次にモーターを動かす/止めるコマンドが実行されるまでの間、同じパワーで動き続けるコマンドです。
4-3-2 モーターストップ
特定のモーターを停止します。コマンドの下に、モーターの接続されているプラグを指定する必要があります。4-3-3と違って若干の惰性ののちに停止し、停止状態でもある程度動かすことが出来ます。
4-3-3 モーター強制停止
特定のモーターを停止しますが、4-3-2と違って惰性を許しません。停止した後は動かすことが出来ません。コマンドの下に、モーターの接続されているプラグを指定する必要があります。
4-3-4 変数(モータースピード)
特定のモーターの現在のスピードの情報が入っている箱(変数)です。コマンドの下に、モーターの接続されているプラグを指定する必要があります。
4-3-5 モータースピード
特定のモーターのスピードを設定します。コマンドの下に、モーターの接続されているプラグと、スピードを指定する必要があります。数値は-100から100の間で、正の数の時は前に進む方向に回転します(AもBも前に進む方に回るので、Aは反時計回り、Bは時計回りに回ります)。負の数の時は戻る方向に回転します。0の時は動きません。4-3-1と違って、出力1でもゆっくりと動きます。
モーターを選択するときに、「AB」もしくは「CD」という選択が出来ます。これは、左右2つのタイヤを同時に操作するときに使われます。
このコマンドは、次にモーターを動かす/止めるコマンドが実行されるまでの間、同じスピードで動き続けるコマンドです。
4-3-6 モータースピードx時間
特定のモーターを、指定したスピードで、指定した秒数動かします。コマンドの下に、モーターの接続されているプラグと、スピード、進む秒数を指定する必要があります。スピードの設定については、4-3-5もご確認ください。
このコマンドは、4-3-5と違って、モーターが指定した時間動くと、自動的に停止します。
4-3-7 変数(モーターの位置)
特定のモーターの位置の情報が入っている箱(変数)です。位置の情報は、1回転だと360、2回転だと720という風に、角度として入っています。コマンドの下に、モーターの接続されているプラグを指定する必要があります。
4-3-8 モータースピードx角度
特定のモーターを、指定したスピードで、指定した角度動かします。コマンドの下に、モーターの接続されているプラグと、スピード、進む角度を指定する必要があります。スピードの設定については、4-3-5もご確認ください。
このコマンドは、4-3-5と違って、モーターが指定した角度動くと、自動的に停止します。

4-3-9 モータースピードx位置
特定のモーターを、指定したスピードで、指定した位置まで動かします。コマンドの下に、モーターの接続されているプラグと、スピード、そして目的の位置を指定する必要があります。位置については4-3-7をご確認ください。4-3-6や4-3-8と違うのは、現在の位置から決まった時間/角度動かすのではなく、ある位置まで必要なだけ動かす、という事です。
このコマンドは、4-3-5と違って、モーターが指定した角度動くと、自動的に停止します。
4-3-10 設定(位置)
特定のモーターの現在の位置を強制的に上書き設定します。コマンドの下に、モーターの接続されているプラグと、位置を指定する必要があります。モーターに、これからは今の場所が〇度だよ。と教えてあげるイメージです。このコマンドが実行されると、モーターは、直前までの事は忘れて、今の位置は〇度なのだな、と上書き学習します。
4-3-11 モーター位置固定
特定のモーターを、現在の位置に固定します。強い力でもほとんど動かなくなりますが、仮に動いた場合は元の位置に戻ろうとします。コマンドの下に、モーターの接続されているプラグを指定する必要があります。
4-3-12 設定(最大パワー)
特定のモーターの最大パワーを設定します(本来は濃い緑色のブロックであるべきなきがします)。コマンドの下に、モーターの接続されているプラグと、最大パワーを指定する必要があります。パワーの取り扱いについては4-3-1をご覧ください。このコマンドで最大パワーが設定されると、モータースピードをいくら強くしても、設定した最大パワーまでしかパワーが上がらなくなります。なお、4-3-1のコマンドは、このコマンドで設定した最大パワーを無視することに注意しましょう。
4-3-13 設定(加速スピード)
特定のモーターが目的のスピードに加速するまでの時間を、特定の秒数に設定します。コマンドの下に、モーターの接続されているプラグと、目的のスピードに加速するまでの秒数を指定する必要があります。
4-3-14 設定(減速スピード)
特定のモーターが目的のスピードに減速するまでの時間を、特定の秒数に設定します。(現在、4-3-13が加速減速ともに規定しているように思います。現在はこのコマンドには役割がありません)
4-3-15 モーターパワーx2
特定のモーター2つのパワーをそれぞれ設定します。コマンドの下に、モーターの接続されているプラグの組み合わせと、それぞれのモーターのパワーを指定する必要があります。パワーの取り扱いについては4-3-1をご覧ください。モーターの組み合わせは、「AB」もしくは「CD」の2通りです。
このコマンドは、次にモーターを動かす/止めるコマンドが実行されるまでの間、同じパワーで動き続けるコマンドです。
4-3-16 モータースピード
特定のモーター2つのスピードをそれぞれ設定します。コマンドの下に、モーターの接続されているプラグの組み合わせと、それぞれのスピードを指定する必要があります。スピードの設定については、4-3-5もご確認ください。モーターの組み合わせは、「AB」もしくは「CD」の2通りです。
このコマンドは、次にモーターを動かす/止めるコマンドが実行されるまでの間、同じパワーで動き続けるコマンドです。
4-3-17 モータースピードx時間
特定のモーター2つを、指定したスピードで、指定した秒数動かします。コマンドの下に、モーターの接続されているプラグの組み合わせと、それぞれのスピードを指定する必要があります。スピードの設定については、4-3-5もご確認ください。モーターの組み合わせは、「AB」もしくは「CD」の2通りです。
このコマンドは、4-3-16と違って、モーターが指定した時間動くと、自動的に停止します。
4-3-18 モータースピードx角度
特定のモーター2つを、指定したスピードで、指定した角度動かします。コマンドの下に、モーターの接続されているプラグの組み合わせと、それぞれのスピードを指定する必要があります。スピードの設定については、4-3-5もご確認ください。モーターの組み合わせは、「AB」もしくは「CD」の2通りです。
このコマンドは、4-3-16と違って、モーターが指定した角度動くと、自動的に停止します。
4-3-19 モータースピードxハンドル
特定のモーター2つを、指定したスピードで、指定したハンドルの角度で動かします。コマンドの下に、モーターの接続されているプラグの組み合わせと、スピード(2つのモーターを同時に制御します。)、そしてハンドルの角度を指定する必要があります。スピードの設定については、4-3-5もご確認ください。モーターの組み合わせは、「AB」もしくは「CD」の2通りです。
ハンドルの角度、とは、自動車を運転する際に、ハンドルを切る角度の事で、一定の角度にハンドルを傾けたまま車を走らせるイメージです。コントロールパッドを使う場合にはイメージしやすいコマンドですが、通常のプログラムでは若干使いにくいコマンドです。
このコマンドは、次にモーターを動かす/止めるコマンドが実行されるまでの間、同じパワーで動き続けるコマンドです。
4-3-20 モータースピードxハンドルx時間
特定のモーター2つを、指定したスピードで、指定したハンドルの角度で、指定した秒数動かします。コマンドの下に、モーターの接続されているプラグの組み合わせと、スピード(2つのモーターを同時に制御します。)、ハンドルの角度、そして時間を指定する必要があります。スピードの設定については4-3-5、ハンドルについては4-3-21をご覧ください。モーターの組み合わせは、「AB」もしくは「CD」の2通りです。
このコマンドは、4-3-19と違って、モーターが指定した時間動くと、自動的に停止します。
4-3-21 モータースピードxハンドルx角度
特定のモーター2つを、指定したスピードで、指定したハンドルの角度で、指定した角度動かします。コマンドの下に、モーターの接続されているプラグの組み合わせと、スピード(2つのモーターを同時に制御します。)、ハンドルの角度、そして動かす角度を指定する必要があります。スピードの設定については4-3-5、ハンドルについては4-3-21をご覧ください。ここでいう角度とは、タイヤの回転角を指しており、車が曲がる角度の事を指しているのはないことに注意してください。モーターの組み合わせは、「AB」もしくは「CD」の2通りです。
このコマンドは、4-3-19と違って、モーターが指定した時間動くと、自動的に停止します。
4-3-22 使途不明
おそらく、タップしたときに指定した場所に移動させるボタンなのだと思うのですが、どんな数字を入れてもマイナス報告に勢いよく回転するだけで使途不明です。
4-3-23 使途不明
使途不明です。おそらく、タップしたときに指定したスピードでタイヤを回転させるボタンなのだと思います。
4. LEGO® POWERED UPアプリのコマンド一覧のトップに戻る  目次に戻る
4-4 サウンド・LED系コマンド
4-4-1 LEDライト制御
LEGO BOOSTにはLEDライトが付属していないため、使用しません。
4-4-2 本体LED点灯
LEGO BOOST本体のLEDを指定した色で光らせます。色は直接指定することもできますが、変数で指定することもできます(4-7-1)。
4-4-3 本体LED点灯(RGB指定)
LEGO BOOST本体のLEDを指定した色で光らせます。4-4-2と違って、赤、緑、青の出力(0-100%)をそれぞれ設定して、自由な色で光らせることが出来ます。コマンドの下に、光らせたいLED(といっても、本体しか選べません)と、光らせたい色の出力(0-100%)を赤、緑、青の順に指定する必要があります。
4-4-4 センサーLED点灯
センサーを特定の色で点灯させます。コマンドの下に、センサーが接続されているプラグ(CかD)と、認識させたい色を指定する必要があります。色は直接指定することもできますが、変数で指定することもできます(4-7-1)。
4-4-5~16 効果音を鳴らす
指定した音を鳴らします。音が鳴っている間はウエイトします。コマンドの下に、音の番号を指定する必要があります。どの番号がどの音に対応しているかは、番号を選んだ時に音が鳴るので、それを聞いて判断しましょう。

4-4-17,18 赤外線通信
赤外線信号を発信する機能なのですが、LEGO BOOSTには赤外線受信機が付属していないため、ここでは説明しません。
4. LEGO® POWERED UPアプリのコマンド一覧のトップに戻る  目次に戻る
4-5 算数系コマンド
4-5-1 LEGO BOOST選択
同時に複数のLEGO BOOSTを一つのタブレットに接続している場合に、指示を出すLEGO BOOSTとプラグを選択します。コマンドの下に、LEGO BOOSTの番号(1~4)と、どのプラグに命令を出すかを設定する必要があります。
4-5-2 変数
指定した変数の中に入っている数字を返します。コマンドの下に、変数の名前を指定する必要があります。この変数コマンドは、下に丸いくぼみがあるすべてのコマンドにはめることが出来ます。
上に何もあてはめずにキャンバスに配置すると、今変数の中に入っている数値が表示されます。

4-5-3 変数(代入)
指定した変数の中に、指定した数字を上書きして入れます。加えるのでなく、上書きすることに注意しましょう。コマンドの下に、変数の名前と、上書きする数字を指定する必要があります。
4-5-4 グローバル変数
指定したグローバル変数の中に入っている数字を返します。コマンドの下に、グローバル変数の名前を指定する必要があります。このグローバル変数コマンドは、下に丸いくぼみがあるすべてのコマンドにはめることが出来ます。
グローバル変数は普通の変数と違って、キャンバスと関数(4-6)の両方で共通して使うことが出来ます。(普通の変数は、キャンバスで使っている変数は関数で使えず、関数で使っている変数はキャンパスで使えません。)
上に何もあてはめずにキャンバスに配置すると、今グローバル変数の中に入っている数値が表示されます。
4-5-5 グローバル変数(代入)
指定したグローバル変数(4-5-2)の中に、指定した数字を上書きして入れます。加えるのでなく、上書きします。コマンドの下に、グローバル変数の名前と、上書きする数字を指定する必要があります。
4-5-6 計算(ランダム)
左に入れた数と右に入れた数の間の数をランダムに返します。数字は常に更新されます。
4-5-7 条件(等しい)
左に入れた数と右に入れた数が同じかどうかを判断して、同じなら「✓」、違うなら「×」を返します。
4-5-8 条件(より大きい、より小さい)
左に入れた数と右に入れた数のどちらが大きいかを比べて、不等号が正しいかどうかを判断します。正しければ「✓」、正しくないなら「×」を返します。
4-5-9 条件(等しくない)
左に入れた数と右に入れた数が同じかどうかを判断して、違うなら「✓」、同じなら「×」を返します。4-5-7と反対の結果を返します。
4-5-10 条件(AND)
左に入れた条件と右に入れた条件がどちらも「✓」なら「✓」、どちらか一方でも「×」なら「×」を返します。
4-5-11 判断(等しい)
左に入れた条件と右に入れた条件のどちらかが「✓」なら「✓」、両方が「×」なら「×」を返します。
4-5-12~15 計算(+=×÷)
左に入れた数と右に入れた数に対して、四則計算(+=×÷)をします。
4-5-16 計算(アドバンスド)
右の枠に入れた数字に対して、左の枠で指定した計算(指定できる計算の種類は下の表を参照してください)をします。
指定できる計算の一覧(クリックで表示するよ)

4-5-17 計算(Atan2)
指定した座標とX軸の間の角度をラジアンで返します。
4-5-18 計算(指数計算)
左に入れた数を右に入れた数の回数だけ掛けた結果を返します。
4-5-19,20 計算(最大値、最小値)
左に入れた数と右に入れた数を比べて、大きい方/小さい方の数を返します。
4-5-21 計算(余り)
左に入れた数を右に入れた数で割った余りを返します。
4. LEGO® POWERED UPアプリのコマンド一覧のトップに戻る  目次に戻る
4-6 関数系コマンド
4-6 関数作成
関数を作成します。タップすると新しい関数が右に作成されます。
関数の使い方(講義テキストより。画面はLEGO BOOSTアプリです。クリックで表示するよ)




4. LEGO® POWERED UPアプリのコマンド一覧のトップに戻る  目次に戻る
4-7 センサーと変数の変換表
4-7-1 色と変数
色は、以下の6種類です。センサーと対象の距離が近すぎても、遠すぎてもきちんと色を見分けてくれません。色を見分けさせる時には、同時に距離が適切かどうかも測るようにしましょう。
色と変数の対応表(クリックで表示するよ)

4-7-2 傾きの状態と変数
傾きの状態は、以下の6種類です。水平の状態から27度傾けると、状態が変わったことが認識されます。
傾きの状態と変数の対応表(クリックで表示するよ)

4. LEGO® POWERED UPアプリのコマンド一覧のトップに戻る  目次に戻る

 5. プログラミングに便利な機能を使いこなそう

5-1 便利機能を開く
ログラミングに便利な機能が「…」ボタンに集められているのでクリックしてみよう。
5-2 便利機能を使う
便利な機能が表示されるよ。

画像上の番号 この説明書での呼び名
(正式名称は分かりません)
役割 詳しい説明
1 コピー&ペースト キャンバスにあるプログラムを複製するよ。 5-3
2 元に戻す 直前の操作を取り消すよ。 なし
3 やり直す 「元に戻す」で戻した操作をやり直すよ。 なし
4 キャンバスサイズ最適化 画面内に全てのプログラムを表示しきれるようにキャンバスのサイズを最適化するよ。 なし
5 パレットレベル パレットに表示されるコマンドのレベルを変えるよ。 5-6
6 ヘルプ 簡単なヘルプが表示されるよ。 なし
7 便利ボタン 5-1で広げた便利ボタンを元に戻すよ。 なし
5-3 コピー&ペースト
コピー&ペーストボタン(5-2)をタップすると、コピー&ペーストボタンが黄色に変わるよ。この状態で、複製したいプログラムをタップしよう。
タップした場所から後ろのプログラムが丸ごと複製されるよ。プログラムの先頭(1)をタップした場合は5-4、途中(2)をタップした場合は5-5を見てね。
5-4 プログラム全体を複製する
5-3でプログラムの先頭をタップした場合、プログラム全体が複製されるよ。
5-5 プログラムの一部分を複製する
5-4でプログラムの途中をタップした場合、タップした場所から後ろが複製されるよ。
5-6 パレットレベルの変更
パレットレベルボタン(5-2)をタップすると、レゴブロックを重ねたようなロゴのボタンが3つ表示されるよ。パレットレベルを変えると、表示されるコマンドの数(難しさ)を変えられるよ。
5-7 パレットレベルとコマンドの数
パレットレベルを変えると、左のようにコマンドの数が変わるよ(上から順に、1,2,3の順)。コマンドが多く表示されていても特に問題ないため、普段は3にしておこう。
目次に戻る

 6. 免責事項

  • この本は、LEGO社が販売しているLEGO BOOSTを用いて、LEGO社が無償提供しているLEGO® POWERED UPアプリによるプログラミング教育を実践したいとお考えの学校、塾など教育者の方に、プログラミングレッスンを効果的に実践するためのHow to本として、プログラミング教育普及の目的で作成したものです。この本は、個人的にLEGO BOOSTでフリープログラミングをしたいとお考えの方に対して、アプリを最大限に活用するためのヒントになることも同時に目的としています。
  • LEGO and BOOST are trademarks of the LEGO Group, which does not sponsor, authorize or endorse this page. LEGO、BOOSTはLEGOグループのトレードマークであり、この書籍のスポンサー、監修、および推奨をしていません。記載内容に誤りがあった場合、LEGO社の商品説明・情報を正としてお取り扱いいただきますよう、お願い申し上げます。
  • 本ホームページで使用している画像は、LEGO社がリリースしているAndroid版、もしくはiPhone版の「LEGO® POWERED UP」アプリのスクリーンショットであり、アプリ画像の著作権はLEGO社に帰属するものとし、著者はこの本で使用した画像に対していかなる著作権も主張いたしません。
  • 本ページで使用している画面画像に関する知的財産権は上記の通りですが、そのほかプログラムや文章などコンテンツの著作権は黒田かがく教室に帰属します。本ページの内容を黒田かがく教室に無断で複製、印刷することは固くお断りいたします。
  • 最後に、この本を参考に、LEGO BOOSTが秘めている潜在能力が余すことなく活用されることで、この本が子供たちに対するプログラミング教育の成果最大化に寄与することを願います。
目次に戻る

2021年8月14日