猫用自動給餌器をリモコン制御に改造、その2 [DIY電気]
過去記事でもご紹介しています「猫用自動給餌器をリモコン制御に改造」の話題です。
PICマイコンを組み込んでいるのですが、過去に作成したPICマイコンをそのまま流用していました。ソフトを変更したくても、書き込みツールを所有しないので、ソフト変更は手も足もでません。
そこで、今回10年ほど休んでいたマイコンプログラムを再開することにしたのです。
コンパイラーだけは所有していたのですが、書き込み器を持ってないので「ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター」を購入しました。
3,000円を切る価格!こんなに安くて入手できるのなら、もっと早くに買っておけばよかっと少し後悔。書き込みソフトは、本家Microchipのサイトから「MPLAB X IDE v5.15」をダウンロードして、インストール中にオプションで、IPE(書き込みソフト)だけ指定してインストールしました。
開梱したところ。大満足の内容。
今までのところ、TVリモコンで蓋を開けることができるようにしています。
ですから、スマート家電リモコンを利用すれば、好きな日時に蓋を開けることができます。
TVリモコンを受信するソフトもこのPICにプログラムしてあります。ソニー製のリモコンでしたら、まず、LEADERパルスという2400μs幅のパルスを検出、その次から12bitか15bitか20bitのデータが送られてきます。600μsだったらゼロ、1200μsだったらイチなのでビットを組み立てていくソフトです。
12bitか15bitか20bitのどれであるかは、タイムアウトで判断しています。
#define TV_BLUE 0x0f004ba4
ソフトの中では、TVの青ボタンはこのように定義しています。
青ボタンは、15bit長で0x4ba4というコードなのです。
今回は、その機能に加えて、TVリモコンで本体にタイマー設定ができるようにしました。
実はこの製品、「PetSafe おるすばんフィーダー デジタル2食分 バージョン2」は、タイマー設定が1時間単位しかできない欠点があるのです。
改良したことは、設定モードに移行したら、TVのチャンネルボタンを2つ押して2時間30分後、というような設定ができます。簡素化するため、あえて10分単位の設定に留めています。
2時間30分の設定であれば、[2],[3]とチャンネルボタンを押して設定します。2時間ちょうどだったら[2],[10]とチャンネルボタンを押せばいいようにしました。チャンネルボタンには[0]が無いので、ゼロは[10]で代用しています。
PICマイコンはタイマー割り込みという機能を常時働かせて、ソフトで時間をカウントするようにしました。10MHzのクロックで動作させているので、基本サイクルはデータシートに(=Fosc/4)と書かれているので、2.5MHzを基本サイクルで計算します。2.5MHzの周期は0.4μs、×8のプリスケーラーを使用して16bitのフルカウントで約209msの割り込みをプログラムしました。
フタがセットした時間より数分違っていてもニャンコには影響ないので、ラフなカウントでいいと思っていたのですが、12時間のカウントをしたところ、なかなか正確です。
動画はこちらです。
「猫用自動給餌器をリモコン制御に改造、その3」へ続く...
PICの書き込み、これ、コスパが最高です
人気ブログランキング
PICマイコンを組み込んでいるのですが、過去に作成したPICマイコンをそのまま流用していました。ソフトを変更したくても、書き込みツールを所有しないので、ソフト変更は手も足もでません。
そこで、今回10年ほど休んでいたマイコンプログラムを再開することにしたのです。
コンパイラーだけは所有していたのですが、書き込み器を持ってないので「ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター」を購入しました。
3,000円を切る価格!こんなに安くて入手できるのなら、もっと早くに買っておけばよかっと少し後悔。書き込みソフトは、本家Microchipのサイトから「MPLAB X IDE v5.15」をダウンロードして、インストール中にオプションで、IPE(書き込みソフト)だけ指定してインストールしました。
開梱したところ。大満足の内容。
今までのところ、TVリモコンで蓋を開けることができるようにしています。
ですから、スマート家電リモコンを利用すれば、好きな日時に蓋を開けることができます。
TVリモコンを受信するソフトもこのPICにプログラムしてあります。ソニー製のリモコンでしたら、まず、LEADERパルスという2400μs幅のパルスを検出、その次から12bitか15bitか20bitのデータが送られてきます。600μsだったらゼロ、1200μsだったらイチなのでビットを組み立てていくソフトです。
12bitか15bitか20bitのどれであるかは、タイムアウトで判断しています。
#define TV_BLUE 0x0f004ba4
ソフトの中では、TVの青ボタンはこのように定義しています。
青ボタンは、15bit長で0x4ba4というコードなのです。
今回は、その機能に加えて、TVリモコンで本体にタイマー設定ができるようにしました。
実はこの製品、「PetSafe おるすばんフィーダー デジタル2食分 バージョン2」は、タイマー設定が1時間単位しかできない欠点があるのです。
改良したことは、設定モードに移行したら、TVのチャンネルボタンを2つ押して2時間30分後、というような設定ができます。簡素化するため、あえて10分単位の設定に留めています。
2時間30分の設定であれば、[2],[3]とチャンネルボタンを押して設定します。2時間ちょうどだったら[2],[10]とチャンネルボタンを押せばいいようにしました。チャンネルボタンには[0]が無いので、ゼロは[10]で代用しています。
PICマイコンはタイマー割り込みという機能を常時働かせて、ソフトで時間をカウントするようにしました。10MHzのクロックで動作させているので、基本サイクルはデータシートに(=Fosc/4)と書かれているので、2.5MHzを基本サイクルで計算します。2.5MHzの周期は0.4μs、×8のプリスケーラーを使用して16bitのフルカウントで約209msの割り込みをプログラムしました。
フタがセットした時間より数分違っていてもニャンコには影響ないので、ラフなカウントでいいと思っていたのですが、12時間のカウントをしたところ、なかなか正確です。
動画はこちらです。
「猫用自動給餌器をリモコン制御に改造、その3」へ続く...
PICの書き込み、これ、コスパが最高です
ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター
- 出版社/メーカー: ANBE
- メディア: エレクトロニクス
人気ブログランキング
コメント 0