【レゴエデュケーション SPIKE プライム】金庫

「金庫」を作りました

モーターを使って鍵をかけます。ダイアルを合わせることで鍵を開けることができます

公式の教員向けレッスンプランはこちらです

金庫のセキュリティ
金庫の扉をロックまたはロック解除するために、条件を使用しましょう。

正面から見たところです。右のモーターが鍵をかけるためのもの。左のモーターは鍵を開くためのものです

金庫が開いているところ

後ろから見たところ。もう1つ横にモーターがついていますが、今回は利用していません

金庫の蓋の裏です。この紫のパーツが回転することで金庫がロックされる仕組み

プログラムを実効すると、ロックされます

左ボタンを押して・・・

ダイヤルを回すとロックが解除されて

開きます

プログラムはこの通り。左ボタンとダイアル回転の順番はどちらが先でも問題ないです

こちらはもうちょっとセキュリティを上げたもの。ダイアルを、時計回りに180°、反時計回りに90°、時計回りに180°回すと鍵が開きます。このプログラムの場合は、左ボタンを先に押す必要があります

セキュリティの簡単な方のプログラムはPythonで書くとこうなります(ライトマトリックスの画像が鍵の形ではありません)

from spike import PrimeHub, Motor, LightMatrix
from spike.control import wait_for_seconds, wait_until
from spike.operator import greater_than

hub = PrimeHub()
lock_motor = Motor('C')
dial_motor = Motor('B')

hub.speaker.beep(60)
hub.speaker.beep(72)

# ドアをロックします
lock_motor.set_default_speed(50)
lock_motor.run_for_seconds(1, -50)

dial_motor.set_stop_action('coast')
dial_motor.run_to_position(0)
dial_motor.set_degrees_counted(0)
hub.light_matrix.show_image('NO')

# ハブの左ボタンが押されるとドアのロックを解除します。
hub.left_button.wait_until_pressed()
hub.speaker.beep(72)
wait_until(dial_motor.get_degrees_counted, greater_than, 180)
hub.speaker.beep(60)
lock_motor.run_for_seconds(1)
hub.light_matrix.show_image('YES')
[PR]
タイトルとURLをコピーしました