2020年2月17日

SPIKEアプリ-移動ブロックの使い方

SPIKEアプリには、2つのモーターを同期させて制御する、主に車型のロボットを動かす目的で使用する「移動」ブロック(右図)が、用意されています。
ここでは、移動ブロックの基本的な使い方を紹介します。
(さらに詳しい解説やサンプルプログラムは、アフレルオリジナルテキスト「SPIKEプライム プログラミングブック」でご紹介しています。)

なお、ここで紹介するサンプルプログラムは、下図のような車型のロボットを使用しています。

■サンプルプログラム① 前進または後退する
右図のプログラムは、スピード50%で5秒間前進します。

2つ目の、「移動に使うモーターを(E+F)にする」ブロックは、このプログラムで動かす車(ロボット)のモーターを設定します。
「E+F」は、左のタイヤを動かすモーターがEポート、右のタイヤを動かすモーターがFポートに接続されている、という意味です。
移動ブロックを使用するときは、必ずこのブロックでモーターを設定します。

4つ目の、「(↑)の向きに(5)(秒)移動する」ブロックは、実際に車を動かすブロックです。
向きと、どれだけ移動するかを指定するだけで、車を動かすことができます。
前方へ移動する場合、Eポートのモーターをマイナス方向に回転させ、Fポートのモーターをプラス方向に回転させる必要がありますが、モーターの回転方向は意識せずに、車の進行方向を指定するだけで、前方へ移動させることができます。
※このブロックは、前方または後方へまっすぐ進ませるか、左右にその場でせん回させることができます。

■サンプルプログラム② 進行方向を指定して移動する
右図のプログラムは、スピード50%で、右方向へ曲がりながら、5秒間、移動します。

4つ目の、「(右:50)の向きに(5)(秒)移動する」ブロックは、ステアリング(進行方向)を指定して、車を動かすブロックです。

「右:50」の部分が、ステアリング(進行方向)を指定しています。「0」なら直進し、0より大きな値なら右方向へ曲がり、0より小さな値なら左方向へ曲がります。値が0から離れるほど、大きく曲がります。
ステアリングの値によって、曲がり方がどのように変化するかは、こちらを参考にしてください。

■サンプルプログラム③ 移動距離を指定する
右図のプログラムは、スピード50%で、前方へ50cm移動します。

3つ目の、「モーター1回転を(17.5)(cm)にする」ブロックは、このプログラムで動かす車が、モーター1回転でどれだけ移動するかを設定するブロックです。
ここで使用している車は、モーターに直接タイヤが取りつけられており、そのタイヤの円周は17.5cmです。そのため、モーターを1回転させたときに車が進む距離は、17.5cmになります。
移動距離(cmまたはインチ)を指定して移動するときは、必ずこのブロックで、モーター1回転あたりの移動距離を設定します。

5つ目の、「(↑)の向きに(50)(cm)移動する」ブロックは、車を前方へ50cm移 動させます。
3つ目のブロックで、この車のモーター1回転あたりの移動距離を設定しているので、「50cm移動する」ためには、モーターを何回転させる必要があるかが、自動的に算出されます。
ここでは、「モーター1回転あたり17.5cm進む」車を使用しているので、「50cm移動する」命令をした場合、モーターは約2.86回転(50cm ÷ 17.5cm)します。

※2020/08/18現在 最新バージョンのSPIKEアプリに基づく情報です。
※これらの仕様はアプリのアップデートによって変更される場合があります。

(2020/08/18現在)