PCデスクに時計が欲しくなった。
ディスプレイに時計があるので、別になくても時刻は確認できるのだが、PCをつけてないときや全画面表示してる時には時計がサッと見れない。
これまでchromeの新規タブや、デスクトップに時計を配置してすこしでも見やすくしようと工夫していたが、物理的に時計を置くのが1番解決になるんじゃないかと気づいた。
しかし、わざわざ時計を買うのもなぁ……と二の足を踏んでいた。
そこで、最近やりたいと思っていた電子工作の練習として、手持ちのものでまずは時計をつくってみることにした。
LCD1602を使ってみる
以前買ったArduinoのキットに入っていたLCD1602を使ってみることに。
ちなみに4桁7セグ(いわゆるデジタル時計表示できるやつ)もあったが、こっちはモジュールがないため、トランジスタの数が足りなそうなので一旦見送り。
ESP32もいつか使おうと買っていたので、wifiがついてるこっちだと時刻取得できる。
なので、ESP32駆動にすることにした。

テストの様子
作り方はGeminiに全部きいた。
言われた通りに配線し、書いてくれたコードを書き込んで、まずは表示テスト。
最初表示が出なかったりしたが、Geminiに言われるがままに配線内の抵抗を見直したりしたら、無事表示に成功。
時計を表示してみる
無事表示ができたら、あとは時計を表示するだけだ。
これもGeminiが全部コードをつくってくれた。
ちゃんと動くのですごい。

時計が表示された
ちょっと写真見づらいけど、無事時計が表示された。
wifiで時刻取得してるので、時刻も正確だ。
しかし画面が小さいので、時刻が見づらい。
大きく表示できないか?とGeminiに相談すると、カスタム文字をつくることで大きく表現できるらしい。
これまたGeminiにコードを書いてもらってつくったのだが……

デカ文字(失敗)
なんか表示がおかしい。
何度かコードを書き直してもらったものの、改善せず。
ここからが長かった。
デカ文字表示に苦戦
結局ここからは人力で原因を探ることに。
コードを理解し、色々試すうちにわかったのは、
ということだった。
結局ここは人力で、使える残り5つのカスタム文字を駆使して、デカ文字表記をつくった。

完成した時計
四苦八苦しつつもなんとか完成。
縦2マス×横3マスを利用して、縦棒横棒を配置することでデカ数字をつくっている。
カスタム文字が5つになったため、数字の形が細かいところまで凝れなくなってしまった。
とはいえ、まぁ見やすくはなったのでOKとしよう。
使っている
Geminiのおかげで、かなり簡単につくることができた。
正直、自力では難しかったと思う。
チャットAIのおかげで、一度挫折した電子工作に再び取り組むことができそうだ。
そして結局、いくらAIがコードをかけても、プログラムを読める能力は必要ありそうだなと思った。
今回のは簡単だったので雰囲気で理解できたが、難しいのはやっぱりある程度知識あった方が良さそう。勉強していきたい。
とにかく自分でつくれたのはうれしい。
この調子で、構想中の電子工作にも取りかかりたい。いくつかつくりたいものあるんだよね。