名刺サイズの超小型PC「ラズパイ」で遊ぶ(第23回)
レンズ交換式モジュール「High Quality Camera」にシャッターボタンと通知LEDを取り付ける(2/2 ページ)
ボタンを押したらLEDが点灯してシャッターを切る
さて、大詰めまでやってきました。ボタンを押したらLEDが点灯して、シャッターが切れるというプログラムに取り掛かります。配線は先ほどのタクトスイッチ+LEDと同じで、プログラムの内容を少し変えます。ただし基本的にはこれまで組んできたプログラムの位置を少し変えるだけなので、どのような動作になっているのかは分かりやすいかもしれません。プログラムは以下のようになります。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import subprocess
import datetime
import time
LEDPIN = 10 # LEDは10番
BUTTON = 12 # シャッターボタンは12番
GPIO.setmode(GPIO.BOARD) # ピン番号で配線
GPIO.setup(LEDPIN, GPIO.OUT)
GPIO.setup(BUTTON, GPIO.IN)
def shoot(BUTTON):
GPIO.output(LEDPIN, GPIO.HIGH)
time.sleep(0.5)
GPIO.output(LEDPIN, GPIO.LOW)
now = datetime.datetime.now()
DATE = now.strftime('%Y%m%d_%H%M%S')
savephoto="/home/pi/Pictures/"+ DATE +".jpg"
subprocess.call(["raspistill", "-o" ,savephoto])
GPIO.add_event_detect(BUTTON, GPIO.RISING, callback = shoot, bouncetime = 100)
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
print('
Stop!
') # Ctrl+Cで中断
GPIO.cleanup()
このプログラムをこれまでと同様にnanoなどで記述し、「shoot_led.py」のようにファイル名を決めて保存しましょう。
このプログラムですが、ボタンを押したときの動作を「shoot」で定義し、「GPIO.add_event_detect」はGPIOエッジ検出コールバック関数といい、ボタンが押されたときに「shoot」の内容を実行させるものです。「bouncetime」は、連続して動作することで不安定になる「チャタリング」を防止するため、イベントを検出すると指定するミリ秒、ここでは100ミリ秒(0.1秒)は次のイベントを起こさないようにしています。
保存したら以下のように入力して実行してみましょう。
$ python shoot_led.py
ボタンを押したらシャッターが切れ、LEDが点灯したでしょうか。画像は先ほどと同様にホームディレクトリの「Pictures」に保存されています。
ここまで2回にわたりHQカメラの使い方についてご紹介してきました。ラズパイとボタンを箱のようなものに組み込んでモバイルバッテリーで動作させれば、デジカメのような使い方ができるかもしれません。
Copyright © ITmedia, Inc. All Rights Reserved.
名刺サイズの超小型PC「ラズパイ」で遊ぶ
今やスマートフォンアプリで何でも完結できてしまう時代。しかし、一から自分の手でデバイスを作り上げ、試行錯誤しながらアイデアを具現化する楽しさは格別です。この連載では、テーマや用途にあわせてマイクロコンピュータ(マイコン)と呼ばれる名刺サイズの超小型PC「Raspberry Pi」(通称ラズパイ)の活用方法から具体的な工作手順までを紹介します。
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
GMO、ランサム被害にあった顧客に新しいPC提供へ 犯行グループは1人の顧客情報公開か
-
2
資さんうどん、従業員の退職理由などが外部から閲覧可能に 委託先の勤怠システムに設定不備
-
3
NECのルータ「Aterm」、PHP脆弱性の影響なし 設定画面URLの「.php」は無関係
-
4
GMO、不正アクセス実行犯の手がかりに懸賞金 1億5000万円規模
-
5
「楽天トラベル」に不正アクセス 顧客情報最大約260万件など流出か 予約者約3.6万件のクレカ情報も
-
6
auメールで朝から障害 全国で利用しづらい状況に
-
7
メアドを検索→AIで“その人専用フィッシングメール”を生成する手法、クリック率が約2.7倍に 7000人以上で実験
-
8
GMO不正アクセスの犯人サイト、ドメイン停止を確認
-
9
「対策を後回しにしたサーバが軒並み狙われている」 相次ぐ不正アクセスにラックCTOが警鐘
-
10
GMO、攻撃者の公開情報に「アクセスは絶対に控えて」 悪質な拡散者には法的措置を準備
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR