カメラの赤外線リモコンを作成する





どういうわけか最近、私は一眼レフのシャッターをリモートで制御する必要がありました。 有線バージョンは破棄され、不快でした。 ショップを検索した後、私はML-L3リモートを見つけました。 しかし、私はそれのために1000ルーブルを与えたくありませんでした。 私は自分でやることに決めました。 そして、ここで、ところで、週末が来て、仕事が沸騰し始めました...





理論または仕組み



最初は、ネットワーク上ですべてのコードとIRリモートの仕組みの説明を見つけることができることが望まれていました。 しかし、最終的には、シャッターをトリガーするために生成する必要があるシーケンスの説明のみを見つけることができました。 Nikonカメラ用のこのようなパッケージの写真を次に示します。







どうやら、複雑なことは何もない。 充填周波数は38.4 kHzです。



キヤノンのカメラの場合、シーケンスはさらに簡単です。







フィル周波数は33 kHzです。



回路、回路基板、部品



リモートコントロールを繰り返すだけでなく、追加の機能を提供したかったのです。 最後に、タイムラプスビデオを撮影するためのタイマーと、ニコンとキヤノンのカメラを制御する機能を追加することにしました。 在庫のある部品に基づいて、次のスキームが作成されました。







DD1-PIC12F629

HL1-ARL2-5013IRAB-940NM

R1-150オーム

SB1-時計ボタンFSM4JH

A0-DIPスイッチDS1040-03RN

C1-タンタルコンデンサ、47μFx 10 V、タイプB

+バッテリーコンパートメントBH-624(1xAAA)



すべての部品の合計費用は240ルーブルです(2015年4月の価格で、市内で最も安い店で)。







選択されたマイクロコントローラには高出力の入出力ポートがあり、追加のキーなしで赤外線LEDを切り替えることができます。 ボタンSB1は、選択されたシーケンスを生成します。 電源スイッチはありません。 マイクロコントローラーは常にスリープモードであり、70ナノアンペアを消費し、信号生成の間のみ「ウェイクアップ」します。 ジャンパーX1は、カメラのタイプを切り替えます。インストール済み-キヤノン、ショット-ニコン。 スイッチA0 ... A2は、タイムラプスビデオを撮影するためのタイマー期間を設定します。



A2 A1 A0 期間
0 0 0 いや
0 0 1 2秒
0 1 0 4秒
0 1 1 8秒
1 0 0 15秒
1 0 1 30秒
1 1 0 1分
1 1 1 2分




設計された回路基板と回路は非常にシンプルです:







標準のLUT方式で製造され、組み立てられたプリント基板:







マイクロコントローラーのソースコード
エラーレベル0、-207、-205、-302、-203



#include <P12F629.INC>



__CONFIG _CPD_OFF&_CP_OFF&_BODEN_OFF&_MCLRE_ON&_PWRTE_ON&_WDT_OFF&_INTRC_OSC_NOCLKOUT



LED equ 5; IR LED

CFG equ 4; ニコン(1)/キャノン(0)



; ================================================= ================================

; 変数

; ================================================= ================================



CBLOCK 0x020

DEL

DEL_MS

IMP

COUNT

ENDC



; ================================================= ================================

; リセットする

; ================================================= ================================



ORG 0

後藤スタート



; ================================================= ================================

; 中断

; ================================================= ================================



ORG 4

レトフィー



; ================================================= ================================

; ルーチン

; ================================================= ================================



; 遅延サブルーチン(マイクロ秒単位、最大770μs)

;(呼び出す前に、遅延値をWに入れます)

DEL_MK MOVWF DEL

M1 DECFSZ DEL、F

後藤m1

Retlw 0



; 遅延ルーチン(ミリ秒単位、最大256 ms)

;(呼び出す前に、遅延値をWに入れます)

DEL_M MOVWF DEL_MS

MOVLW 0xA5

M2 CALL DEL_MK

CALL DEL_MK

DECFSZ DEL_MS、F

後藤m2

Retlw 0



; Nikonのパルス出力ルーチン(38.4 kHzフィル)

;(呼び出す前に、パルス幅をWに入れます)

NIK MOVWF IMP

M3 BCF GPIO、LED

MOVLW 0x02

CALL DEL_MK

いや

BSF GPIO、LED

MOVLW 0x01

CALL DEL_MK

いや

DECFSZ IMP、F

後藤m3

Retlw 0



; ニコンの信号出力ルーチン

NIKON MOVLW 0x4D

CALL NIK; パルス2 ms

MOVLW 0x12

CALL DEL_M; 一時停止27.8ミリ秒

MOVLW 0x47

CALL DEL_MK

MOVLW 0x0F

CALL NIK; パルス0.4 ms

MOVLW 0x01

CALL DEL_M; 1.6ミリ秒休止

MOVLW 0x69

CALL DEL_MK

MOVLW 0x0F

CALL NIK; パルス0.4 ms

MOVLW 0x02

CALL DEL_M; 3.6ミリ秒休止

MOVLW 0xFF

CALL DEL_MK

MOVLW 0x0F

CALL NIK; パルス0.4 ms

Retlw 0



