以下に、プログラム例と詳しい解説を一つのテキストにまとめました。これを活用して、Codey Rockyの基本機能をマスターしてください。 — # **Codey Rockyのセンサーやモーターを活用したプログラム例と解説** ## **1. ライトセンサーを使った自動ライト点灯** **概要**: Codey Rockyの光センサーが周囲の明るさを検出し、暗くなるとLEDが点灯する仕組みです。 **プログラム**:
python
from mblock import *
# 初期化
codey = codeyblock()
while True:
light_level = codey.light_sensor.get() # 光センサーの値を取得
print("光のレベル:", light_level) # 光のレベルを表示
if light_level < 10: # 光のレベルが10未満の場合
codey.led.show("blue") # LEDを青に点灯
else:
codey.led.off() # LEDをオフ
wait(0.5) # 0.5秒待機
**解説**: – codey.light_sensor.get()
は光の強さを数値で取得します。 – 条件分岐 (if light_level < 10:
) を用いて、暗いと判断した場合にLEDを点灯します。 – wait(0.5)
により、連続的なセンサー読み取りを制御します。 — ## **2. 赤外線リモコンでモーターを制御** **概要**: 赤外線リモコンの操作でCodey Rockyの前進・後退を制御します。 **プログラム**:
python
from mblock import *
# 初期化
codey = codeyblock()
while True:
ir_signal = codey.ir_remote.get() # 赤外線信号を取得
if ir_signal == "up": # 「上」ボタンが押された場合
codey.drive_motor.move(50, 50) # 前進
elif ir_signal == "down": # 「下」ボタンが押された場合
codey.drive_motor.move(-50, -50) # 後退
else:
codey.drive_motor.stop() # 停止
wait(0.1) # 0.1秒待機
**解説**: – codey.ir_remote.get()
で受信した赤外線信号を取得します。 – 信号が "up"
の場合に前進、"down"
の場合に後退、それ以外は停止します。 – モーターの速度は move(speed_left, speed_right)
で設定され、-50は逆方向の速度を意味します。 — ## **3. 超音波センサーを使った障害物回避** **概要**: 超音波センサーで障害物を検知し、自動的に回避動作を行います。 **プログラム**:
python
from mblock import *
# 初期化
codey = codeyblock()
while True:
distance = codey.ultrasonic_sensor.get() # 距離を取得
print("距離:", distance) # 距離を表示
if distance < 10: # 障害物が近い場合
codey.drive_motor.move(-50, -50) # 後退
wait(1) # 1秒待機
codey.drive_motor.move(50, -50) # 右に旋回
wait(1) # 1秒待機
else:
codey.drive_motor.move(50, 50) # 前進
wait(0.1) # 0.1秒待機
**解説**: – codey.ultrasonic_sensor.get()
で障害物までの距離を測定します(単位: cm)。 – 距離が10cm未満の場合、障害物が近いと判断し、後退後に右に旋回します。 – 障害物がない場合は、モーターを前進モードに設定します。 — ## **4. ボタンを押して音楽を再生** **概要**: Codey Rockyのボタンが押されると、ハッピーな音楽を再生します。 **プログラム**:
python
from mblock import *
# 初期化
codey = codeyblock()
while True:
if codey.button.is_pressed(): # ボタンが押された場合
codey.sound.play("happy") # ハッピーの音を再生
wait(2) # 音が終わるまで待機
wait(0.1) # 0.1秒待機
**解説**: – codey.button.is_pressed()
でボタンの押下を検知します。 – codey.sound.play("happy")
で音声ファイルを再生します。 – 再生中の他の処理を避けるために、wait(2)
で一定時間待機します。 — ## **5. OLEDディスプレイにメッセージを表示** **概要**: Codey RockyのOLEDディスプレイに文字列を表示します。 **プログラム**:
python
from mblock import *
# 初期化
codey = codeyblock()
# メッセージを表示
codey.oled.display("Hello!")
wait(5) # 5秒間表示
codey.oled.clear() # ディスプレイをクリア
**解説**: – codey.oled.display("Hello!")
で画面に「Hello!」を表示します。 – wait(5)
は文字列を表示する時間を設定しています。 – 表示を消去する際は codey.oled.clear()
を使用します。 —