「金庫」を作りました
モーターを使って鍵をかけます。ダイアルを合わせることで鍵を開けることができます
公式の教員向けレッスンプランはこちらです
金庫のセキュリティ
金庫の扉をロックまたはロック解除するために、条件を使用しましょう。
正面から見たところです。右のモーターが鍵をかけるためのもの。左のモーターは鍵を開くためのものです
金庫が開いているところ
後ろから見たところ。もう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]