; Canonのパルス出力ルーチン(33 kHzフィル)

;(呼び出す前に、パルス幅をWに入れます)

CAN MOVWF IMP

M4 BCF GPIO、LED

MOVLW 0x02

CALL DEL_MK

いや

いや

いや

BSF GPIO、LED

MOVLW 0x01

CALL DEL_MK

いや

いや

いや

DECFSZ IMP、F

後藤m3

Retlw 0



; キヤノン信号出力ルーチン

キヤノンMOVLW 0x13

CALL CAN; 0.5 msパルス

MOVLW 0x05

CALL DEL_M; 7.3ミリ秒の一時停止

MOVLW 0x13

CALL CAN; 0.5 msパルス

Retlw 0



; 1秒の遅延ルーチン0xA1

DEL_1S MOVLW 0xFF

CALL DEL_M

MOVLW 0xFF

CALL DEL_M

MOVLW 0x88

CALL DEL_M

Retlw 0



; ================================================= ================================

; 主なプログラム

; ================================================= ================================



START BCF STATUS、RP0; バンク0を選択

MOVLW B'00000000 '

MOVWF INTCON

MOVLW B'00000111 '

MOVWF CMCON; 組み込みコンパレーターを無効にする



BSFステータス、RP0; 銀行1を選択

MOVLW B'00000111 '

MOVWF OPTION_REG

CALL 3FFh; 発電機校正定数のダウンロード

MOVWF OSCCAL

MOVLW B'00011111 '; ポート(方向)

MOVWF TRISIO

MOVLW B'00010111 '; プルアップ抵抗

MOVWF WPU



BCFステータス、RP0; バンク0を選択



MOVLW B'00100000 '; ポート

MOVWF GPIO



; --------------------------



MOVLW 0x12

CALL DEL_M



LP1 BTFSS GPIO、CFG

通話キヤノン

BTFSS GPIO、CFG

後藤LP2

コールニコン



LP2 MOVF GPIO、W; ジャンパーステータスの読み取り

ANDLW B'00000111 '

ADDLW B'11111000 '

MOVWF COUNT

COMF COUNT、F



BTFSCステータス、Z; シャットダウンしない場合

睡眠



MOVF COUNT、W

XORLW 0x01; 1つのタイミングが有効

BTFSCステータス、Z

後藤set2



MOVF COUNT、W

XORLW 0x02; 2つのタイミングが含まれています

BTFSCステータス、Z

後藤set4



MOVF COUNT、W

XORLW 0x03; 3つのタイミングが含まれています

BTFSCステータス、Z

後藤セット8



MOVF COUNT、W

XORLW 0x04; 4タイミングが有効

BTFSCステータス、Z

後藤セット15



MOVF COUNT、W

XORLW 0x05; 5タイミング有効

BTFSCステータス、Z

後藤セット30



MOVF COUNT、W

XORLW 0x06; 6つのタイミングが含まれています

BTFSCステータス、Z

後藤set1m



GOTO SET2M; 7タイミングが有効



SET2 MOVLW 0x02

後藤時間



SET4 MOVLW 0x04

後藤時間



SET8 MOVLW 0x08

後藤時間



SET15 MOVLW 0x0F

後藤時間



SET30 MOVLW 0x1E

後藤時間



SET1M MOVLW 0x3C

後藤時間



SET2M MOVLW 0x78

後藤時間



TIME MOVWF COUNT

LP3 CALL DEL_1S



DECFSZ COUNT、F

後藤LP3



後藤lp1



終了







住宅設計



現代の3D印刷技術は、長年の自家製製品の問題を解決しました-不器用でお世辞のケースに置き換えられ、工業デザインに決して劣らない品質のデザインがあります。



このパネルのケースはSolidWorksで開発されており、3Dプリンターでの印刷が期待されています。 それは中国のデザインの最高の伝統で作られています-単一のネジではなく、すべてがラッチされています。



結果として生じる寸法は、主に電源の選択によるものです。 いくつかの審議の後、リチウム電池を使用しないことが決定されました。これはそのような場合に伝統的です。 前提を一定に生成するタイムラプスモードでは、弱い要素を非常に迅速に放電できます。 したがって、2つのAAAバッテリーが使用されます。







3Dプリントエンクロージャ:







エンクロージャーを印刷するための回路、回路基板、ソースコード、およびファイルは、ここからダウンロードできます



組立



組み立てを開始する前に、ナイフでバッテリーホルダーの接点で平らな部品を慎重に切断する必要があります。







結果の接点をハウジングに接着し、極性を観察します:







次に、ボタンを配置してカードを奥まで挿入し、ラッチがかかっていることを確認します。 バッテリーからボードにワイヤをはんだ付けし、デバイスの準備ができています:







組み立てられた赤外線リモコンは次のとおりです。







カメラのセットアップ



リモートコントロールを使用する前に、カメラの簡単なセットアップを実行して、IRリモートコントロールを介してカメラを制御する必要があります。 モデルごとに異なります。NikonD7000のアルゴリズムを使用します。1)左の写真のように、左のリングをリモコンアイコンに回します。2)「リモートコントロールモード」メニューで必要な操作を設定します。










All Articles