2016年6月30日木曜日

電動水鉄砲で猫よけを作る方法


「猫がおしっこをする場所があるので何とかしたい」という声があったので、電動水鉄砲とセンサで猫よけを作ってみました。
面白かったので、作り方を紹介します。

なお、材料費だけで5000円位するので、下記のような超音波タイプで事足りるのであれば、そちらをお勧めします。

猫犬ネズミよけ 乾電池式猫犬ネズミよけ


材料



道具

  • 電動ドリル + 歯6.5mm、4mm
  • ハンダゴテ + ハンダ
  • ワイヤストリッパー
  • ラジオペンチ
  • ドライバー
  • テスター
  • 糸ノコ

作り方

水鉄砲の改造

ネジ9本を外して、分解します。


銃口部分は接着されていたので、こじ開けました。


外装を開きました。


トリガーでスイッチを押すことで、電池の+とモーターを接続する仕組みになっていました。


電池の+-、スイッチのモーター側に接続するワイヤを20cm位それぞれ準備します。


プラスチックが溶けるのを防ぐために、電池の端子はケースから外してハンダ付けしました。


ハンダ付けできたら、端子を元に戻します。


どこからワイヤを引き出そうかと考えていた所、外装の穴を塞いでいたパーツを発見したため、そのパーツを取り外して穴を確保しました。
まるで改造用に準備されたかのような穴です。


本体上部にセンサを設置するため、上部に出っ張っている標準器を組み立てる前に取り外します。
センサの設置場所については、本体下部の方が見た目は良くなるのですが、水が垂れて故障しそうなので上部にしました。


穴からワイヤを引き出しつつ、外装を閉じます。


閉じました。


+-の接触による短絡(ショート)を防ぐために赤と黒の配線をピンヘッダにハンダ付けしました。


水鉄砲の改造は以上です。

回路の作成

このような回路にしました。


実際に組み立てるとこうなりました。


それぞれ説明していきます。

電源

スイッチがONになると、回路に6Vと3.3Vを供給します。


Arduino

3.3VとGNDを接続します。
また、モータ制御にD10を、センサ値の読み取りにD11、D12を使用します。


水鉄砲(モーター制御)

フォトカプラとリレーを組み合わせて、ArduinoのD10からの信号によって水鉄砲を動作させます。
フォトカプラ保護のために、1KΩの抵抗を接続しています。


ややこしいので、リレー単体や、Arduinoとフォトカプラなど、部分的に動作確認しながら回路を作るのが良いと思います。

センサ

猫と人を区別するために、人感センサを上下に設置し、下のセンサだけが反応した時に猫が来たと判断します。
D11で上向きのセンサ、D12で下向きのセンサの値をそれぞれ読み取ります。


プログラムの作成・書き込み

このような振る舞いをさせます。

  1. 5秒毎にセンサの値を取得
  2. 下のセンサにだけ反応があった場合、2秒間水鉄砲を発射

cat_watcher
#define MOTOR_PIN       10
#define UP_SENSOR_PIN   11
#define DOWN_SENSOR_PIN 12
#define LED_PIN         13

boolean up_sensor_val   = LOW;
boolean down_sensor_val = LOW;

void setup() {
  // Serial.begin(9600);
  pinMode(MOTOR_PIN,       OUTPUT);
  pinMode(UP_SENSOR_PIN,   INPUT);
  pinMode(DOWN_SENSOR_PIN, INPUT);
  pinMode(LED_PIN,         OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  up_sensor_val   = digitalRead(UP_SENSOR_PIN);
  down_sensor_val = digitalRead(DOWN_SENSOR_PIN);
  // Serial.println(up_sensor_val);
  // Serial.println(down_sensor_val);
  delay(10);
  digitalWrite(LED_PIN, LOW);

  if ( up_sensor_val   == LOW &&
       down_sensor_val == HIGH ) {
    // Serial.println("ON!");
    digitalWrite(MOTOR_PIN, HIGH);
    delay(2000);
    digitalWrite(MOTOR_PIN, LOW);
    delay(3000);
  } else {
    // Serial.println("OFF");
    digitalWrite(MOTOR_PIN, LOW);
    delay(5000);
  }

}


組み立て

回路を入れるケースは、センサを出す部分を糸ノコで切り取ります。


センサと反対の面に電動ドリルで6.4mmと4mmの穴を開け、スイッチと配線を設置します。


センサはダンボールとビニルテープで固定しました。
写真はテープを貼る前の様子です。


ケースのフタを閉じ、ネジを閉めます。


水鉄砲にケースを固定し、ワイヤを接続します。


水鉄砲とケースの間に隙間があったため、ダンボールを挟みました。


上部のセンサ反応領域はビニルテープなどを貼って調節してください。


電池を入れてスイッチをONにすれば、動くはずです。

動作確認

設置しました。


動作の様子はこちらです。


背の低いものが近づくと動作します。


背の高いものが近づいても動作しません。


たまに誤動作します。


以上です。
不明点があれば、コメントや問い合わせフォームでご連絡ください。
この情報が何かの役に立てば嬉しいです。

参考

人感センサーが届いたので遊んだ

0 件のコメント :

コメントを投稿