ИК-пульт управления для камер Canon на базе микрокомпьютера Freeduino Through-Hole

ИК пульт управления для камер Canon на базе микрокомпьютера Freeduino Through Hole Диапазон воспроизводимых бытовыми аудиоустройствами частот ограничен сверху значением, меньшим необходимых 32—38 кГц, и только трюк с использованием наложения дорожек стереосигнала в противофазе позволяет обойти это ограничение. А вот микрокомпьютеру Freeduino с тактовой частотой в 16 МГц генерировать сигнал 32 кГц вполне под силу. Микрокомпьютер использовался для управления позиционированием камеры в процессе съемки ( Установка для съемки панорам на базе контроллера Freeduino, часть 2: контроллер и программирование в среде Arduino.exe), и функциональность этой установки можно расширить, добавив ей возможность беспроводного управления камерой.

Задача состоит в том, чтобы запрограммировать микрокомпьютер на базе микроконтроллера Freeduino Through-Hole для имитации сигналов пульта управления камерами Canon — Canon RC-1. В статьях, ссылки на которые приведены в самом начале, описаны управляющие сигналы пульта. При обычной съемке без предварительной паузы камера запускается последовательностью импульсов и пауз: «пакет 0,7 мс — пауза 7/7,7 мс — пакет 0,7 мс». Второй режим пульта — съемка с двухсекундной задержкой на стабилизацию камеры. Его структура: «пакет 0,7 мс — пауза 5,1/5,7 мс — пакет 0,7 мс». Несущая частота импульсов в пакете — 32—38 кГц.

Реализовать на Freeduino ИК-управление просто — подключаем к соответствующим сигнальным выходам ИК-светодиод, который программно включаем-выключаем в соответствии со структурой сигнала. Для пакета управляющего импульса длительностью ≈0,7 мc на частоте ≈33 кГц нужно 23 раза включить-выключить светодиод на 15 мкс (период несущей будет 2×15 = 30 мкс). Далее добавить паузу 7,3 мс. И снова повторить 0,7-миллисекундный пакет.

Управляющая программа в Arduino Sketchbook выглядит так:

Код управляющей программы

Программа проста и похожа на «учебную» программу для Arduino — «Blink». Главные отличия — в замене функции миллисекундных пауз delay() на микросекундные delayMicroseconds() и добавление цикла. ИК-светодиод подключается к 12-му порту и массе, для ограничения тока в цепь последовательно диоду добавлен резистор (≈50 Ом). Вид установки приведен на фотографии в начале статьи. Так как цикл генерации сигнала помещен в функцию loop(), он будет выполняться с периодичностью около 3 секунд (задается функцией delay(3000)), пока на Freeduino подается питание. Такое функционирование программы позволит легко отследить запуск камеры, если установка работает. Но при указанных в скетче параметрах ИК-пульт на Freeduino не запускает камеру.

Чтобы разобраться, в чем причина неудачи, воспользуемся описанной в статье «Универсальный ИК-пульт для камеры Canon. Часть первая: приемник для дешифровки ИК-сигнала» установкой для регистрации ИК-сигнала. Вот что покажет Audacity:

Audacity

Длительность импульса огибающей управляющего пакета — 45 семплов на частоте оцифровки сигнала 44100 Гц, или ≈1 мс вместо требуемых 0,7 мс. Вероятно, ошибка возникает из-за некорректной работы выполняемых подряд функций delayMicroseconds() при небольших значениях аргумента. Для коррекции ошибки можно попробовать поднять частоту или уменьшить период примерно в пропорции ошибки 1/0,7 раза. Внесем изменения. Но прежде, чтобы дважды не исправлять код, проверим, что пауза между пакетами отрабатывается корректно:

Audacity
Пауза 318 семплов на частоте 44100 Гц при пересчете дает ≈7,2 мс, что не отличается принципиально от желаемой 7,3 мс.

Попробуем изменить программу, и для аргумента frec (полупериод несущей) зададим величину 15/(1/0,7) = ≈10 (мкс), а прочие параметры программы оставим без изменений. Формально, при этом частота несущей будет 50 кГц. Но теперь пульт работает и запускает камеру, однако иногда камера «пропускает» сигнал. На следующем этапе отладки я уменьшил число импульсов в управляющем пакете до 19 (параметр puls=20), и ИК-пульт заработал без сбоев. Проверим, что покажет установка, регистрирующая огибающую ИК-сигнала:

Audacity
Длительность импульса 67 семплов на частоте 96000 Гц, или ≈0,7 мс.

Audacity
Длительность паузы — 709 семплов на частоте 96000 Гц, или ≈7,4 мс.

Источник ИК-пульт управления для камер Canon на базе микрокомпьютера


RSS лента ВСЕГО блога с комментариями RSS лента ВСЕГО блога БЕЗ комментариев RSS лента этой КАТЕГОРИИ с комментариями RSS лента этой КАТЕГОРИИ и БЕЗ комментариев RSS лента ЭТОГО ПОСТА с комментариями к нему



Прыг: 01 02 03 04 05 06 07 08 09 10
Скок: 10 20 30 40


Похожие ресурсы:



Copyright © 2009 Версия компьютеры
Сейчас 13 декабря 2017, 13:06
Система авторегистрации в каталогах, 
           статьи про раскрутку сайтов, web дизайн, flash, photoshop, хостинг, рассылки; форум, баннерная сеть, каталог сайтов, услуги 
           продвижения и рекламы сайтов

Рейтинг популярности - на эти заметки чаще всего ссылаются: