• TOP
  • >
  • 教材
  • >
  • プログラミング・ロボット教材
  • >
  • SPIKEプライム
  • >
  • SPIKE Prime with Python P3

SPIKEプライムで
Pythonコーディングをはじめよう!

Getting Started/ここから始めよう

Python(パイソン)でのコーディング(プログラム作成)学習はここから始められます。以下の各章ではSPIKEに関するPython関数(機能)について多くのプログラム例があります。必要に応じてプログラム例をプログラミングキャンバスへコピー&ペーストすることで簡単にPythonプログラムを作成できます。

では始めましょう!

Part 6:Using the Distance Sensor
/距離センサーを使う


準備

距離センサーモジュールをポートD、LモーターモジュールをポートCに接続します。

近い?遠い?

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
/移動


 準備

ドライビングベースが必要です。モデルは好きなように作成できますが、もっとも簡単なオプションは、2つのモーターをハブに反対方向に取り付けます(Hopperモデルのベース)。いくつかのホイールを取り付けると準備が整います!
インスピレーションを得るために、組み立て図ページにアクセスして下さい。
ドライビングベース(Hopper)

前後に移動

ドライビングベースを直線的に移動するようにプログラムしましょう。
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リファレンス」セクションをご覧ください

チャレンジ

これが定番です!
ドライビングベースをプログラムして、今試した機能を使って正方形に動かします。