Timer Cameraと人感センサで畑に侵入する獣の写真を撮影する

「Timer Camera」に人感センサを取り付けて、獣が畑に侵入したときに自動で写真を撮影できる、低電力のカメラデバイスをつくりたいと思っています。

以下のような仕様のものを考えています。

  • 夜間で、なおかつ人感センサが反応したときだけカメラが写真を撮影する。
  • 最小の撮影間隔は30秒とする(獣がカメラの前にずっといても、30秒に1枚しか撮影しない)。
  • 写真撮影時のみ、1〜2メートル先を照らせる程度の小型のLEDライトを点灯させる。
  • 写真撮影時以外はカメラ自体の電源を落とすことで低電力化する。

先日、このカメラデバイスに取り付けるために、100円ショップで購入した「センサーライト」を改造しました(記事は こちら)。
周囲が暗く、なおかつ人感センサが反応したとき、センサ出力「SO」が約30秒間にわたり「High」を出力します。また、外部からLEDライト用電源「LI」を供給することで、LEDを点灯させることもできます。

今回は、このセンサーライトでTimer Cameraを制御する方法を検討してみます。

センサの出力を直接マイコン(Timer Camera)に取り込もうとすると、Timer Cameraを常時動作させておかなければなりません。
Timer Cameraは低電力なカメラデバイスですが、これは写真撮影をしないときにマイコンへの電源供給を遮断することによって実現しています。Timer Cameraを常時動作させてしまうと低電力のメリットを享受できません。
よって、センサ出力を直接Timer Cameraに取り込むのではなく、Timer Cameraの外部に、センサ出力によってTimer Cameraに供給する電源をON/OFFする仕組みをつくる必要があります。

これに対応するため、当初はトランジスタを使って電源をON/OFFするための回路をつくろうと考えました。
しかし、少し調べていたところ「ロードスイッチIC」という部品があることを知りました。見つけたのは秋月電子で販売している「TCK106AF(販売コード:116071)」という製品です。「CNT」信号が「High」の時のみ「VOUT」に最大出力電流1Aの電源を出力できるもので、さまざまな保護機能も搭載されています。ディスクリート部品で構成したスイッチよりも小型で低消費電力とのことで、何より部品ひとつで所望の機能を実現できることが魅力的です。
今回はこの「ロードスイッチIC」を試してみることにしました。

電源としては「単三型Ni-MH電池×4本」を使うことにします。回路構成は以下のようになります。

獣を検知すると、人感センサの出力「SO」は約30秒間にわたり「High」を維持し、その間はTimer Cameraに「VO」が供給されます。Timer Cameraは、通常は30秒以内に写真撮影の一連の処理を完了できるようにプログラミングしていますが、何らかの理由で処理に想定以上の時間がかかると、カメラの処理途中に「SO」が「Low」になり電源が遮断されてしまう可能性があります。これを避けるために、Timer Camera動作中はTimer Camera信号出力から「High」を出力し続けるようにしておき、それも「TCK106AF」の「CNT」端子につなぐようにしました。

次にセンサーライトに搭載されているLEDについてです。
このLEDにTimer Camera用の電源をつないでしまうと、人感センサ出力「SO」が「High」を出力している約30秒間にわたりLEDが点灯し続けてしまいます。これだと消費電力が大きくなり、なにより写真を撮影する前に獣が逃げてしまいそうです。
これを避けるため、「TCK106AF」をもうひとつ準備し、こちらの「CNT」端子を写真撮影時のみ「High」にし、その時だけLEDを点灯させることにします。
回路構成は以下のようになります。

まとめると、回路構成は以下のようになります。
実際には、ノイズ対策のために電源や制御信号にコンデンサも追加しておくことにします。

また、LEDライトを少しでも明るくしたかったので、100円ショップでこちらのLEDライトも購入しました。
分解してグランド側に4.7Ωの抵抗をつなぎ、先ほどのセンサーライトの「LI」ー「GND」間と並列に取り付けることにしました。

なお、Timer Cameraへの電源供給方法についてですが、Timer Cameraの回路図を確認したところ、Timer CameraのGROVEポートの電源端子は、Timer Camera内で電源制御を行うパストランジスタよりも先につながっており、直接3.3V用レギュレータの入力になっています。つまり電源をGROVEポートに接続すると、電源が供給されている間はTimer Cameraの3.3V系部品が常時動作することになります。
今回はTimer Cameraの外部で電源制御を行うので、このGROVEポートからTimer Cameraに電源供給することとします。

このデバイス構成での消費電流値を測定してみます。
Timer Cameraには「起動したら写真を一枚撮影し、その画像をWi-Fi経由でWebサーバに送信、処理が完了したら速やかにスタンバイモードに移行」というプログラムを書き込んでいます。なお、通常の写真撮影処理の場合は、起動後にホワイトバランスの自動調整を行うために数秒の待ち時間を設けているのですが、今回は「夜のみの撮影なので色味は関係ない」「獣を検知してからできるだけ短時間で写真撮影したい」「消費電力を少しでも低減したい」という理由で、待ち時間を設けないこととします。Timer Camera動作中は「4」番ピンで「High」を出力、写真撮影時のみ「13」番ピンで「High」を出力します。
「INA226PRC」という電流センサモジュールをつかって、消費電流値の測定し、推移をグラフ表示してみました。

Timer Cameraが起動して1秒後あたりで一瞬だけ800mA程度の電流消費がありますが、この時にLEDライトを点灯させ、写真を撮影しています。
その後、画像データの送信処理などを行い、起動後13〜14秒あたりで全ての処理が完了し、スタンバイモードに移行しています。
ただ、その後も起動後31秒あたりまで22mA程度の電流消費が継続しています。これは主に、Timer Cameraに搭載されているカメラモジュール「OV3660」による消費です。Timer Camera内のマイコン(ESP32)がスタンバイに移行しても、電源供給は継続しているため、その間はカメラモジュールの電流消費が継続します。
起動後31秒あたりで人感センサ出力「SO」が「Low」に変化し、Timer Cameraへの電源供給がストップします。これ以降は電流消費はほぼゼロになります(今回の測定結果では、若干のマイナスになりました)。
もしも写真撮影後も獣が居続けた場合は、この22mAの電流消費が30秒間継続し、その後に再度写真が撮影されることになります。

この1枚の写真を撮影するための一連の処理(31秒間 ≒ 0.00861時間)中の平均消費電流値は「75.6mA」となりました。
容量2000mAhの単三型Ni-MH電池4本で動作させた場合、

2000mAh / ( 75.6mA x 0.00861h ) ≒ 3072.6

と、およそ3000枚の写真を撮影できる計算になります。
これだけの枚数の写真を撮影できるなら、十分に獣の侵入の観察に使えそうです。

それでは組み立てていきます。
各部品は小さいブレッドボードで接続し、センサーライトを除く全てのパーツをフタが透明な防水ケースに収納します。
センサーライトのみ、元々のケースのままで雨ざらし状態になります。防水処理されていませんが、なにしろ材料費は330円、改造もそれ程の手間ではないので、すぐに壊れても問題ありません。
畑に設置している他のTimer Cameraと同様に、小型のソーラーパネルも接続し、Ni-MH電池に少しずつ充電できるようにしておきます。

後日、追加でもう1台製作しました。
こちらは小さいユニバーサル基板で部品を接続し、より小さい防水ケースに収納しました。電池は単四型Ni-MH電池4本です。これでもおよそ1000枚の写真を撮影できるはずです。

製作したカメラを畑に設置しました。
数日後に確認したところ、毎晩数枚の写真が撮影されていました。獣は確かに畑に侵入しており、それを検知することはできているようです。
ただ、サーバに保存された画像を見たところ、何らかの獣がいることは分かりますが、それが何者かまでは判別できないというような画像ばかりです。

デバイスの構成としては概ねうまくできているようですが、LEDの明るさなど、もう少し調整が必要なようです。


なお、私がM5Stack、M5StickCの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


ごく基本的なところから、かなり複雑なスケッチや、ネットワーク接続など、比較的高度なものまで、つまづかずに読み進めていけるような構成になっており、大変わかりやすい本です。


このサイトで書いている、M5Stackシリーズ(M5Stack、M5StickCなど)に関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のM5Stackシリーズの記事にも興味のある方は「さとやまノート」をご覧ください。