| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|---|
超音波センサー¶
- class UltrasonicSensor(port)¶
LEGO® SPIKE カラーセンサー
- パラメータ:
port (Port) -- センサーが接続されているポート。
内蔵ライト
このセンサーは4つのライトを内蔵しています。それぞれのライトの明るさを調整できます。
サンプルコード¶
距離の計測とライトの点灯/消灯¶
from pybricks.pupdevices import UltrasonicSensor
from pybricks.parameters import Port
from pybricks.tools import wait
# センサーを初期化。
eyes = UltrasonicSensor(Port.A)
while True:
# 計測した距離を表示。
print(eyes.distance())
# 対象物を 500mm より近くに検出された場合:
if eyes.distance() < 500:
# ライトを点灯。
eyes.lights.on(100)
else:
# ライトを消灯。
eyes.lights.off()
# 何が表示されているかが分かるよう、少し待機。
wait(100)
ライトの明るさを徐々に変更¶
from pybricks.pupdevices import UltrasonicSensor
from pybricks.parameters import Port
from pybricks.tools import wait, StopWatch
from umath import pi, sin
# センサーを初期化。
eyes = UltrasonicSensor(Port.A)
# タイマーを初期化。
watch = StopWatch()
# ライトの1回の全サイクルが3秒になるようする。
PERIOD = 3000
while True:
# phase は、現在、単位円のどこにいるかを示す。
phase = watch.time() / PERIOD * 2 * pi
# 各ライトは、平均値50、振幅50の正弦波にしたがう。
# この正弦波を各ライトごとに90度ずつオフセットして、
# すべてのライトが異なる動きをするようにした。
brightness = [sin(phase + offset * pi / 2) * 50 + 50 for offset in range(4)]
# すべてのライトの照度の値を設定。
eyes.lights.on(brightness)
# 少し待機。
wait(50)