Когда то у меня была мыльница Canon и у нее был вход типа мини джек. Через который к фотоаппарату можно было подключить интервелометр и снимать таймлапсы. Интервелометр это такая штука которая может автоматически нажимать на спуск с заданным интервалом времени. Вот что у меня тогда получалось.
И все было прекрасно, но пришла эра беззеркалок, которые были лучше, быстрее, светосильнее. Поэтому я радостно купил беззеркалку Sony. Однако привычного отверстия в ней не было, и мой интервелометр оказался бесполезен. Погуглив я узнал, что проводное подключение производителем не предусмотрено, а бывают только примитивные пульты, которыми нужно спереди светить в фотоаппарат. Поругав компанию Sony за user friendly interface я остался на несколько лет без таймлапса.
Недавно просматривая ютуб я наткнулся на материал по программированию для arduino, и с удивлением обнаружил что там не надо работать с регистрами процессора на ассемблере, а пишется все на C++ и имеются готовые библиотеки на разные случаи жизни. А я то думал…
Мыслей что сделать было много, но я пытался придумать что то полезное. Такое что бы кому то еще захотелось повторить мое устройство.
Устройство для съемки таймлапса показалось отличной идеей. Изначально хотел чтобы камера во время съемки и перемещалась и поворачивалась. Но потом подумал, что платформа для передвижения сделает устройство слишком большим и тяжелым и нормальный человек в отпуск такое не возьмет. Поэтому решил перемещение не делать.
Дальше начал выбирать компоненты. В качестве основного контроллера взял Wemos D1, потому что он программно совместим с Arduino, и при этом имеет на борту wi-fi и больше памяти. Идея заключалась в том, чтобы управлять устройством из браузера телефона.
Для вращения фотоаппарата взял самые дешевые и распространенные шаговый двигатель и контроллер. А для управления затвором фотоаппарата инфракрасный светодиод.
Корпус решил делать из 12 мм фанеры. Потому что, во первых, она довольно тяжелая, а это хорошо для устойчивости, а во вторых она у меня была. В течение месяца ко мне приехали заказанные посылочки и процесс пошел…
Для сборки и прошивки программы в контроллер я использовал Platformio, и CLion в качестве IDE. Спецификацию к инфракрасному интерфейсу своего фотоаппарата я не нашел, но зато наткнулся на готовую библиотеку для Arduino, которая делает то что мне было нужно. И при этом она еще и умеет управлять затвором камер разных производителей. Так что, спасибо разработчику, я реализовал выбор производителя фотоаппарата в приложении, хотя делать это не собирался. Библиотеку я слегка дописал для упрощения работы с разными камерами в одном приложении.
Потом конечно же была долгая и приятная съемка таймлапсов. И вот Та-Да!!!
» Проект open source, описал всё по-максимуму, исходный код выложил. Спасибо за внимание!
Автор: carbone-kid