気の向くままに辿るIT/ICT
webzoit.netウェブサイトホームページ
IoT・電子工作

Arduinoで『鳥さんトリあえず距離トリたい装置』を作る

ウェブ造ホーム前へ次へ
サイト内検索
カスタム検索
Arduinoって?

Arduinoで『鳥さんトリあえず距離トリたい装置』を作る

Arduinoで『鳥さんトリあえず距離トリたい装置』を作る

2017/04/11

 Arduinoを使って鳥避け(除け)装置『鳥さんトリあえず距離トリたい』を作るページ。

 ベランダにヒヨドリからカラスまで鳥たちがよく遊びに来てくれ、とても、かわいいし、生態系上、食物連鎖上、致し方ないのだが、極小菜園の花や実を全部食べられたり、カーテンを開けるとガラス越しに間近にカラスと対面することが度々あると、ちょっと照れる?から関係を見直す?ためにも、もうちょっと距離をおいて冷却期間?をとりたい。

 鳥避けは、Arduinoを使ったIoT・電子工作を1ヶ月前に始めようと思うに至った理由の1つでもあり、調べてみると鳥に限らず、鳥獣は、音に驚くのは人間も同じでわかるが、なぜか青色LEDを嫌うらしい、また、カラスなど鳥は体内磁石を持っており、天候によっては外部の磁石で体内磁石が狂って方向音痴になったりもするらしいが、巣を作られているわけではないので磁石は意味ないか。。。

 キーは、音、青色LED、磁石か。。。

 ということで、まず、検証時、マイコンには、Amazonマーケットプレイス激安店HiLetgoのArduino UNO R3互換機を使い、ブレッドボード上に焦電(PIR/人体感知/人感)センサーHC-SR501で検知したら複数(とりあえず5個)の青色LEDがランダムに点灯する部分を作ってみた。

 どうも青いLED、色がうまく映らないな。。。(ちなみに自身初のYouTubeアップロード。)

 センサーの感度は、写真上部HC-SR501の上側にあるオレンジ色の左側のポテンショメータで最長範囲3m〜7m、右側のポテンショメータで持続時間を調整可能とのことで今回のバルコニーの場合は、3mあれば十分そうだ。

const int pir = 2;
const int led1 = 13;
const int led2 = 12;
const int led3 = 11;
const int led4 = 10;
const int led5 = 9;
const int led_pins[] = {led1, led2, led3, led4, led5};
const int num_of_led_pins = sizeof(led_pins) / sizeof(led_pins[0]);
 
void setup() {
 pinMode(pir, INPUT);
 Serial.begin(9600);
 for (int i = 0; i < num_of_led_pins; i++) {
  pinMode(led_pins[i], OUTPUT);
 }
}
 
