右に回すときは正の値,左に回すときは負の値で指定した値の並びを登録しておくことで,その通りにきちんと回せた場合にのみアクションを実行するようにしてあります。例えば,上にある動画の例では,円周率の値を左右に回すように[3, -1, 4, -1, 5, -9, 2, -6]
を登録しています。
ダイヤルを回した後,一定時間(デフォルトでは1.5秒)待つとその値が確定され,表示される値が0になり,入力が継続されます。間違えた回し方をした場合は状態がリセットされるため,正しく回し続けないと解錠できません(確定したかリセットしたかは見た目ではわかりません)。また,ダイヤルを回さずに一定時間(デフォルトでは3秒)が経過すると状態がリセットされます。
今回の実装例では,M5DialをBLEキーボードにしているため,解錠できたときに何らかのキー入力を送ることができます。例えば,解錠できたらログインパスワードを入力するといった使い方を想定しています。
YouTubeで紹介させて頂きました!
https://youtube.com/live/fEE8wO0sQhU