RaspberryPi
raspbian
raspistill
PIRセンサ

人感センサ A500BP (DSUN-PIR, SB00412A-1も) が安いだけでなく Raspberry Pi との相性もバッチリだったので、人感カメラが10分で出来てしまった話。


English version is available here.


はじめに

aitendo の A500BP(450円)は、安い上に、電源電圧 4.5-20V(Raspberry Pi の5V Pin から給電可能), 出力は 3.3V(Raspberry Pi の GPIO 電圧) の ON, OFF と相性もバッチリです。そこで、電子工作一切なしジャンパ線(5本75円) 3本で単に Raspberry Pi につなげて、GPIO をポーリングするだけの簡単な shell を書くと、手持ちのカメラモジュール付き Raspberry Pi model A+ がたったの10分で人感カメラになってしまいました。

つきましては、単なる備忘録ではございますが、大変僭越ながらこの場をお借り致しましてその旨ご報告させていただきます次第にございますれば、効率的でない部分等、至らぬ所をご指摘いただければ幸いに存じます


2015.06.19 補足

A500BP が現在品切れになっているようです。お忙しい中お時間を割いてこの記事を見てくださり試してみようかと思って頂いた積極的な諸兄諸姉におかれましては、せっかくのアクティブなモチベーションに水を刺すような無粋な事になってしまい誠に申し訳ございませんでした

他に aitendo で売っている PIR だと DSUN-PIR(395円)SB00412A-1(495円)の二つがA500BP(450円)と同様に使えておりますので、この二つのセンサーについて合わせて補足としてご報告させて頂きます次第でございますれば、御不興をご容赦いただければ幸いに存じます


2015.06.24 補足

A500BPの販売が再会したみたいです、06.19 のは補足というよりむしろ蛇足だったかも...


A500BP

安くて面白いモジュールが沢山あって、自由に身動きがとれる広い店内と殺伐としていない店員さん達というなにもかも秋葉原らしからぬ(?)ところがみんな大好きなaitendoの PIR(Passive Infra-Red)センサーモジュールです。生き物の発する熱赤外線の分布の変化を検知して 3.3V のオン/オフでしらせてくれる仕組みなのだそうです。この手のセンサーモジュールで業務用だと電工さんのNaPiOn が有名ですが、それと比べて見た目はなんとも無骨ですがずいぶん安いです


RPi との接続

こんな感じで両端がソケットのジャンパ線 3本で RPi と接続します

スクリーンショット 2015-04-22 17.56.28.png

接続は以下のように 5V と +, GPIO と out、GND と - をそれぞれ接続します

RPi
A500BP

DC 5V
+

GPIO
out

GND
-

RPIのピン配列の通り、5V もGNDも GPIO も沢山あります。どれをつかってもいいのですが、例えば 12番ピンのGPIO18番と、そのそばの4番ピンの5V, 6番ピンの GNDを使うとすると配線は下の図のようになります

スクリーンショット 2015-04-22 17.53.42.png


DSUN-PIR (2015.06.19 補足)

並べてみると A500BP(左の赤い方)と外見はとてもよく似ています(右の緑色のが DSUN-PIRです)

スクリーンショット 2015-06-19 16.57.19.png

395円と A500BPよりさらに安く、しかも検知間隔調整だけでなく検知感度調整もできてしまうDSUN-PIR。このセンサも Raspberry Pi との接続は A500BP 同様に 5V と +, GPIO と out、GND と - をそれぞれ接続します

RPi
DSUN-PIR

DC 5V
+

GPIO
out

GND
-

ただ、センサー側のピンの配置は A500BP とは逆なので以下のようになります

スクリーンショット 2015-06-19 16.52.17.png

A500BP の接続に対して

スクリーンショット 2015-06-19 16.58.27.png

DSUN-PI だとこんな感じにセンサーを180度回転させてジャンパ線に繋ぐかんじになります

スクリーンショット 2015-06-19 16.59.05.png

クリーム色のつまみが二つあり、 右側が検知間隔調整左が検知感度調整です。感度は右に回すと敏感になりました。検知間隔は右にまわすとゆっくりになりました

