Arduinoでカメラのタイムラプス/インターバル撮影用赤外線リモコンをつくる


一眼レフカメラって最近はタイムラプス撮影に対応してるけど、ちょっと前の型だと対応してなかったりする。

そんな時に、タイムラプスを作るためのインターバル撮影をする赤外線リモコンを自作したのでメモ。

用意するもの

  • Arduino(GingerBread)
    ...Uno、Pro mini、Micro、ESP、なんでもよいですが、ここではPro Mini互換でリチウムイオン充電池を直接つなげるGinger Bread( http://ginger-you.com/bread/ )を使います。

  • FTDI USBシリアルアダプタ/ USBケーブル
    ...GingerBreadをPCと接続するためのアダプタとケーブルです。おすすめはこちら( https://www.switch-science.com/catalog/343/
    ※他のarduinoを利用する場合は不要です。

  • 赤外線LED(OSI5LA5113A)
    ...1A程度流せるものを使いましょう。ここではOSI5LA5113Aを使います。

  • トランジスタ(2sc2655)
    ...1A程度流せるものを使いましょう。ここでは2sc2655を使います。

  • カーボン抵抗(680Ω)
    ...トランジスタに適量の電流を流すために必要です。

  • 半固定抵抗(1kΩ) ※オプション
    ...赤外線LEDの出力を調整したい方はこれをはさみます。

ハードウェア(回路)

回路はこちらを参考ににさせていただきました。
https://macsbug.wordpress.com/2015/11/29/赤外線ledリモコンの制作/

ポイント
・赤外線LEDのアノードはVCC、カソードはトランジスタのコレクタへ
・マイコンの13番ピンは、680Ωを挟んでトランジスタのベースへ
・トランジスタのエミッタはGNDへ
・出力を調整したい場合は、1kΩの半固定抵抗を13番ピンと680Ω抵抗の間に挟みます。

ソフトウェア

各カメラメーカーの赤外線リモコン信号を出力するためのライブラリがあります。

multiCameraIrControl
https://github.com/dharmapurikar/Arduino/tree/master/libraries/multiCameraIrControl

このライブラリをArduino IDEへインストールして使います。
ソースコードは非常にシンプル。こちらはNikonのカメラで5秒に1回撮影するサンプルです。
他メーカーのカメラを使いたい方は、サンプルスケッチ->multicameracontrolから、該当するメーカーのサンプルを選んでください。

Nikon.ino

#include <multiCameraIrControl.h>

Nikon D5000(13); //ここで信号出力ピンを指定

void setup(){
}

void loop(){
  D5000.shotNow();
  delay(5000);
}