| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|---|
回転センサーなしモーター¶
図 1 Powered Up 回転センサーなしモーター。矢印はデフォルトの正方向を示しています。¶
- class DCMotor(port, positive_direction=Direction.CLOCKWISE)¶
LEGO® Powered Up 回転センサーなしモーター。
- パラメータ:
- dc(duty)
指定のデューティ比(「パワー」とも言います)でモーターを回転させます。
- パラメータ:
duty (Number, %) -- デューティ比 (-100.0 から 100 の間)。
- stop()
モーターを停止し、惰性で回転するままにします。
モーターは摩擦により徐々に停止します。
- brake()
モータに受動的にブレーキをかけます。
摩擦による停止に加え、モータが動いている間に発生した電圧で停止します。
サンプルコード¶
トレインを動かし続ける¶
from pybricks.pupdevices import DCMotor
from pybricks.parameters import Port
from pybricks.tools import wait
# モーターを初期化。
train_motor = DCMotor(Port.A)
# トレインの「電圧」レベルを指定。負の値は逆方向を意味する。
train_motor.dc(50)
# 何もしない状態を維持。トレインはひたすら走り続ける。
while True:
wait(1000)
モーターを前後に動作¶
from pybricks.pupdevices import DCMotor
from pybricks.parameters import Port
from pybricks.tools import wait
# ポート A に繋いだ回転センサーなしモーターを初期化。
example_motor = DCMotor(Port.A)
# 70%のデューティ比(「70%の電圧」)でモーターを時計回り(正転)に回転させる。
example_motor.dc(70)
# 3秒待機。
wait(3000)
# 70%のデューティ比(「70%の電圧」)でモーターを反時計回り(後転)に回転させる。
example_motor.dc(-70)
# 3秒待機。
wait(3000)
正方向の変更¶
from pybricks.pupdevices import DCMotor
from pybricks.parameters import Port, Direction
from pybricks.tools import wait
# ポート A に繋いだモーターについて、反時計回りを正方向を
# とするように初期化。
example_motor = DCMotor(Port.A, Direction.COUNTERCLOCKWISE)
# 正の速度値を指定すると、モータは今度は反時計回りに回転。
example_motor.dc(70)
# これは、モーター(トレイン)が逆向きに取り付けられている場合や、逆さまに取り付け
# られている場合に有効です。正方向を変更することで、正の速度値でトレインやロボットが
# 前進するようになり、スクリプトが読みやすくなります。
# 3秒待機。
wait(3000)
始動と停止¶
from pybricks.pupdevices import DCMotor
from pybricks.parameters import Port
from pybricks.tools import wait
# ポート A に繋いだモーターの初期化。
example_motor = DCMotor(Port.A)
# 始動と停止を10回繰り返す。
for count in range(10):
print("Counter:", count)
example_motor.dc(70)
wait(1000)
example_motor.stop()
wait(1000)