汎用タイマーの構想」に基づいて、RRP1320-1-03 を作りました。 内臓クロックを使ったタイマーですから、3%程度の誤差があるとは思いますが、使える場面が多いと思います。 以下のように動作します。 <PICデバイス=18F1320>

(1)タイマー起動直後に、サブルーチン(A)を CALL します。
(2)プレタイマーで0秒~18時間までのプレタイマーが動作します。
(3)プレタイマー動作完了直後に、サブルーチン(B)を CALL します。
(4)続いて0.1秒~(1時間-0.2秒)までのイベントタイマーが動作します。
(5)イベントタイマー動作完了後に、サブルーチン(C)を CALL します。
(6)(3)の開始から0.2秒~(1時間-0.1秒)のイベントピッチが終了します。

 (3)~(6)の動作は1回~9回まで、また電源OFFまで繰り返し実行可能です。
 (1)~(6)の動作は1回~9回まで、また電源OFFまで繰り返し実行可能です。

プレタイマー、イベントタイマー、イベントピッチと言った時間や、繰り返し回数と言った定数は所定の範囲内で変更可能です。 メインソースにある DE 疑似命令の値を変えてビルドすることで変更します。

赤外線リモコンのボタン操作でタイマーを起動するように作っていますが、電源ONで起動やセンサー入力に応じて起動するなど容易に応用できると思います。

例えば「12時間後に10分間の散水を行う(電磁弁開閉)」、「5分後にピピピピピっとブザーを鳴らす」、「ドアが開いたらLED照明を点灯させて、10分後に消灯する」と言った応用が考えられます。

DSC00162

LCDの上下に青色 LED が見えますが、上の LED はタイマー起動前はゆっくり(1秒点灯、1秒滅灯)点灯し、タイマー起動中は早く(0.5秒点灯、0.5秒滅灯)点滅します。 動作状態のインジケーターと言う位置づけです。 なお、RRP-1320-03 はLCD 無しでも動作します。

下の LED はサブルーチン(A)で消灯、サブルーチン(B)で点灯、サブルーチン(C)で消灯させるサンプルプログラムで制御しています。 この LED は赤外線リモコンの受光面直近(約2cm)にあるのですが、リモコン受信に影響が無いようです。 赤外線リモコン受光ユニットは良く出来ていますね。

動作確認とドキュメント整理と言った準備を終え、ドキュメントとプロジェクト一式を以下のサイトでダウンロード販売中です。

以下を含む ZIP ファイルです。
 (1)全てのアセンブラ・ソースを含むプロジェクト一式
 (2)回路図 PDF
 (3)部品表 PDF
 (4)ブレッドボード配線図 PDF
 (5)取扱説明書 PDF


楽々PIC ダウンロード・コーナー
 RRP1320-1-03-1-Z  ← こちらで販売中です。

rrpdlc


以下は汎用タイマー関連記事のインデックスにします。

汎用タイマーの構想 
 応用例の一つとして、汎用タイマーを作ってみようと思います。 内臓クロック 8MHz だけで動作する為、高精度とは言えませんがおよそ5分間隔でブザーを鳴らしたりLEDを点滅させたいと言った用途は多いと思います。

タイマー定数設定 
 汎用タイマー定数は、下図のように疑似命令 DE で定義され EEPROM に記録しています。


楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。