void loop() {
 int led_light = led_pins[random(num_of_led_pins)];
 
 if(digitalRead(pir)) {
   digitalWrite(led_light, HIGH);
   delay(100);
   digitalWrite(led_light, LOW);
 }
}

 作ったと言っても回路は、220Ωの抵抗と青色LEDを連ね、抵抗にプラス、LEDのカソードにマイナス、焦電センサーのOUTを任意のデジタル入力ピン、VCC、GNDをそれぞれプラス、マイナスにつないだだけ、スケッチも人感センサーが届いたので遊んだと趣向を凝らしたLチカ4桁7セグメントLEDで始めるArduinoの融合であり、ほぼそのまま使わせて頂いた(感謝)。

 とりあえずは、実装時には、Pro Miniを使い、フクロウがいるわけでもないので暗くなったら機能させないように後日届く予定の光センサーを加えて、ユニバーサルボードにハンダ付け、電池で動かし、100円ショップあたりでクリアケースを調達、これに収めようと思っているが、まずは、ブレッドボードのまま試し、別途、Liveカメラ(Raspberry Pi/Raspbian+USBカメラ+motion)で日中撮っておいてLEDだけで十分か否か見極めてから実装したいところ。

 ということでPro Miniに置き換え、400穴ブレッドボードと電池ボックスとスリム化して仮設置して(ただ、置いて)みているが、洗濯物を干したりすれば人にも反応してしまうものの、鳥がベランダ付近を飛んでいるとLEDもちゃんと光り、機能している様子、たまたまなのか、近くの木々は相変わらず賑やかなものの、目視できる限りにおいては、今のところベランダへの飛来はなく、カラスとのお見合いもない(会えなきゃ会えないで寂しい!?)。

 ここまでの想定における費用は、個数・金額不問で送料無料の激安互換機ほかを使っている為、Pro Miniが265円、人体(・鳥獣)感知焦電・赤外線センサー145円、光センサー(フォトレジスタ)は単品でも安いが2000円の37センサーキットにあるものを使うと単純計算で50円ちょっと仮に60円として、LEDは3mmx100個130円(5mmx100個でも330円)だから5個使うとして1.3x5=約7円(3.3x5=約17円)、ユニバーサルボードは50mmx70mmx10枚で135円(70mmx90mmx5枚で260円)、1枚まるまる使うにしても約14円(52円)、人件費や器具使用、配線コードや微量なはんだほか雑費は無視するとして約491円〜539円+ケース+電池ボックス+電池、設置場所によってはプラス部材費。

HiLetgo Pro Mini互換機 ATmega328P 5V 16MHz

HiLetgo 人体赤外線感応モジュール HC-SR501

HiLetgo 感光性センサー/光抵抗体モジュール 4ピン

HiLetgo LED 3mm 5種x20個(100個)

HiLetgo ベークライトDIYプロトタイプボード PCBユニバーサルブレッドボード 5x7cm(10枚)

HiLetgo カーボン皮膜抵抗 1/4W 20種x20個 計400個)

HiLetgo 400穴ブレッドボード(8.5x5.5cm)

HiLetgo ジャンパーワイヤー(オス-オス)40本(長さ20cm)

 青色LEDは3.3Vだと微妙なので5V程度使うと仮定、この回路なら整流ダイオードは不要としてトランジスタ(アソートセット170個265円、仮に1個2円)を使えば、電池は1.5V(トランジスタの選定次第で充電池1.25Vでも可)の単3や単4x2本か3VのCR2302ボタン電池x1個、それ用の電池ボックスで済むと思われ、CR2302は100均で2個100円でもあるので50円、今回買ったCR2302用フタ付き電池ボックスは5個300円、1個60円、ということでこれらを使うと仮定すると約112円プラスで603円〜651円+ケース(あれば小さなフタ付きクリアボックスがベスト?)代+設置場所によって部材費と、これだけなら1000円以内に収まりそう。

 LEDだけでいければ、音は使うまでもないが、必要なら以下のように想定している。

 やはり、後日届く予定の37種類のセンサーキットには、マイクロフォンモジュールやアクティブブザー、パッシブブザーもあるので、今時点、できるのか否か不明だが、メロディだと近所迷惑だろうから鳥の声をそのままオウム返しが賢明と思うが、音については、それから考えたい。(SDカードを使う必要ある?もしくはラズパイZeroの方が無難?)

 磁石については、営巣しているわけではないし、方向音痴にさせるのも気の毒なので今のところ使うつもりはない。

 夏場は輻射熱含め、暑さのあまり日除け(農業用遮熱)シートはするようになったものの、鳥除けネットは一年中となると、ちょっと目障りな気がするし、間違ってひっかかって羽を傷めたらかわいそう(なんてことはないか?)なので少なくとも今は考えない方向で。

 当初、屋外使用を想定しているので太陽光はもちろん、蛍光灯でも充電できる程度のソーラーパネルと電気積層コンデンサかリチウムイオン電池などを使って自家発電・蓄電、なんなら二次電池も載せて放置しておけるようにした方がよいかなと思ったが、よく考えてみたら、自然放電は別として常時ONじゃないわけだから電源は電池で十分か。

あれ?鳥が。。。

