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



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

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

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

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

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

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

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



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

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



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

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


  1. Aquarius-Michael
    08.09.2016 19:24

    Исправь заголовок «помошью ».


    1. carbone-kid
      08.09.2016 19:26

      Спасибо, исправил.


  1. Elsedar
    08.09.2016 19:42
    +1

    Отличная идея и прекрасный результат. Но не совсем понятно, эта библиотека работает все же через ИК порт или по wifi? И как она называется? Было бы здорово более подробно описать процесс взаимодействия с камерой.


    1. carbone-kid
      08.09.2016 19:58

      Спасибо. Библиотека о которой я писал умеет только моргать ИК светодиодом в понятном фотоаппаратам формате. Вот от сюда я ее взял: http://sebastian.setz.name/arduino/my-libraries/multi-camera-ir-control/
      Само же устройство на базе микроконтроллера управляется по Wi-Fi.


      1. Elsedar
        08.09.2016 20:00

        Спасибо, а более подробно про взаимодействие по Wi-Fi расскажете?


        1. carbone-kid
          08.09.2016 22:32

          Процесс использования такой. Когда я включаю устройство оно подключается к Wi-Fi точке доступа, которую я стартовал на смартфоне. При этом в смартфоне можно видеть IP адрес подключившегося устройства. Затем этот IP адрес я ввожу в web браузер телефона и мне показывается страница с которой осуществляется управление устройством.

          Про то как это устроенно программно я тут наверно писать не буду. Проще либо посмотреть мои исходники, либо примеры Wi-Fi взаимодействия с сайта WeMos.


  1. Fuega
    08.09.2016 20:36

    спасибо за интересный проект! единственное, пока, не понял — под какой лицензией распространяется код?


    1. carbone-kid
      08.09.2016 20:42
      +2

      Пожалуйста, рад что понравилось. Лицензия называется «Используйте как хотите, но не забудьте упомянуть автора, он ведь старался».


      1. Meklon
        08.09.2016 21:01

        Может GPL?)


        1. silvansky
          09.09.2016 08:08
          +1

          Используйте как хотите, но не забудьте упомянуть автора, он ведь старался

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


  1. nevzorofff
    08.09.2016 21:13

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


    1. roboter
      09.09.2016 08:23

      так сами таймлапсы делать не сложно, с поворотом на видеорегистраторе как быть?


  1. demoded
    09.09.2016 00:34

    а какой ротатор исползуете? тоже самодельный?


    1. carbone-kid
      09.09.2016 12:14

      Не уверен что понял что такое ротатор, но список компонентов есть на сайте проекта. Ссылка на сайт внизу статьи.


  1. roboter
    09.09.2016 08:20

    я делал для телефона с поворотом, правда никакой синхронизации нету.

    image

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


    1. carbone-kid
      09.09.2016 12:32

      Отличная идея с телефоном.

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

      В качестве базы от блендера кухонный комбайн использовали? :)


      1. roboter
        09.09.2016 12:37

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


  1. Timon_Timonich
    09.09.2016 11:59

    Комменты по таймлапсу принимаются?


    1. carbone-kid
      09.09.2016 12:09

      Конечно.


      1. Timon_Timonich
        09.09.2016 12:37

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

        з.ы. Подобная железяка у меня тоже имеется :)


        1. carbone-kid
          09.09.2016 21:27

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


          1. Timon_Timonich
            09.09.2016 23:37

            Lrtimelapse бесплатна, там нет ограничений для серий до 400 кадров. Видео мои можно вот тут глянуть https://vimeo.com/dmitrypisanko года три я плотно сидел на таймлапсах, сейчас подзабил. А железка не презентабельна )))


  1. VImer21ivn
    09.09.2016 11:59

    Спасибо, ваш проект подал мне идею для моего проекта.=)))


    1. carbone-kid
      09.09.2016 12:32

      Отлично! :)