遠くから見るとこんな感じ。(なんでしょう?)
近くからみるとなにやら箱に穴が2つ空いています。
箱(というか弁当箱に使うようなタッパー)を上から見るとレゴブロックが見えます。
ふたを取るとこんな感じ。
レゴで作った枠にラズベリーパイがきれいに収まっています。(今回使ったのは、Raspberry Pi A+です。通常のRaspberry Pi2などより小さく正方形です。ただしUSBアダプタは1箇所のみ)
ラズベリーパイはセンサーをつけると色々と応用範囲が広がります。
今回監視カメラを作ってみました。
使った部品は
・弁当箱(タッパーがきっちりふたが出来ていい感じです!)
・Raspberry Pi A+
・Piカメラ
・人感センサー(aitendoさんで購入できるSB00412A-1というタイプです)
ちなみに接続方法はこちら
人感センサ A500BP (DSUN-PIR, SB00412A-1も) が安いだけでなく Raspberry Pi との相性もバッチリだったので、人感カメラが10分で出来てしまった話。
に詳しく出ていました。
左がPiカメラ、右が人感センサーです。
わたしとしては、不器用なので、
弁当箱にドリルで穴をあける作業や
LEGOでラズパイを固定する枠など
を作るのに時間がかかってしまいました。
そうそう、弁当箱に空いた穴とセンサーやカメラのパテ埋めにKOKUYOの『ひっつき虫』を使いました。(この為に買ったわけではないのですが、以外に隙間がなくなって便利でした)
LEGOにラズパイをセット!(かっこいい!)
ちなみにWiFiに対応させました。
こうすることで撮影した写真をWindowsなどのパソコンからも簡単に閲覧やコピーが出来て便利です。
プログラム部分はPythonで作成。(実行はsudo python sensorCamera.py)
sensorCamera.py
# ------------------------------------------------------------------------------ # Sensor Check Program for Python2 # ------------------------------------------------------------------------------ import RPi.GPIO as GPIO import time import datetime import picamera from time import sleep # GPIO pinIn = 19 pinOut = 18 GPIO.setmode(GPIO.BCM) GPIO.setup(pinIn, GPIO.IN) GPIO.setup(pinOut, GPIO.OUT) # Camera Setting camera = picamera.PiCamera() width = 640 height = 480 rotation = -90 def takePhotoToDateFile(): # take photo time d = datetime.datetime.today() takeYear = str(d.year) takeMonth = str(d.month).zfill(2) takeDay = str(d.day).zfill(2) takeHour = str(d.hour).zfill(2) takeMinute = str(d.minute).zfill(2) takeSecond = str(d.second).zfill(2) takeTime = takeYear + takeMonth + takeDay + "_" + takeHour + '-' + takeMinute + '-' + takeSecond # capture camera.rotation = rotation camera.resolution = (width, height) camera.capture('img' + takeTime + '.jpg') # main while True: sensor = GPIO.input(pinIn) print "Sensor = ", sensor if sensor == True: GPIO.output(pinOut, True) # LED ON # take photo camera.start_preview() time.sleep(1) takePhotoToDateFile() time.sleep(9) else: GPIO.output(pinOut, False) time.sleep(1) GPIO.cleanup()
19行目、20行目は撮影画像のサイズです。
21行目は、Piカメラの撮影画像を回転しています。(わたしの場合は、横向きに固定してしまったためこうしてあります。適当に調整してください)
52行目の time.sleep(9)は撮影後に9秒おいてから再度センサーでのチェックに入るようにしています。同じような画像が何枚も撮影されてしまうためこうしました。(ここも適当に調整してみてください)
さて、見張り番をしようか。
;)
スポンサーリンク
コメント