将棋、囲碁、チェスなどに用いる対局時計(チェスクロック)の自作2

将棋、囲碁、チェスなどに用いる対局時計(チェスクロック)の自作1

対局時計をマイコンを用いて自作している。その途中経過を報告する。
前回は、持ち時間を設定してそれでの切れ負けまでできていた。
秒読み設定(0,10,20,30,40,50,60秒)をして、秒読みでの対局ができるところまできた。

中央のボタンが秒読み設定ボタンである。一度押して秒読み設定モードに入り、1秒以内にもう一度押すと、0秒から10秒、10秒か20秒というように増えていき、60の次は0秒に戻る。0秒はつまり持ち時間を使いきったら切れ負けという意味である。秒読み設定モードを出ると持ち時間設定モードに戻り、表示がゼロになる。

秒読みの最中は終始ビープ音が鳴る。手番が切り替わったとき、10秒経過するごとに、残り5秒、4秒、3秒、2秒、1秒で一度ずつビープ音が鳴る。時間が切れたときは3回ビープが鳴ることになる。

以下がその動作ムービーである。
秒読み設定を30秒にして、手番を切り替え、持ち時間が切れるところまで。

ほぼ完成と言いたいところなのだが、マイコンフラッシュメモリが足りないことが発覚した。このムービーはプログラムの持ち時間部分を削ってファイルサイズを落として撮ったものなのである。ちょっと最適化すればいいというレベルではないので、設計をやり直さざるを得ないようだ。
もう一点。持ち時間を管理している二つのICからの信号をどうやらマイコンの方で検知してくれない。この問題をどうやってスマートに解決しようか悩んでいたのだが、もう設計をやり直すしかないかなと判断した。
というわけなので、マイコンを別のものに変更して、配線をやりなおして、プログラムの修正作業をしているところだ。プログラミングと違うところは、実装を少し変更するとパーツがかなり入れ替わり、配線の取り回しなども考えなければならない。まあ部品のストックがたくさんあるため調達に走らなくていい分まだましなのだ。しかし、せっかく作ったプラケースは廃棄だな。

もう一つの問題として、液晶が小さく、バックライトもないため見づらいことがあげられる。自分の経験に照らしてみると、対局中は残り時間を見ることはないし、秒読み中は音しか聞いてない。それなら設定時だけ見られれば問題ないかと思うのだがどうだろうか。