カメラの赤外線コントローラを作った

Nikonのカメラには,赤外線を使ってシャッターを切る機能があります. ML-L3という製品を使用するのが一般的ですが,手元に赤外線LEDが内臓されたM5StickCがあったので,これを使って赤外線コントローラを作ってみました.

赤外線コントローラを作るには,リモコンが発している信号を分析する必要があります. ありがたいことにNikonのML-L3の信号を分析して赤外線コントローラを作成している方1がいたので,それをもとにM5StickCで動作するプログラムを書きました.

実際のコードは,こちらです. tomato3713/cameraIRController

https://user-images.githubusercontent.com/29545307/142889344-b3662940-5ea6-49b5-b00a-a96edf2dfe1d.png

一番大きいボタンAを押したときに信号が送出され,シャッターが切られるようになっています. 何も反応が見えないとボタンが押せているかわからないので,赤外信号と同時に視認可能な赤色LEDも光らせるようにしています. そのほか,大体のバッテリー残量を表示するようにしたり,電源節約のためCPU周波数を最大限下げディスプレイの輝度も落としています.

手元で試したところ起動から3時間半の時点で満充電状態から55%程度に減っていました.線形に電源残量が減ると仮定すると,満充電にしておけば6~7時間程度は連続使用できると考えられます. また,自宅内で確認したところ,カメラに向けて直線3mくらいまでなら動作することを確認しました.似たことをしている方のブログ記事見る限り3, 4mまではM5StickC内蔵の赤外線LEDでも動作し,それ以上離れる場合には,より強力な赤外線LEDを使用する必要があるようです. とはいえ,よく使用される星の撮影などでは3mもカメラから離れることはないと思われるので実用上は問題ないはずです.

他のメーカーのカメラでも赤外線リモコンでコントロールできるものなら同じように自作できるので,機会があればボタンでメーカーを切替できるようにしてもよいかもしれないです.

なお,探すとML-L3より圧倒的に安い300円程度の互換品がでてくるので,自作するより完成品を購入したほうが楽です.