2017/04/22

 あれから3〜4日ほど試作品を外に置いた際、近くにたくさんいるものの、全く鳥がベランダまで来ない、ただ、その後、置くのをやめてみてもベランダまでは来ない。。。家に来るのに飽きたのか?効き目があったのか?よくわからない。。。

再動作確認

// Func flg
const int sigWork = 6;
// Input Pin of PIR Sensor
const int pir = 2;
// LED Pins
const int led1 = 13;
const int led2 = 12;
const int led3 = 11;
const int led4 = 10;
const int led5 = 9;
const int led_pins[] = {led1, led2, led3, led4, led5};
const int num_of_led_pins = sizeof(led_pins) / sizeof(led_pins[0]);
 
void setup() {
 pinMode(pir, INPUT);
 pinMode(sigWork, INPUT);
 for (int i = 0; i < num_of_led_pins; i++) {
  pinMode(led_pins[i], OUTPUT);
 }
}
 
void loop() {
 int led_light = led_pins[random(num_of_led_pins)];
 
 if(!digitalRead(sigWork)) {
  if(digitalRead(pir)) {
    digitalWrite(led_light, HIGH);
    delay(100);
    digitalWrite(led_light, LOW);
  }
 }
}
2017/06/04

 鳥達のさえずり大合唱は相変わらずで心安らぐも、あれ以来、ベランダに鳥はすっかり来なくなって放置していた、この装置、場所を移動したりした際などに配線が変わってしまったのか、なんとなく電池をつないでみると、なぜか動かず、再確認しつつ、Pro MiniのLEDが慌ただしくなってきたのでマルチメータで電圧を測ると4.7V程度と5VのPro Miniに対し不足気味、しばしば電池ボックスごと他の検証で使うことも多々、というわけで電池も交換、というか、これが原因だったっぽい。

 ついでに37センサーキットにあったCDSを使ったフォトレジスタモジュールも追加、そのままだと暗くなると機能してしまうので逆に暗くなると機能しなくなるようにスケッチに追記・編集してみた。

 こんな感じだから今のところ、基板実装するほどでもなく、400穴ハーフサイズのブレッドボードのまま、微妙な位置関係からフォトレジスタはミニブレッドボードに追加、あと先の動画から言うとUNOからPro Miniに置き換えたものとなっている。

 動画は、フォトレジスタモジュールを手のひらで覆うと機能しない様子を撮ったものも、微妙に薄暗くて見えづらいが、自作アームスタンドの上段にSR501 PIR・赤外線検知センサー、中段が白い400穴ブレッドボード上のPro Mini、5つの青色LED、その下が白いミニブレッドボード上のフォトレジスタモジュール、下奥が単3x4の電池ボックス。

 ちょっと大きくなってしまうが、100均あたりで10cm四方程度のケースがあれば、それに収めることで一応、試作品完成と言えるだろう。

アルミキャップ付きキャニスターに入れた鳥よけ試作回路

設置

[2017/07/23]

 セミの大合唱も始まり、鳥が大好物な実が色づいてきたため、改めて設置してみることにした。

 結局、ケースは防水、吊り下げ、直置きなどの可能性も考慮し、100円ショップSeriaで買ったアルミキャップ付きキャニスターにしてみた。

 ブレッドボード上の試作であり、ジャンパワイヤやワニグチクリップが外れないようにそっと入れた。

 中は雑然としているが、機能するので問題なし。

 焦電センサーHC-SR501は、透明でも1枚噛ますと検知しなくなるようなのでキャニスターに半田ゴテを使って穴をあけ、センサーを出す窓を作ったが、とろけ具合で凸凹になり、やすりがけも結構手間なので適当に済ませ、雑さが残る中、隙間埋めに結束バンドの切れ端をグルーガンで糊付け、ひさし代わりにもよいかとグルーを盛り盛りにしてみた。

 予定変更で電源には、単3電池x4(6V)をPro MiniのRAWに入力、VCCから得られる5Vを使い、LEDは3mmではなく5mmを使うことにし、電池ボックスは単価50円、400穴ブレッドボード118円、ミニブレッドボード単価40円、CDSモジュール(2000円の37センサーキットの1つなので)単価60円弱、ジャンパワイヤは40本100円ちょっと、カーボン抵抗400本240円を5本、LED 5mm 100個250円を5個、ワニグチクリップx4で54円、ケーブル合わせて約60円で約100円として、キャニスター108円、Pro Mini 265円、焦電・赤外線センサー145円で締めて約886円。

