micro:bit ゴム銃射撃競技用タイマー作成・その2
ディスプレイ表示について検討。
makecodeで show leds ブロックをポチポチしながら、表示パターンを考えていきます。
show ledsは表示後にデフォルト400msecのWaitがかかり、Waitを取るにはJavascriptエディタで0msecを指定する必要があるのですが、その指定をつけたshow ledsはブロックエディタではパターン編集ができなくなってしまいます。ちょっと残念。
スタンバイ中の表示は、計測モードを示します。(◎点灯、・消灯)
60秒
◎ | ◎ | ・ | ・ | ・ |
◎ | ・ | ・ | ・ | ・ |
◎ | ◎ | ・ | ◎ | ◎ |
◎ | ◎ | ・ | ◎ | ◎ |
◎ | ◎ | ・ | ◎ | ◎ |
30秒
◎ | ◎ | ・ | ・ | ・ |
・ | ◎ | ・ | ・ | ・ |
◎ | ◎ | ・ | ◎ | ◎ |
・ | ◎ | ・ | ◎ | ◎ |
◎ | ◎ | ・ | ◎ | ◎ |
むりやり60,30と読む! 読めるっ!
タイマー動作中の表示は、アナログ時計の文字盤をイメージしたものにします。
(砂時計イメージも考えたのですが、無理がありました)
1分間の表現には、外周12個のLEDを使用(丸囲み数字部分)。
秒の進みの表現には、中央の5個のLEDを割り当てます(A~E部分)
・ | ⑪ | ⑫ | ① | ・ |
⑩ | ・ | D | ・ | ② |
⑨ | C | E | A | ③ |
⑧ | ・ | B | ・ | ④ |
・ | ⑦ | ⑥ | ⑤ | ・ |
計測開始ボタンを押すと以下の表示になります。
60秒
・ | ◎ | ◎ | ◎ | ・ |
◎ | ・ | ◎ | ・ | ◎ |
◎ | ◎ | ◎ | ◎ | ◎ |
◎ | ・ | ◎ | ・ | ◎ |
・ | ◎ | ◎ | ◎ | ・ |
30秒
・ | ◎ | ◎ | ・ | ・ |
◎ | ・ | ◎ | ・ | ・ |
◎ | ◎ | ◎ | ◎ | ・ |
◎ | ・ | ◎ | ・ | ・ |
・ | ◎ | ・ | ・ | ・ |
30秒は外周①~⑥がすでに半分消灯している状態。
60秒計測では①から点滅開始、時計回りでそれぞれ5秒間点滅した後に順次消灯。30秒計測では⑦から点滅開始します。
5秒中の進行はA~Dの順に、それぞれ1秒かけて減光した後、順次消灯。
タイムアップの場合は、丸に斜線が入ったイメージで、アラーム鳴動に合わせて点滅させます。
・ | ★ | ★ | ★ | ・ |
★ | ★ | ・ | ・ | ★ |
★ | ・ | ★ | ・ | ★ |
★ | ・ | ・ | ★ | ★ |
・ | ★ | ★ | ★ | ・ |
計測中にAボタンで押した場合は強制停止。ボタンを押している間「×」を表示。
◎ | ・ | ・ | ・ | ◎ |
・ | ◎ | ・ | ◎ | ・ |
・ | ・ | ◎ | ・ | ・ |
・ | ◎ | ・ | ◎ | ・ |
◎ | ・ | ・ | ・ | ◎ |
Aボタンを放したらスタンバイに戻します。