久しぶりの電子工作!卓上時計作ってみた。
みなさんこんにちは。エンジニアの井上です。
リモートワークで家のPCをよく使うようになったので、モニタを増やしたりカメラをつけるなど作業環境を快適にしてみたら、お財布が悲鳴を上げています。
さて、少し前ではありますが、私は組み込み系出身のエンジニアであるとお話しました。
まあ、社内でも知らない方が大半なのですが^^;
Web系のお仕事がメインなので、最近はほとんど手を付けていませんでしたが、在宅勤務をきっかけに、久しぶりにチャレンジしてみました!
(ここで井上が使っているソフトは古いものが多いです。最近はもっと素敵な方法があるそうですが、学習コストがかかりそうなので慣れてるものを使いました。)
1. ハードウェア編
何を作るの?
今回は卓上時計を作って見たいと思います。制御に使うのはおなじみArduinoです。
Arduinoのようなマイコンボードではなく、普通のワンチップマイコンのほうが自由度は高いのですが、代わりに開発環境を立ち上げるまでのハードルが高いので一旦なしです。気が向いたら、もしかしたらやるかもしれません。多分やりませんが。。。
ちなみに高校時代はPICマイコンを使っていました。
使い慣れていて、昔書いたコードも手元に残ってるので、選択肢としてはありでした。しかし、書き込み器が4000円くらいするんですよね。4000円あればちょっといい壁掛けの時計くらいは買えます。(笑)
回路を引こう
時刻表示に7セグメントLEDを使うとご説明しましたが、回路的には数字一桁につきLEDを8本接続するのと同じになります。
時刻と日付を表示するのに最低8つは必要と考えると、8×8でなんと64本の信号線が必要になりますね。
もちろん、Arduinoにはそんなに多くの本数の信号線はないので、今回はシフトレジスタ(74HC595)を使い、少ない信号線で多くのLEDをドライブできるものとしたいと思います。
そして、時計情報の維持はRTC(Real Time Clock)を使います。
制御側で電源が落ちても、別途取り付けるボタン電池で時刻情報を維持してくれます。制御側とはI2Cという通信規格を使用します。
できた回路図はこんな感じです。GitHubにもアップしたので、気になる方は是非見ご覧ください。(ブランチ運用が雑です)
ただし、この時点でこれがしっかり動くかどうかはまだ確認していません。
特にRTCとの配線周りは勘でやっているので、もしかしたら今後変えていくかもです…!
まとめ
電子工作は私がエンジニアを目指した、いわば原点です。
3年以上離れていたこともあり色々忘れてしまっていたのですが、調べながら進め、とりあえず回路図まで作ってみました!
また、製作にあたり、工学部に通っている友人に色々と見てもらいました。感謝しています。
次回は、作成した回路図から基盤を作るところまでやってみたいと思います!
ちなみにこれは途中経過…
次回をお楽しみに!