micro:bit ゴム銃射撃競技用タイマー作成・その1

射撃大会にも対応できる仕様とします。
計測時間は、フライシュート(FS)用の30秒とコインペンドラム(CP)用の60秒。
輪ゴム銃射撃競技の公式ルールで定められている1セットの競技時間は、FS:30秒、CP:60秒、MB(マッチボックス):5分ですが、事実上MBで5分使うこともないので、FSとCPに対応していれば十分です。
操作性のポイントとして、計測開始ボタンを押している間は残り秒数を初期値のままホールドし、放したら計測開始させること。また、計測開始してからでもボタン押し直しで初期値から再スタートできるようにします。
計測終了時にアラーム音を流します。計測開始ボタンを押した時・放した時のそれぞれで、アラーム音と同じフレーズを1度流します。

 

以上を踏まえて、micro:bitで作る際のボタン/リングの機能割付けを考えます。
 Bボタン:Start/Restart 押して放すと計測スタート。(押し直しによる再スタート可)
 Aボタン:Stop/Mode 強制ストップ。押しながらBボタン操作で計測時間30/60切替
 P0:<Output> アラーム出力(デフォルト)
 P1:<タッチ入力> アラーム音パターン切替。
 P2:<タッチ入力> 外付けスタートボタン用。Start/Restart

 

アラーム音の出力は外付けスピーカー接続が前提。デフォルトで使えるP0のBEEP出力にします。
隣り合った競技スペースで区別できるようアラームは2パターン用意し、鳴動の都度P1の状態を見て切替えます。
競技では計測開始ボタンをゴム銃の先端で押すことは禁止されていないので、外付けボタンをつなげられるようにします。(Micro:bitのタクトスイッチのままでは何かと難あり)
Bボタンの回路が出ているP11は取扱いにエッジコネクタが必要となるため、P2に割り当てます。


あと、計測時間30/60の切替えについては、起動時の初期値を外付けスイッチで決められるようにもしたいです。競技現場では誰もが操作方法を知っているとは限らず、万一電源断などがあった場合に設定操作が必要だと不都合なので。
ただ、すでにリングP0,P1,P2の用途が決まっていて、ほかの端子も使いたくはないので工夫が必要です。起動後1度だけ情報取得できればよいので、音を出す前のP0からデジタルReadでできそうな感じ


表示については、5x5マトリックスLEDでは数字で残り時間を示すことが難しいため、時計の文字盤を模した表現で検討します。