Приветствую, Хабр!
В статье речь пойдет о разработке устройства, которое позволяет отправлять «команду сделать снимок» фотоаппарату, принимая ее от фотоловушки. И почему, например, не подойдет вариант с обычным датчиком движения. Устройство простое и узкоспециализированное, но идея интересная.
Для начала концепт того, как это должно работать и несколько нюансов. В наличии имеется фотоловушка «Browning trail cameras» и зеркальный фотоаппарат «Sony alpha 7III» с проводным ПДУ (пульт дистанционного управления). Фотоловушка умеет делать отличные кадры, но фотоаппарат с определенной оптикой, безусловно, лучше (также в данной специфике важным является автофокус и его скорость). Идея заключается в том, чтобы при срабатывании фотоловушки управлять затвором фотоаппарата и делать снимок (или серию снимков, что еще лучше). С самим фотоаппаратом все просто, чтобы избежать любых задержек будем использовать вход для ПДУ «MULTI», который выглядит, как разъем Micro‑USB, но по факту не он (об этом чуть позже). Сложность в фотоловушке, так как у нее нет никаких выходы для управления – это законченное изделие с датчиком движения, батарейками и своей оптикой.
Сначала идея мне вообще показалась странной. Ловушка имеет PIR, ИК подсветку, датчик освещенности, матрицу, ну и так далее. Первым делом я разобрал корпус. Посмотрел плату, все стандартно для такого рода устройств. Возник вопрос, почему просто не использовать датчик движения, встроив его в мое устройство? Собрал.
После некоторого копания в настройках все встало на свои места. В меню есть множество настроек по критериям срабатывания, таких как: срабатывание на «быстрые» объекты, задержка перед следующим снимком, дальность до объекта фотографирования и т. д. Одним из условий срабатывания системы было как раз ориентирование на эти параметры. Именно поэтому не получится реализовать систему просто на датчике движения. Нужно будет написать много логики и предусмотреть возможность ввода и изменения этих параметров.
Пришлось снова разбирать (и не в последний раз). Печатная плата сделана довольно качественно и в целом продумана. Подписаны многие контрольные точки, что мне и помогло в изучении. Я предположил, что можно попробовать найти некий сигнал, который предшествует кадру. Например, можно попробовать ориентироваться на интерфейс SDIO, но тут неизбежны задержки срабатывания. Во-первых, я не знаю как устроено программное обеспечение камеры. Скорее всего снимок сначала сохраняется в оперативку, а только потом на внешний носитель. Во-вторых, возможно, в процессе работы происходит обмен с SD картой без сохранения фото, тогда будут ложные срабатывания всей системы, либо придется плотно анализировать данные. На мысли о том, что я иду в правильном направлении подтолкнуло наличие светодиода, по которому можно настраивать работу фотоловушки (это отдельный режим работы только для настройки). Изменяем настройки в меню, бегаем около камеры и следим за индикацией. То есть, в крайнем случае можно использовать этот режим постоянно и задействовать напряжение от светодиода для сигнала срабатывания.
Подпаивая провода к различным контрольным точкам, удалось найти ту, на которой появляется питание в нужный момент (на плате она называется SEN_DDVDD). По названию сигнал не был похож на то, что нужно (больше похоже питание матрицы), но именно это напряжение (1,8В) появляется без задержки непосредственно перед срабатыванием ИК подсветки (если темно) и, собственно, кадра.
Фотоловушка должна располагаться на расстоянии порядка пяти метров от моего устройства. Сделал простенькую плату с CPC1014. Предусмотрел управление оптроном через транзистор (который не понадобился) и напрямую. При появлении питания SEN_DDVDD оптрон замыкает контакты разъема X7.
Теперь устройство самого контроллера. Казалось бы, что для того, чтобы сделать кадр все готово. Подключаем выход оптрона к разъему ПДУ и готово, но есть еще один нюанс. Кадры необходимо делать только в определенные временные промежутки – диапазоны. Например, нужно делать серии снимков с 15 до 17 и с 21 до 23 часов. Таких временных диапазонов должно быть два. В дело вступает микроконтроллер, RTC, дисплей и все остальное.
Для реализации часов я не стал задействовать внутреннюю RTC микроконтроллера STM32F100, а поставил рядом PCF85263, которая хорошо показала себя в других проектах. Батарейка будет обеспечивать ход времени, когда нет питания, чтобы каждый раз не заниматься установкой часов при замене аккумуляторов всей системы в полях в лесах. Предполагается, что вся конструкция будет подключена к автомобильному аккумулятору 12В.
Для организации управления решил вывести четыре кнопки. Не буду расписывать всю логику настройки, так как не вижу в этом смысла. Если коротко, то: есть индикация хода часов (мигание второй точки индикатора), редактирование часов (свечение второй точки индикатора), отображение/редактирование диапазонов срабатывания (свечение/мигание первой и третий точки, соответственно). Под запись воспринимается сложно, но в целом управление оказалось простое и интуитивно понятное.
Три светодиода индикации: зеленый – питание, красный (средний) – отображение выдачи сигнала, красный (нижний) – индикация нахождения в меню настроек. Также, для удобства был введен режим задержки фотографирования на 2 минуты после подачи питания (горят оба красных светодиода).
Преобразование сигнала от фотоловушки и выдача на фотоаппарат реализовано через оптроны. Питается плата от 12В. Используется DC/DC ST1S10.
На плате предусмотрено место под Wi-Fi модуль ESP, но в данной конфигурации он задействован не будет.
Теперь возвращаемся к ПДУ. При более детальном рассмотрении интерфейс «MULTI» подразумевает использование двухрядного разъема (4 + 9 контактов), похожего на Micro-USB. Один ряд – это стандартный USB интерфейс, второй ряд содержит сигналы для управления фокусом и затвором фотоаппарата.
Первое, что я сделал – это разобрал пульт, выкинул отпаял плату. Подключил провод затвора (и GND) к своему девайсу, и … И да, ничего не заработало. Первое – это фотоаппарат должен видеть пульт. Пришлось дополнительно, на соответствующие выводы, установить резистор 33кОм и диод, как это сделано на оригинальном ПДУ. Второе – даже в режиме автофокуса затвор никак не срабатывал. Кто хоть раз фотографировал не на телефон тот знает, что кнопка у фотоаппарата сдвоенная. Легкое нажатие устанавливает фокус, дальше происходит спуск затвора. Оказалось, что можно навсегда «зажать» фокус и тогда произойдет чудо.
После длительных тестов (около двух недель) было решено, что дело сделано и все работает как планировалось. Следующим шагом будет интегрирование схемотехники (резистора и диода) ПДУ на плату контроллера и работа устройства по Wi-Fi (когда фотоловушка имеет беспроводной интерфейс).
Спасибо за внимание!
Комментарии (5)
PR200SD
27.09.2022 09:41Мне кажется всю конструкцию можно значительно упростить используя сразу esp32, и все настройки сразу делать через web интерфейс.
Germanjon
Как решается проблема с фотографированием в тёмное время суток?
the_bat Автор
Делал не для себя. Думаю этот функционал так и будет выполнять фотоловушка.
Germanjon
Получается, фотоаппарат должен получать дополнительную информацию от датчика освещённости и не фотографировать ниже какого-то порога?
the_bat Автор
Нет, когда фотоловушка "увидела" объект фотографирования и на улице темно у нее срабатывает ИК подсветка (она даже сделает свой кадр), ее можно использовать для снимка, при условии, что они (фотоловушка и фотоаппарат) направлены в одну сторону.