スクリーンショット 2015-06-19 16.59.27.png

shell スクリプトは A500BP と全くおなじです


SB00412A-1 (2015.06.19 補足)

並べてみると A500BP(左の赤い方)より随分小さいです(右の緑色のが SB00412A-1です)

スクリーンショット 2015-06-19 17.00.21.png

このセンサも Raspberry Pi との接続は A500BP 同様に 5V と +, GPIO と out、GND と - をそれぞれ接続します

RPi
DSUN-PIR

DC 5V
+

GPIO
out

GND
-

ドキュメントでは 3.3V でも動作するようなのですが、私が購入した個体がたまたまそうだったのかもしれませんが 3.3V では少し動作が不安定だったので、A500BP 同様、5V で接続したところ、安定して動作しました

スクリーンショット 2015-06-19 16.59.59.png

5Vで使用する場合、RPi 側の配線は A500BP や DSUN-PIR と全く同じです。

検知間隔などの調整ツマミはなく、私の購入した個体は検知してだいたい10秒ぐらいでオフに戻るようでした

shell スクリプトは A500BP と全くおなじです


shell スクリプト

人(とか恒温動物とか)を検知したら撮影日時.jpgというファイル名で写真を撮影する処理は以下のような流れになります


  1. GPIO の初期化。使用する GPIO の番号を /sys/class/gpio/export に書く

  2. GPIO の値を覚えておき

  3. GPIO の値が 0 (Low) から 1 (High) に変わったら写真を撮る

具体的には以下のようになります。私の場合、カメラをびろ〜んとのけぞらせて使っているので -vf と -hf で撮影画像を反転させています

#定数

gpio=18 #GPIO18番を使用
dulation=1 #ポーリング間隔(秒)
width=384 #撮影写真幅
height=288 #撮影写真高さ

# gpio がまだ初期化されていなければ初期化
if [ ! -d /sys/class/gpio/gpio${gpio} ]
then
echo $gpio > /sys/class/gpio/export
fi
value=/sys/class/gpio/gpio${gpio}/value #gpio の値
prev_value=`cat $value`

while :
do
current_value=`cat $value`
if [ ${prev_value} -eq 0 ]
then
if
[ $current_value -eq 1 ]
then
now=`date +%Y%m%d%H%M%S`
raspistill -o $now.jpg -w $width -h $height -t 1 -vf -hf
fi
fi
prev_value=${current_value}
sleep ${dulation}s
done

撮影時のカメラモジュールの赤い LED はこの様に消す事も可能です

A500BP は人等を検知して Hight 状態になってから一定時間後に自動で Low 状態にもどります。この時間は 3秒 〜 300秒の範囲で調整可能で、下の写真の右下のクリーム色の部分をプラスドライバで左にまわしきると3秒ぐらい、右にまわしきると300秒ぐらいになります。微調整は難しいです

スクリーンショット 2015-04-22 18.28.01.png


考察

 日本はこれからさらに少子高齢化が進み、不足する労働力を自動化、ロボット化で乗り越えていかなければいけないのだそうです。

 とは言え、それが高価だったり、手間が大変だったりするようではそんな事もなかなか進まず世の中が大変な事になってってしまうかもしれません。少なくとも高価な製品の購入や業者さんへの発注が必要なようでは、小さな会社や予算規模の小さい団体、それから個人等、私達のような小さき者達は対応できずにどんどんおいていかれることになってしまうのでしょうか

 Raspberry Pi で遊んでいると、どうもそうではなさそうな気がしてきてしまいます。例えば人感センサーとかがこんなに安くてこんなに簡単に使えてしまった事実を鑑みるにつくづく、もしかすると皆様も薄々感じられていることなのかもしれませんが、今、世の中にはすばらしいパーツとコードがキラキラと沢山提供されていて、それを組み合わせるだけで自分で作れてしまう物は結構あって、多くの課題が案外そんなことで解決してしまうのではないか、私達小さき物達の未来も意外と明るいのではないか、と若輩者のわたくしもそのように感じ始めてしまいました今日この頃でございます。それにしても Raspberry Pi はすばらしい