ラズパイのタクトキーをシャッターに
前回のWEBカメラはPythonのプログラムを実行したときに写真が撮れるというものだった。
その前の時にはタクトキーでLEDをチカチカさせるということをやった。
目の前にWEBカメラとタクトキーとLEDが載ったブレッドボードが目に入って、そうだこのままタクトキーをカメラのシャッターにすれば良い、と思い立った。
思い立たない方がおかしかったのかもしれないけど。
Pythonのプログラムも両方とも実験済み。
今回は、少し手抜きな感じ。装置も組み込まれている、プログラムもコピー&ペースト。
import sys import subprocess import datetime import RPi.GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BCM) GPIO.setup(25,GPIO.OUT) GPIO.setup(24,GPIO.IN) def webcam(): boolean = subprocess.call(cmd, shell=True) if boolean == 0: pass else: subprocess.call(cmd, shell = True) try: while True: today = datetime.datetime.today() now = today.strftime("%y%m%d%H%M%S") cmd = "fswebcam -r 1280x960 /home/pi/camera/%s.jpg" % now if GPIO.input(24) == GPIO.HIGH: GPIO.output(25,GPIO.HIGH) webcam() sleep(1) else: GPIO.output(25,GPIO.LOW) sleep(0.01) except KeyboardInterrupt: pass GPIO.cleanup()
少し長いが2つのプログラムを貼り合わせたもの。
写真画像は1280×960とし、撮影の後1秒のsleepを取った。画像データを保存するための時間を考えたもの。
本来どの暗い必要なのか、また調べておく必要がありそう。
エラーだぞ、同じ写真が3枚載ってるぞー!
いいえそんなことはありません。秒針をよく見てください。
数秒ずつ進んでいるでしょう。
タクトキーをシャッターにして3枚連続して撮影したものです。
LEDが光っているのは、撮影後の保存期間であることを示して居ます。
その先にあるのがタクトキー。今回のシャッターです。