HiLetgo 単3x4本/6V リード付きバッテリーボックス(2個)

HiLetgo 5mm LED 5色x各20(計100個)

HiLetgo 小形ワニ口テストクリップ(黒10+赤10)

エーモン 配線コード 0.5sq 20m 赤 2570

HiLetgo ミニブレッドボード SY-170(5個)

フォトダイオード/感光性ダイオード/感光スイッチ/光電検出(5mm 20個)

 尤も400穴ブレッドボードも空いているため、CDSモジュールをそのスペースに載せれば、ミニブレッドボードは不要でキャニスターにも入れやすくなるし、約40円節約できるが、設置場所によっては、光センサーを分離しておくことによってある程度、柔軟に位置や向きを変更できるというのはメリットにもなり得る。

 フォトレジスタであるCdS(硫化カドミウム)セルでなくともフォトダイオードや照度センサとも呼ばれるフォトトランジスタ、フォトダーリントンなどを使えば同じことができ、例えば、先日このフォトダイオードを買ってみたところ20個135円(単価約7円)だったので、これを使えば、更に50円ほどコストカットできることになる。

 ちなみに極めて僅かな差ながら、一時、大小/赤黒各2(8個)108円でダイソーの方が安価だったワニグチ・みのむしクリップ、先日、Amazon/HiLetgoで小型赤黒各10個(20個)280円だった同品が、150円に値下がりし、HiLetgoの方が安くなった。

 sleepはさせていないものの、日中のみ、鳥などが3m内外に飛んできたときのみ作動であとは、Pro Miniの電源LED分含む待機電力、たぶん、きっとμA/hレベルと思われるが、何れにしても数日くらいは(スリープ入れれば当然もっと)もつだろう。

 ところで、あまり深く考えてないで(電気の素人である自身が電子工作を)やっているのだが、昇圧と降圧だとどっちが電池長持ちするんだろ?

 降圧だと余っている間、その分は熱として捨てられ、電源を要するデバイスの電源電圧仕様未満まで下がると電池交換を要することになる、一方、昇圧だと一貫して無駄はないが、ポテンショメータなどで調整が効くなら手作業ながら昇圧レベルを上げることも可能とはいえ、電池の消耗が早いと思われる。。。やっぱり、計算してみないとわからないって話か。。。

[2017/08/10]

 Pro Mini 5V版に単3x4で電圧残量5.3V程度だったかな?をつないだら1週間程度もちました(日中、鳥が近づいたときだけ機能)が、雨はともかく、直射日光の当たる場所に置いていたからか、センサー部取付時、いじり過ぎたからかセンサー感度がいまいちになり、一時撤去、検証も兼ねてセンサー他追加発注中で、今も到着待ち。

 鳥たちも「おい、あそこ、青いの光るから気をつけろよ」と警戒していたのか、それとも連日の猛暑についばむ気力もなかったのか、はたまたターゲットは緑 => 橙 => 赤と色づくことをよく知った上で実で赤くなるのを待っているのか、撤去後から今日まで実は無事でした。

 しかーし、橙に色づいた実がますます増えてきた今日この頃、可愛い鳥の襲来を目撃、1粒くらいよいよと言いたい思いをグッとこらえ、試作機を出してきて再検証してみるとなんのことはない、しばらく放置しておいて機嫌がよくなったのか、元気を取り戻したのか、はたまた電池の消耗具合が原因だったのか、ちゃんと機能することを確認したので再設置。