ちょっとTea Time!? 7SEGにRTCをつないでみる、の巻き 2023.1.21

以前にデジットのジャンクで買った32x16のLEDドットマトリックの動作確認のために、
DS3231のRTC(リアルタイムクロック)を使いましたが、このRTCを少し前に作った7SEGにつないでみましょう。
このRTCはI2C通信でデータをやり取りできるので、配線が少なくて済みます。


以前にデジットのジャンクのドットマトリックスLEDとRTCで時計を作ってあったので、久しぶりに通電です。
あれ、時刻の表示がおかしいぞ?(まだ夜中になっていません)。



このRTCにはEEPROMなるもの載っています。 これって何に使うのかな?

まずは、7SEGとの接続基板を作成です。 
スイッチは時刻調整用に2個つけておきました。
そして、簡単にプログラムを書いて動作確認です。


接続基板を作成です。ほとんど配線がありません。


動作確認完了です。上段が年月日、下段が時分秒です。

ちょっとそっけない?

表示がかなりそっけないです。年月日と時分秒の区切りは何かあった方がいいかもです。
年月日の区切りはピリオド(Dp)でいいかと思いますが、時分秒の区切りは「:]がいいですね。
でも、そのためには7SEG-LEDの取り付けを反転させる必要があります。この7SEGはCOM端子が
PINの対角に配置されているので、倒立しても使えます。
 まあ、基板はまだまだあるので作り直してもいいのですが、面倒なのは7SEGを倒立させると
その部分の各セグメントa〜gのソフト変更が必要です。 これが結構面倒かな〜。
 ということで、とりあえず区切りはすべてDpにしておきましょう。


このLEDはCOM端子が対角配置なので、正立でも倒立でもどちらでも使えます。片方を倒立にすると
区切りが[:]になるので、時計らしくなります。 でも、面倒だなあ〜。



とりあえず区切りはDpとしておきました。

そういえば

そういえばRTCにDS1307というものも買っていました。これを使ってみましょう。
なぜSO8パッケージのものを買ったかといえば、単にDIPパッケージに比べて50円安かったからです(←セコイ。
変換基板は自前のものがあるので、それに取りけます。ついでに32.768kHzの水晶も一緒に抱かせておきます。

これを買っていました。秋月で250円でした。 SO8パッケージだとDIPに比べて50円安いです。


変換基板に載せて、あわせて水晶発振子も取り付けておきました。

使い方は同じ

配線は極めて簡単です。I2C配線とバックアップ用のバッテリーを接続するだけです。
水晶はすでに変換基板に取り付けているので、あとはI2C通信とバッテリーの接続だけです。
RTCの内部レジスタならびにI2CアドレスもDS3231を同じなので、ソフトは共通でいけそうです。


接続は極めて簡単です。



レジスタ構成ならびにI2C通信アドレスはDS3231と同じようです。

バッテリはどうする?

電池はちょうどリモコン用のCR2032のコイン電池があったので、これを使いましょう。
まずは簡単にリード線を半田付けしようかと思いましたが、なかなか付きません。
結構熱容量があるみたいで、半田コテの温度を一杯あげてもだめでした。
やっぱりこういった場合のために、小型のスポット溶接機があったほうがいいのかな〜?。
とりあえず、ワイヤーでバッテリーを固定です。

端子の配列はDS3231をつかったRTCモジュールと同じにしています。
そのため、入れ替えが可能なはずです。

で、モジュールを入れ替えてみましたが、問題なく動くことが確認できました。


ボタン電池にリード線を半田付けしようとしましたが失敗。
ヤニだけが残ってしまいました。



無理やりですが、バッテリはワイヤでくくって固定しました。


DS1307をつかったモジュールでも問題なく動きました。

しかし、表示がちょっとそっけないかな?
下段の時分秒の区切りも変更したいし、上段の年月日はスクロール表示にした方がいいかな〜。
でも、表示が動くと気が散るかな?

まあ、ソフトについては時間があるときに弄ってみましょう。

ついでに
新規に7SEG基板を作成です.今回は区切りが「:」になるようにしています.
ソフト変更は面倒というよりこんがらがりました.
完成しましたが、数字の斜め具合と「:」の斜め具合が微妙に異なりますね.
設定でどちらにも出来るようにしておいた方がいいかな?


区切りを「:]にしたバージョンも作ってみました.
なんか微妙な違和感もあります.

(つづく?)