nonchanSOFT・番外編(4)

更新日:2013年12月28日


「くまモン」に時計を追加した
今年最後の公開になります。気圧・温度・湿度の表示をすると、次は日付と時間を表示させたくなってきます。リアルタイムクロックを追加して対応しましょう。白色LEDの7セグが夜中に光っていると結構な明るさになるので、周囲の明るさを検知して表示の明るさを自動で切換える機能も追加します。それでは製作をスタートしましょう。
前回の製作はこちらへhttp://nonchansoft.my.coocan.jp/audio/bangai3.htm
「くまモン」に時計を追加したのリアルタイムクロック
マイコンのPICが3.3Vで動いているので、3.3VのI2C対応のリアルタイムクロック(RTC)を探しました。毎度お世話になっている秋月さんからネット購入しました。
(エプソントヨコム製のRTC-8564NBを搭載したモジュール)
(秋月さんの仕様書抜粋)
水晶発振子をパッケージに内蔵したチップを搭載しています。必要な端子のみモジュールから出ていますので、大変便利です。他のセンサーと同様にI2Cに接続して使います。せっかくのRTCですので、停電時などの電源が供給されていない時にも時計が動くように3Vのボタン電池を組み込んでいます。
(RTCへの電源の供給)
ショットキーダイオードを使って双方から電源が供給されるようにします。RTCは3.3Vからの供給が無くなるとボタン電池からの供給で時計カウントを続けます。
「くまモン」に時計を追加したの明るさセンサー
輝度を落としたつもりだったのですが、7セグの表示は夜中には明るすぎます。昔はCdSを使って明るさを検出したのですが、現在では半導体センサを使います。丁度マルツパーツさんでPanasonicのセンサを発見したので早速ネット購入しました。
(Panasonic製NaPiCa:AMS302T)
(センサ仕様書抜粋)
(明るさセンサ回路)
上図のように接続すると明るさに応じた出力電圧を得ることが出来ます。この電圧をA/Dコンバータに入力して判定することにします。
「くまモン」に時計を追加したのマイコン回路
(RTCを追加したマイコン回路)
RTCの設定には複数のボタンを使用します。今回新たに3つのボタンを追加しました。設定、UP/DOWNの機能を持たせています。詳細はプログラムソースをご確認頂くとして、この3つのボタンで年、月、日、時刻の設定を行います。従来からのボタンはそのまま表示モード切換え用に使います。
(設定用に追加したボタン)
日付・時計設定はSW2の長押しでスタートします。設定中の表示は8文字2行のOLED表示モージュールのみで行います。年の表示部分から点滅がスタートしますので、SW3/SW4で数字をUP/DOWNして合わせます。SW2で次の項目に移動しますので、手間ですが合わせて下さい。存在しない日付などを選択することも可能ですが、カレンダー処理を入れるとPICマイコンのソフト容量をオーバーするので、あえて入れていません。入力は正しく行って下さい。全ての入力が終わると「0秒」から時計カウントが開始されます。
(マイコンポート割付)
RTCの使い方は仕様書を読んで理解すれば簡単に判ります。特にこの部品の仕様書には使い方がとても丁寧に記載されています。ちなみに次の部分のみアクセスすれば日付・時間の設定、読み出しなどが可能になります。詳細はソースをご確認下さい。
(RTCのレジスタテーブル)
「くまモン」に時計を追加したの表示モード切換え
(表示モードの一覧)
SW1を押すことで表示モードを切換えます。お好きな表示で「くまモン」しましょう。細かな動きについてはソースを見て下さい。
「くまモン」に時計を追加したの大完成への姿
(マイコン・センサー部はほぼ満杯状態です)
(いろんな表情を見せるくまモン)
(センサーを従えて堂々の姿、くまモン、かわいい!!)
ソースファイル一式はこちらからダウンロードして下さい。フォルダごと圧縮しています。全ファイルが入っています。ライタで書き込みする実行ファイルも含まれています。
さあ、くまモンはここまで来ました。ハード的。ソフト的ににもほぼお腹いっぱいといったところでしょうか。でもまだ少しは続けたいような気持ちもありますが・・来年もご期待下さい。

オーディオクラフト工房へ戻る