Создание динамических time-lapse с помощью микроконтроллера

Когда то у меня была мыльница Canon и у нее был вход типа мини джек. Через который к фотоаппарату можно было подключить интервелометр и снимать таймлапсы. Интервелометр это такая штука которая может автоматически нажимать на спуск с заданным интервалом времени. Вот что у меня тогда получалось.



И все было прекрасно, но пришла эра беззеркалок, которые были лучше, быстрее, светосильнее. Поэтому я радостно купил беззеркалку Sony. Однако привычного отверстия в ней не было, и мой интервелометр оказался бесполезен. Погуглив я узнал, что проводное подключение производителем не предусмотрено, а бывают только примитивные пульты, которыми нужно спереди светить в фотоаппарат. Поругав компанию Sony за user friendly interface я остался на несколько лет без таймлапса.

Недавно просматривая ютуб я наткнулся на материал по программированию для arduino, и с удивлением обнаружил что там не надо работать с регистрами процессора на ассемблере, а пишется все на C++ и имеются готовые библиотеки на разные случаи жизни. А я то думал…

Мыслей что сделать было много, но я пытался придумать что то полезное. Такое что бы кому то еще захотелось повторить мое устройство.

Устройство для съемки таймлапса показалось отличной идеей. Изначально хотел чтобы камера во время съемки и перемещалась и поворачивалась. Но потом подумал, что платформа для передвижения сделает устройство слишком большим и тяжелым и нормальный человек в отпуск такое не возьмет. Поэтому решил перемещение не делать.

Дальше начал выбирать компоненты. В качестве основного контроллера взял Wemos D1, потому что он программно совместим с Arduino, и при этом имеет на борту wi-fi и больше памяти. Идея заключалась в том, чтобы управлять устройством из браузера телефона.

Для вращения фотоаппарата взял самые дешевые и распространенные шаговый двигатель и контроллер. А для управления затвором фотоаппарата инфракрасный светодиод.

Корпус решил делать из 12 мм фанеры. Потому что, во первых, она довольно тяжелая, а это хорошо для устойчивости, а во вторых она у меня была. В течение месяца ко мне приехали заказанные посылочки и процесс пошел…



Для сборки и прошивки программы в контроллер я использовал Platformio, и CLion в качестве IDE. Спецификацию к инфракрасному интерфейсу своего фотоаппарата я не нашел, но зато наткнулся на готовую библиотеку для Arduino, которая делает то что мне было нужно. И при этом она еще и умеет управлять затвором камер разных производителей. Так что, спасибо разработчику, я реализовал выбор производителя фотоаппарата в приложении, хотя делать это не собирался. Библиотеку я слегка дописал для упрощения работы с разными камерами в одном приложении.

Потом конечно же была долгая и приятная съемка таймлапсов. И вот Та-Да!!!



» Проект open source, описал всё по-максимуму, исходный код выложил. Спасибо за внимание!
Поделиться публикацией

Похожие публикации

Комментарии 24

  • НЛО прилетело и опубликовало эту надпись здесь
      0
      Спасибо, исправил.
      +1
      Отличная идея и прекрасный результат. Но не совсем понятно, эта библиотека работает все же через ИК порт или по wifi? И как она называется? Было бы здорово более подробно описать процесс взаимодействия с камерой.
        0
        Спасибо. Библиотека о которой я писал умеет только моргать ИК светодиодом в понятном фотоаппаратам формате. Вот от сюда я ее взял: http://sebastian.setz.name/arduino/my-libraries/multi-camera-ir-control/
        Само же устройство на базе микроконтроллера управляется по Wi-Fi.
          0
          Спасибо, а более подробно про взаимодействие по Wi-Fi расскажете?
            0
            Процесс использования такой. Когда я включаю устройство оно подключается к Wi-Fi точке доступа, которую я стартовал на смартфоне. При этом в смартфоне можно видеть IP адрес подключившегося устройства. Затем этот IP адрес я ввожу в web браузер телефона и мне показывается страница с которой осуществляется управление устройством.

            Про то как это устроенно программно я тут наверно писать не буду. Проще либо посмотреть мои исходники, либо примеры Wi-Fi взаимодействия с сайта WeMos.
        0
        спасибо за интересный проект! единственное, пока, не понял — под какой лицензией распространяется код?
          +2
          Пожалуйста, рад что понравилось. Лицензия называется «Используйте как хотите, но не забудьте упомянуть автора, он ведь старался».
            0
            Может GPL?)
              +1
              Используйте как хотите, но не забудьте упомянуть автора, он ведь старался

              Это явно не про GPL, скорее MIT. ;)
              Ну ещё есть WTFPL.

          0
          Как всё сложно. А я использовал видеорегистратор, чтобы делать таймлапсы, благо на 32 гиговую флешку входит 8 часов HD видео.
            0
            так сами таймлапсы делать не сложно, с поворотом на видеорегистраторе как быть?
            0
            а какой ротатор исползуете? тоже самодельный?
              0
              Не уверен что понял что такое ротатор, но список компонентов есть на сайте проекта. Ссылка на сайт внизу статьи.
              0
              я делал для телефона с поворотом, правда никакой синхронизации нету.

              image

              хочу сделать на ESP8266 чтобы была синхронизация.
                0
                Отличная идея с телефоном.

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

                В качестве базы от блендера кухонный комбайн использовали? :)
                  0
                  база — от лазерного цветного принтера, там 3 барабана, они по очереди сменяются при печати.
                  шестерёнки тоже оттуда, мотор не шаговый, крутиться только в одну сторону :)
                  да, синхронизация нужна.
                0
                Комменты по таймлапсу принимаются?
                  0
                  Конечно.
                    0
                    1. Почистите матрицу, хотя думаю это вы итак понимаете
                    2. Днем используйте выдержки от секунды и выше. Если конечно есть нейтральный фильтр на 6-10 стопов
                    3. Присмотритесь к программе lrtimelapse 4. Она позволяет делать плавные переходы в при обработке фото ( если снимаете в RAW ). И что еще круче борется с фликерингом ( мерцание кадра )

                    з.ы. Подобная железяка у меня тоже имеется :)
                      0
                      Да, почистить матрицу не помешает :) Про Lrtimelapse я знаю, но тратить деньги на нее не хотелось, может как нибудь потом.
                      Было бы интересно посмотреть на пример вашего видео с фильтром и задержкой в секунду, и на вашу железку :)
                        0
                        Lrtimelapse бесплатна, там нет ограничений для серий до 400 кадров. Видео мои можно вот тут глянуть https://vimeo.com/dmitrypisanko года три я плотно сидел на таймлапсах, сейчас подзабил. А железка не презентабельна )))
                  0
                  Спасибо, ваш проект подал мне идею для моего проекта.=)))
                    0
                    Отлично! :)

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое