猫除け装置その1
はじめに
いつのころからか、近所の野良猫たちがしょっちゅう庭にやってきては糞をしていくようになりました。
なぜこうも高頻度なのか不思議でしたが、庭に植えたキウイの手入れ方法をWeb検索していて謎が解けました。
キウイは「マタタビ科マタタビ属」で、マタタビ同様猫の大好きな匂いがするらしいのです。
対策として猫忌避剤や超音波猫除け装置を試しましたが時間が経つにつれ効果が薄れました。
他に何かいい方法はないかと調べたところ、youtubeで猫除けの水噴射装置が紹介されていました。
近所で猫を飼っている人からは「猫は水をかけられるのが嫌いで叱るときには霧吹きで水をかけると効果大」とも聞きました。
そこで私も芝生用の散水装置にセンサを追加し、それでカバーできない通路には電池駆動の水噴射装置を作って設置しました。
効果抜群でピタッと糞被害がなくなり、猫がだんだん慣れて平気になるという事もないようです。
というわけで他の工作同様、PICマイコンや3Dプリンタで作った猫除け装置(2種)について紹介します。
なぜこうも高頻度なのか不思議でしたが、庭に植えたキウイの手入れ方法をWeb検索していて謎が解けました。
キウイは「マタタビ科マタタビ属」で、マタタビ同様猫の大好きな匂いがするらしいのです。
対策として猫忌避剤や超音波猫除け装置を試しましたが時間が経つにつれ効果が薄れました。
他に何かいい方法はないかと調べたところ、youtubeで猫除けの水噴射装置が紹介されていました。
近所で猫を飼っている人からは「猫は水をかけられるのが嫌いで叱るときには霧吹きで水をかけると効果大」とも聞きました。
そこで私も芝生用の散水装置にセンサを追加し、それでカバーできない通路には電池駆動の水噴射装置を作って設置しました。
効果抜群でピタッと糞被害がなくなり、猫がだんだん慣れて平気になるという事もないようです。
というわけで他の工作同様、PICマイコンや3Dプリンタで作った猫除け装置(2種)について紹介します。
猫センサ+芝生散水装置
芝生用の散水装置に猫センサを追加しました。
PICマイコンを使った制御回路で電磁弁を操作し、複数の散水ノズルから広範囲に水を噴射します。
5分とか指定した時間だけ散水するのがメイン機能ですが、 それとは別に2か所に設置したセンサが猫を検知すると数秒間水を噴射します。
装置全体の構成は図のようになっています。
PICマイコンを使った制御回路で電磁弁を操作し、複数の散水ノズルから広範囲に水を噴射します。
5分とか指定した時間だけ散水するのがメイン機能ですが、 それとは別に2か所に設置したセンサが猫を検知すると数秒間水を噴射します。
装置全体の構成は図のようになっています。
なお猫センサ回路の出力は最大定格30V 5AのNMOSトランジスタによるプルダウン出力にしてあります。
ですので、散水タイマー機能などが不要で猫除けのみの場合は図のように直接電磁弁を接続することもできます。
プルダウン出力なので、猫センサはいくつでも並列接続でOKです。
ですので、散水タイマー機能などが不要で猫除けのみの場合は図のように直接電磁弁を接続することもできます。
プルダウン出力なので、猫センサはいくつでも並列接続でOKです。
後述の「注意」に書いたような何らかの誤検出による連続噴射の確率を減らすため、散水制御回路のプログラムで1回噴射したら次の噴射まで時間間隔をあけるようにしています。
さらにセンサ出力がすこしの間連続してから噴射するようにしています。
開発初期にキウイの下にセンサを付けてトレイルカメラを仕掛けておいたら、夜中に猫が水の噴射に驚いて逃げる様子が撮れていました。
センサの感度は結構高いことがわかったので、この後センサ位置を変更して検出範囲を広げました。
猫センサ
センサは秋月電子通商の焦電センサPaPIRs(VZ) (通販コードM-09751)を使っています。
これは白色ですが、黒色もあってどちらも同様に使えます。
センサは人と猫を区別するため1か所に2個使い、それぞれが上半分と下半分の視野をセンスするように視野制限カバーを付けています。
テスト時にセンサ検出状態がわかるようにΦ3mmの緑LED(上センサ検出)と赤LED(下センサ検出)をつけています。
これは白色ですが、黒色もあってどちらも同様に使えます。
センサは人と猫を区別するため1か所に2個使い、それぞれが上半分と下半分の視野をセンスするように視野制限カバーを付けています。
テスト時にセンサ検出状態がわかるようにΦ3mmの緑LED(上センサ検出)と赤LED(下センサ検出)をつけています。
このセンサの出力は高インピーダンスなので電磁弁はもちろん、長距離配線を駆動するのも無理です。
そこでセンサケース内に8ピンの小さいPICマイコン+Nch MOSトランジスタを入れてバッファしてから長距離配線で散水制御回路に接続しています。
プルダウンのトランジスタ出力(オープンドレイン)方式なので、複数センサの出力を並列接続で散水制御回路に入力できます。
そこでセンサケース内に8ピンの小さいPICマイコン+Nch MOSトランジスタを入れてバッファしてから長距離配線で散水制御回路に接続しています。
プルダウンのトランジスタ出力(オープンドレイン)方式なので、複数センサの出力を並列接続で散水制御回路に入力できます。
猫センサ回路
参考情報として、回路図、裏面基板パターン、裏面部品配置、表面基板パターン(ジャンパ配線図)、表面部品配置、ドリルマップを入れたpdfを添付します。
表面の配線は2本なので裏面のみ片面感光基板でパターンニングし、表面の配線はジャンパ配線で代用しました。
XHコネクタで3ピンで良いところに4ピンを使っているのは単に手持ち在庫に合わせただけです。
抵抗やコンデンサ、MOSトランジスタは表面実装部品を使っています。(千石電商や秋月電子通商で購入)
表面の配線は2本なので裏面のみ片面感光基板でパターンニングし、表面の配線はジャンパ配線で代用しました。
XHコネクタで3ピンで良いところに4ピンを使っているのは単に手持ち在庫に合わせただけです。
抵抗やコンデンサ、MOSトランジスタは表面実装部品を使っています。(千石電商や秋月電子通商で購入)
猫センサケース
センサケースの3Dプリント用データも添付します。
ws-box-b.stl : 前面プレート取付用ねじ穴をΦ3.2ドリルで後加工。基板取り付けネジ用の穴をM3タップ加工。
ws-box-m.stl : M3タップ加工し、ws-box-fに接着。
ws-box-f.stl : サポート材付加指定で3Dプリント。LED用の穴をドリルで後加工。
センサとLEDはグルーガンで防水を兼ねて接着しました。 基板取付用のM3ネジは長いものを使って裏面に出し、ナットで固定用の部品または針金等を付けて適当な高さに設置します。
ws-box-b.stl : 前面プレート取付用ねじ穴をΦ3.2ドリルで後加工。基板取り付けネジ用の穴をM3タップ加工。
ws-box-m.stl : M3タップ加工し、ws-box-fに接着。
ws-box-f.stl : サポート材付加指定で3Dプリント。LED用の穴をドリルで後加工。
センサとLEDはグルーガンで防水を兼ねて接着しました。 基板取付用のM3ネジは長いものを使って裏面に出し、ナットで固定用の部品または針金等を付けて適当な高さに設置します。
猫センサプログラム
センサケース内のPICマイコン(PIC12F1501-I/P)用コンパイル済みプログラムを添付します。
PIC12F1501_Cat_Sensor.X.production.hex
上のセンサが反応する毎にプログラムは10秒間、下のセンサ出力を無視することで人が来たときの散水を防止します。
また下のセンサが反応しても即出力はせず2秒間待機し、その間に上のセンサの反応がない場合のみ5秒間Nch MOSトランジスタが出力をプルダウンします。
MPLAB のソースファイルを含むプロジェクトファイルをzip圧縮したものも添付します。
上記のタイミング設定は、プログラムソースのmain.c内の以下のdefine文を書き換えてMPLAB X IDEでコンパイルしPICに書き込むことで変更できます。
時間計測(ダウンカウント)は1msec毎の割り込み処理で行なっているので、数字の単位はmsecです。
PIC12F1501_Cat_Sensor.X.production.hex
(参考:PICのプログラム書込み方法)
上記HEXファイルをダウンロード(右クリック-->名前を付けてリンク先を保存)してローカルPCに置きます。
基板に電源を供給し、MPLAB SNAP等のPIC書込みツールをPCと基板に接続します。
MPLAB IPEを起動してチップの型番 PIC12F1501とダウンロードしたHEXファイルを指定しconnectボタンを押します。
左上[settings]をクリック-->Release from Resetをクリックしてから【注:Hold on Reset解除】
programボタンを押して書き込みます。
書き込みツール等については「PICマイコンと開発ツール」のページやWeb情報を参照してください。
上記HEXファイルをダウンロード(右クリック-->名前を付けてリンク先を保存)してローカルPCに置きます。
基板に電源を供給し、MPLAB SNAP等のPIC書込みツールをPCと基板に接続します。
MPLAB IPEを起動してチップの型番 PIC12F1501とダウンロードしたHEXファイルを指定しconnectボタンを押します。
左上[settings]をクリック-->Release from Resetをクリックしてから【注:Hold on Reset解除】
programボタンを押して書き込みます。
書き込みツール等については「PICマイコンと開発ツール」のページやWeb情報を参照してください。
上のセンサが反応する毎にプログラムは10秒間、下のセンサ出力を無視することで人が来たときの散水を防止します。
また下のセンサが反応しても即出力はせず2秒間待機し、その間に上のセンサの反応がない場合のみ5秒間Nch MOSトランジスタが出力をプルダウンします。
MPLAB のソースファイルを含むプロジェクトファイルをzip圧縮したものも添付します。
上記のタイミング設定は、プログラムソースのmain.c内の以下のdefine文を書き換えてMPLAB X IDEでコンパイルしPICに書き込むことで変更できます。
時間計測(ダウンカウント)は1msec毎の割り込み処理で行なっているので、数字の単位はmsecです。
#define guard_period 10000
#define wait_period 2000
#define output_period 5000
#define wait_period 2000
#define output_period 5000
芝生散水パーツ
電磁弁(常時閉鎖、12V 300mAで開、約2000円)は通販で購入しました。
ソレノイド部の雨除けと水道の支柱に針金で取り付けるための部品を3Dプリンタで作り、ステンレスのM4ネジで電磁弁に取り付けました。
3Dデータは
solenoid_bottom_cap.stlと
solenoid_cover.stlです。
3Dデータは
solenoid_bottom_cap.stlと
solenoid_cover.stlです。
接続ホースやホース接手はホームセンターで売られていた洗濯機用や散水用を使いました。
複数個所から散水するため太いホースから複数の細いホースに分岐させて散水ノズルにつないでいます。
複数個所から散水するため太いホースから複数の細いホースに分岐させて散水ノズルにつないでいます。
太いホースから細い散水チューブ(1本)につなぐコネクタに追加の穴を開けて複数の細いチューブを差し込みました。
きつめの穴にチューブを差し込み、切り口をライターであぶると少し外径が広がるので抜けなくなります。
きつめの穴にチューブを差し込み、切り口をライターであぶると少し外径が広がるので抜けなくなります。
散水ノズルは細いチューブ用の小型のものを購入しました。
これを7か所に設置しています。
水は半円形に3mぐらいまで届きます。
これを7か所に設置しています。
水は半円形に3mぐらいまで届きます。
注意点
雑草などが風で葉が揺れて太陽光を反射すると、センサが反応してしょっちゅう水が噴射されてしまいます。
芝生の葉が揺れるほどの強風が吹いた場合も誤噴射の可能性があります。
エアコン室外機のFANや温度差のある排気も誤作動原因になります。
逆に樹木の葉が揺れて太陽光を反射すると上部視野のセンサが反応して水が噴射されにくくなります。
そこで私は対策として以下を行ないました。
1.センサの視野に入る雑草は抜く。
2.風で揺れるものがある場所はセンサを設置しないか、そのようなものが視野に入らない向きにセンサを設置する。
または部分的に黒いテープやアルミ箔テープで問題となる方向のセンサ視野をふさぐ。
3.散水制御回路側には明るさのセンサを付けてあったので、昼間は1回噴射したら数十分噴射を禁止した。
夜は噴射後の禁止時間を昼間より短くした。
芝生の葉が揺れるほどの強風が吹いた場合も誤噴射の可能性があります。
エアコン室外機のFANや温度差のある排気も誤作動原因になります。
逆に樹木の葉が揺れて太陽光を反射すると上部視野のセンサが反応して水が噴射されにくくなります。
そこで私は対策として以下を行ないました。
1.センサの視野に入る雑草は抜く。
2.風で揺れるものがある場所はセンサを設置しないか、そのようなものが視野に入らない向きにセンサを設置する。
または部分的に黒いテープやアルミ箔テープで問題となる方向のセンサ視野をふさぐ。
3.散水制御回路側には明るさのセンサを付けてあったので、昼間は1回噴射したら数十分噴射を禁止した。
夜は噴射後の禁止時間を昼間より短くした。