ヘッドアップディスプレイ風デジタル時計

ポイント

コンセプト

電子工作分野で定番と言える部品がある。時計作りによく使っているステッピングモーター(28BYJ-48)などもその1つで、定番部品は使用方法に関する情報が多く、また、安価に売られていることが多い。そのような定番部品として、今回は8x8画素のLEDマトリックスディスプレイを使用した。これは制御ICであるMAX7219の名前で呼ばれることが多く、実際、このICのおかげで Arduino などのマイコンに5本の線を接続するだけで簡単に制御できる。また数珠つなぎ(デイジーチェーン)で複数個を制御することもでき、実際、4個がつながった8x32画素の部品がよく売られている。LEDのピッチが4mmと大ぶりで遠くからでも表示を見ることができ、LEDの明るさもあって見栄えがするものが作りやすいのが人気の理由の1つだろう。

これを使った時計はいくらでもあるので、少しは面白みがあるものを作ろうと、HUD(ヘッドアップディスプレイ)風の時計を作った。HUDはもともと戦闘機の照準などに使われている光学ディスプレイで、最近は自動車のフロントガラスに速度を表示するのに使われていたりもする。本物のHUDではレンズを用いて像が遠くに見えるようにするが、そうすると制作が難しいだけでなく時計が見える範囲がとても狭くなるので、今回は単にアクリル板で反射させて「時計が宙に浮いて見える」だけのもの。それゆえ「ヘッドアップディスプレイ」でなく「風」を付けている。

これを作るには単にLEDディスプレイと反射板(厚み1mmのアクリル板を用いた)を支えるだけのものがあれば良い。よくある設計は、LEDを単に水平上向きに置き、反射板を45°で設置するものだ。しかしその設計では、反射した像だけでなくLEDそのものが直接見えてしまいがちである。この時計は机の上に置くことを前提としているため、真正面よりも少し上から見られる場合が多く、そのときにLEDが直接見えないほうが良い。そこで、LEDを後ろ向きに20°傾けることにした。表示されるLEDの空中像(上図左で赤で表示されている部分)は垂直にしたいので、反射板も45°から10°立てて、傾き35°にする。こうすることで単にLED本体が見えなくなるだけでなく、反射板も垂直に近づき、奥行きが小さくなるというメリットも生じる。アクリル板の高さは、LEDの傾きと同じ20°上から見たときに空中像が欠けない長さとした。

マイコンも内蔵したいところだが寸法的に厳しいのと、これまでの経験から世間の製作者はそれぞれ好みのマイコンがあるのでそれに合わせた設計にはせず、外付けすることにした。時刻の設定方法もいろいろで、僕が作ったものはESP32を用いているので、WiFiから自動的に時刻を取得するが、そうでない場合は時間合わせボタンも必要になるからである。ステッピングモーターを用いた時計とは違い、マイコンとディスプレイユニットは直結できるので、上の写真のようにコンパクトにまとめて収縮チューブで絶縁すればそれで事足りる。

本体はプリントするだけで、それにディスプレイユニットとアクリル板を挿入すれば完成というお手軽工作だが、空中に浮かんだLEDのきらめきが思いの外美しく、お気に入りの時計となった。惜しむらくは、どうやってもそのきらめきをそのまま写真に収めるのことが出来なかったことである(どうしても色が淡くなってしまう)。ぜひ製作してその美しさを確かめて欲しい。例によって3DデータとプログラムはThingiverseInstractablesで公開している。