SPIKEプライムで
Pythonコーディングをはじめよう!
Getting Started/ここから始めよう
Python(パイソン)でのコーディング(プログラム作成)学習はここから始められます。以下の各章ではSPIKEに関するPython関数(機能)について多くのプログラム例があります。必要に応じてプログラム例をプログラミングキャンバスへコピー&ペーストすることで簡単にPythonプログラムを作成できます。
では始めましょう!
Part 6:Using the Distance Sensor
/距離センサーを使う
準備

近い?遠い?
1. 以下のコードをプログラミングキャンバスにコピー(記述)します。
2. プログラムを再生し、距離センサーに手を振り、モーターを観察します。
from spike import DistanceSensor, Motor
# 距離センサー、モーターを初期化
distance_sensor = DisatanceSensor('D')
motor = Motor('C')
# 距離センサーに近づけたり、遠ざけたりするようにゆっくりと手を動かします
while True :
distance_sensor.wait_for_distance_farther_than(20, 'cm')
motor.start()
distance_sensor.wait_for_distance_closer_than(20, 'cm')
motor.stop()
3. コードを変更して、センサーとの別の相互作用を調べましょう。
# 手を距離センサーに近づけたり離したりすると、検出された距離に基づいてモーターの速度が変化します
while True :
percentage = distance_sensor.get_distance_percentage()
if percentage is not None :
motor.start(100 - percentage)
この詳細については、このナレッジベースの「SPIKE Pythonリファレンス」セクションをご覧ください。
Part 7:Using the Motion Sensor (Gyro in Hub)
/ハブ内蔵のモーションセンサー(ジャイロセンサー)を使う
準備

位置を検出する
ハブのモーションセンサーを使用してライトマトリックスを制御しましょう
1.このコードをプログラミングキャンパスにコピー(または記述)します。
2.プログラムを再生し、ハブを左右に傾けます。
from spike import PrimeHub, App
#ハブとappの初期化
hub = PrimeHub()
app = App()
while True :
orientation = hub.motion_sensor.wait_for_new_orientation()
if orientation == 'front' :
hub.light_matrix.show_image('ASLEFT')
app.start_sound('Snoring')
elif orientation == 'up' :
hub.light_matrix.show_image('HAPPY')
app.start_sound('Triumph')
3.コードを変更して、センサーとの別の相互作用を調べてみましょう。
while True :
angle = abs(hub.motion_sensor.get_pitch_angle()) * 2
hub.light_matrix.show_image('HAPPY', angle)
チャレンジ
センサーを使用して、様々なサウンドを変調できる楽器を作成します。
この詳細については、このナレッジベースの「SPIKE Pythonリファレンス」セクションをご覧ください。
Part 8:Driving
/移動
準備
インスピレーションを得るために、組み立て図ページにアクセスして下さい。

前後に移動
ドライビングベースを直線的に移動するようにプログラムしましょう。
1.このコードをプログラミングキャンパスにコピー(または記述)します。
2.プログラムを再生!ドライビングベースが移動するのに十分なスペースがあることを確認して下さい。
from spike import MotorPair
#モーター1組の初期化
motor_pair = MotorPair('E', 'F')
#速度初期設定 50%
motor_pair.set_defaulr_speed(50)
#一方向に2秒間移動
motor_pair.move(2, 'seconds')
3.このコードを使用して、ドライビングベースの動きを変更します。
#反対方向に2秒間移動します
motor_pair.set_default_speed(-50)
motor_pair.move(2, 'seconds')
ドライビングベースを回転させる(ポイントターン)
「ポイントターン」と呼ばれるものを試してみましょう。ドライビングベースを1点で回転させます。
1.以下のコードをプログラミングキャンパスにコピー(または記述)します。
2.プログラムを再生!ドライビングベースが移動するのに十分なスペースがあることを確認して下さい。
from spike import MotorPair
#モーター1組の初期化
moto_pair = MotorPair('E', 'F')
# 一方向へ2秒間回転
motorPair.move_tank(10, 'cm', left_speed=25, right_speed=75)
3.このコードを使用して、ドライビングベースの動きを変更します。
# 反対方向に2秒間回転
motorpair.move_tank(1, 'rotation', left_speed=-50, right_speed=50)
この詳細については、このナレッジベースの「SPIKE Pythonリファレンス」セクションをご覧ください
チャレンジ
これが定番です!
ドライビングベースをプログラムして、今試した機能を使って正方形に動かします。