nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

ARDUINO+RTC8564+(i2c-LCD)+(i2c-CSM-KEY) TIMERもやってみる

ARDUINOのi2cポートへRTC-8564をつなぎ、表示はストロベリーリナックスの16x2のLCDとし、時刻設定用操作スイッチは自作PIC16F1827のi2c接続キャパシティブセンシングキーという組み合わせの時計を試作してます。

まずはRTCに時刻を設定するライブラリーを動かしました。続いてタイマーを動かします。タイマーは0x34に割り当てたキーを触るとタイマー設定画面が現れ、分単位0−59までをUP/DOWNで設定できます。タイマーをスタートさせ、通常時刻画面とするには0x31キーを触ります。

タイマーは一回限りタイマーを使ってます。ただしこのタイマーさんはxx分59秒になるとONするので、長め時間設定でないと駄目かもです。ばんとさんライブラリーの全容がまだ判っていないのですが、rtcのレジスタデータ読み出しテクニックが必要です。

それでお約束時間が来ると#13ポートをON(アルディーノのお約束LEDポート)し、LCDの2行目右側にTimeUpを表示します。10秒後に消灯。きっかけはRTCのINT信号をアルディーノのデジタル2番に入れて割り込みサービスルーチンでフラグをセット、LOOPでフラグを判定待ちするという構造です。したがってRTCライブラリーの割り込みについて確認が取れています。

自作PIC16F1827のi2c接続キャパシティブセンシングキーにはi2cのLCDスレーブ機能も入ってますが、キーとLCDを同時に動かすと間に合わなかったりするので今回はキーだけ使うことにしました。ホームぺージからi2cのメニューに入りPIC16F1827の該当ページに行きます。

RTC-8564NBについてはばんとさんのライブラリーを使っております。またストロベリーリナックスのi2cについてもエレキジャックからの引用です。