ИК-пульт управления для камер Canon

ИК-пульт управления для камер Canon

Похожие статьи

Стоит ли покупать Canon EOS 6D Mark II?

Стоит ли покупать Canon EOS 6D Mark II?

Canon EOS 6D Mark II является лучшей камерой, чем его предшественник, но насколько она лучше? Если у вас есть 6D, стоит ли покупать новую модель? В этой статье мы рассмотрим различные камеры и подумаем, стоит и покупать новую 6D Mark II вместо вашего устройства.

Сравнительный обзор вспышек Canon Speedlite

Сравнительный обзор вспышек Canon Speedlite

Серия внешних вспышек Speedlite от Canon продолжает расширяться. Модельный ряд уже настолько широк, что не каждый так сразу разберется, какая вспышка ему нужна. Итак, рассмотрим вкратце некоторые модели по возрастанию цены и функциональности.

Обзор вспышек для фотоаппаратов Canon

Обзор вспышек для фотоаппаратов Canon

Не существует вспышек, которые способны заменить полноценный студийный свет, но они позволяют правильно экспонировать кадр при репортажной фотографии. Также вспышка позволяет исправить недостатки неправильного освещения при ярком свете на улице.

Универсальный ИК-пульт для камеры Canon

Универсальный ИК-пульт для камеры Canon

Часть первая: приемник для дешифровки ИК-сигнала

IK-pult_upravleniya_dlya_kamer_Canon
 

Пульт управления

К контролерам типа Arduino могут быть подключены кнопки и потенциометры, позволяющие управлять работой программ, загруженных в контроллер. Узнать об основных функциональных возможностях контроллеров, подключении внешних устройств и программировании для Arduino можно, к примеру, из книги (переведенной на русский) «Arduino: блокнот программиста» автора Brian W. Evans. Стандартные способы подключения кнопок и потенциометров (я использовал потенциометр и нагрузку на кнопках ≈10 кОм) приведены далее на схемах:

IK-pult_upravleniya_dlya_kamer_Canon

Схемы симметричны относительно подключения «земли» и питающего напряжения +5 В. Однако при том подключении для кнопки, которое показано на схеме, можно использовать встроенные в контроллер подтягивающие сопротивления, что обеспечит стабильную подачу сигнала +5 и 0 В на входы контроллера в процессе работы схемы. При этом нужно лишь обратить внимание на то, что кнопка в разомкнутом положении соответствует сигналу +5 В, а в замкнутом — нулю, и потому проверка на включение будет соответствовать константе LOW, а выключение — HIGH. После этих замечаний перейдем к созданию самого́ пульта.

В пульте я использовал 1 потенциометр и 6 кнопок и переключателей. Три переключателя будут дискретно задавать время задержки между снимками. Потенциометр выполняет псевдоаналоговую (дискретную с большим количеством шагов) регулировку. Две кнопки с фиксацией будут управлять включением программы-таймера и режимом работы пульта (с задержкой и без). Одна кнопка без фиксации (синяя на картинке) дублирует кнопку «сброс» контроллера. Количество кнопок было выбрано исходя из возможностей понравившегося мне телефонного разветвителя — у него 8 выводов, что достаточно для «земли» и 7 сигнальных линий. Схема подключения элементов проста — кнопки и потенциометр собраны вместе и подключены к общей земле и +5 В в соответствии с указанными выше схемами их индивидуального подключения. Фотография конструкции приведена далее:

IK-pult_upravleniya_dlya_kamer_Canon
Пульт управления
 
IK-pult_upravleniya_dlya_kamer_Canon
Схема в сборе в варианте автономной работы (без подключения к компьютеру) на стенде   

Те, кто уже знаком с Arduino, возможно, заметят необычное подключение пульта управления не к цифровым линиям контроллера, а к аналоговым. Так как я планирую использовать контроллер одновременно для управления шаговыми двигателями поворота камеры и для управления съемкой, приходится задействовать все доступные порты. Сигналы для шаговых двигателей и ИК-светодиода управления передаются через цифровые линии, сигналы пульта управления — через аналоговые.

Управляющая программа

IK-pult_upravleniya_dlya_kamer_Canon
 
Отмечу некоторые особенности программы.
IK-pult_upravleniya_dlya_kamer_Canon
Первая часть программы — объявление переменных и констант

В блоке объявлений из необычного — переопределение аналоговых портов как цифровых и использование типа long для переменной счетчика задержки съемки. Аналоговые порты с адресами по умолчанию 0—5 переопределены как цифровые 14—19 — теперь к ним можно обращаться, как к стандартным цифровым. Счетчик задержки съемки cycle_delay может принимать довольно большие значения, поэтому нужно выбрать допускающий такие значения тип — long.

IK-pult_upravleniya_dlya_kamer_Canon
Функция инициализации. Обращу внимание на команды digitalWrite(var, HIGH) включения подтягивающих резисторов, встроенных в контроллер, на портах, соответствующих переменным var.
 
IK-pult_upravleniya_dlya_kamer_Canon
Основной цикл программы loop

Цикл будет исполняться, если включена кнопка start_switch; проверка на включение/выключение: digitalRead(start_switch)==HIGH.

Проверка условия digitalRead(type_rc_switch)==HIGH задает режим работы пульта — с задержкой перед срабатыванием затвора и без таковой.

Счетчик пауз в процессе съемки суммирует «секунды» задержки. Пауза по умолчанию — 1 секунда. Три переключателя, определенные переменными switch1/switch2/switch3 работают как разряды двоичного числа, позволяя задавать паузу в пределах от 0 до 7. Потенциометр с аналоговым подключением по умолчанию позволяет задать 1024 шага управления. Для ограничения формируемой им задержки величиной в ≈100 секунд значение считываемого уровня округляется умножением на 0,1: 0.1*analogRead(potentiometer).

Так как в нашей схеме нет цифрового индикатора времени задержки (паузы), для отладки шкалы потенциометра в программу введен блок индикации задержки в секундах — светодиод, встроенный в плату Freeduino на 13-м порту, мигает задаваемое счетчиком задержки (в секундах) число раз:

for (int i=0; i

После нанесения шкалы потенциометра на пульт управления этот блок нужно просто закомментировать: /*…*/.

За блоком индикации следует блок генератора ИК-сигнала, описанный в первой части статьи. К нему лишь добавлен небольшой объем кода для индикации срабатывания (для визуального контроля — сигнал ИК-светодиода для глаза невидим) с помощью встроенного во Freeduino светодиода на 13-м порту.

Пауза между циклами съемки задается командой delay(1000*cycle_delay).

Эксплуатация пульта

Пульт подключается к батарее питания или компьютеру по USB. Чтобы выбрать время задержки между снимками в диапазоне 1—8 секунд, используем переключатели, установив потенциометр в положение с минимальным сопротивлением. Если диапазон 1—8 секунд не достаточен, расширяем его с помощью потенциометра. Установив потенциометр примерно в положение 1/10 от полного оборота, включаем кнопку съемки. Считаем число миганий индикатора-светодиода на 13-м порту и отмечаем получившуюся задержку на пульте маркером. Таким образом можно проградуировать весь диапазон допустимого угла поворота потенциометра. Далее закомментируем (/*…*/) часть программы, отвечающую за индикацию задержки. После этого используем пульт по назначению. Отмечу еще, что программа допускает изменение задержки между импульсами в процессе съемки, то есть при необходимости можно вести съемку с разными по длительности паузами, не перегружая программу.

Источник: ixbt.com