И все было прекрасно, но пришла эра беззеркалок, которые были лучше, быстрее, светосильнее. Поэтому я радостно купил беззеркалку Sony. Однако привычного отверстия в ней не было, и мой интервелометр оказался бесполезен. Погуглив я узнал, что проводное подключение производителем не предусмотрено, а бывают только примитивные пульты, которыми нужно спереди светить в фотоаппарат. Поругав компанию Sony за user friendly interface я остался на несколько лет без таймлапса.
Недавно просматривая ютуб я наткнулся на материал по программированию для arduino, и с удивлением обнаружил что там не надо работать с регистрами процессора на ассемблере, а пишется все на C++ и имеются готовые библиотеки на разные случаи жизни. А я то думал…
Мыслей что сделать было много, но я пытался придумать что то полезное. Такое что бы кому то еще захотелось повторить мое устройство.
Устройство для съемки таймлапса показалось отличной идеей. Изначально хотел чтобы камера во время съемки и перемещалась и поворачивалась. Но потом подумал, что платформа для передвижения сделает устройство слишком большим и тяжелым и нормальный человек в отпуск такое не возьмет. Поэтому решил перемещение не делать.
Дальше начал выбирать компоненты. В качестве основного контроллера взял Wemos D1, потому что он программно совместим с Arduino, и при этом имеет на борту wi-fi и больше памяти. Идея заключалась в том, чтобы управлять устройством из браузера телефона.
Для вращения фотоаппарата взял самые дешевые и распространенные шаговый двигатель и контроллер. А для управления затвором фотоаппарата инфракрасный светодиод.
Корпус решил делать из 12 мм фанеры. Потому что, во первых, она довольно тяжелая, а это хорошо для устойчивости, а во вторых она у меня была. В течение месяца ко мне приехали заказанные посылочки и процесс пошел…
Для сборки и прошивки программы в контроллер я использовал Platformio, и CLion в качестве IDE. Спецификацию к инфракрасному интерфейсу своего фотоаппарата я не нашел, но зато наткнулся на готовую библиотеку для Arduino, которая делает то что мне было нужно. И при этом она еще и умеет управлять затвором камер разных производителей. Так что, спасибо разработчику, я реализовал выбор производителя фотоаппарата в приложении, хотя делать это не собирался. Библиотеку я слегка дописал для упрощения работы с разными камерами в одном приложении.
Потом конечно же была долгая и приятная съемка таймлапсов. И вот Та-Да!!!
» Проект open source, описал всё по-максимуму, исходный код выложил. Спасибо за внимание!
Комментарии (24)
Elsedar
08.09.2016 19:42+1Отличная идея и прекрасный результат. Но не совсем понятно, эта библиотека работает все же через ИК порт или по wifi? И как она называется? Было бы здорово более подробно описать процесс взаимодействия с камерой.
carbone-kid
08.09.2016 19:58Спасибо. Библиотека о которой я писал умеет только моргать ИК светодиодом в понятном фотоаппаратам формате. Вот от сюда я ее взял: http://sebastian.setz.name/arduino/my-libraries/multi-camera-ir-control/
Само же устройство на базе микроконтроллера управляется по Wi-Fi.Elsedar
08.09.2016 20:00Спасибо, а более подробно про взаимодействие по Wi-Fi расскажете?
carbone-kid
08.09.2016 22:32Процесс использования такой. Когда я включаю устройство оно подключается к Wi-Fi точке доступа, которую я стартовал на смартфоне. При этом в смартфоне можно видеть IP адрес подключившегося устройства. Затем этот IP адрес я ввожу в web браузер телефона и мне показывается страница с которой осуществляется управление устройством.
Про то как это устроенно программно я тут наверно писать не буду. Проще либо посмотреть мои исходники, либо примеры Wi-Fi взаимодействия с сайта WeMos.
Fuega
08.09.2016 20:36спасибо за интересный проект! единственное, пока, не понял — под какой лицензией распространяется код?
carbone-kid
08.09.2016 20:42+2Пожалуйста, рад что понравилось. Лицензия называется «Используйте как хотите, но не забудьте упомянуть автора, он ведь старался».
nevzorofff
08.09.2016 21:13Как всё сложно. А я использовал видеорегистратор, чтобы делать таймлапсы, благо на 32 гиговую флешку входит 8 часов HD видео.
roboter
09.09.2016 08:23так сами таймлапсы делать не сложно, с поворотом на видеорегистраторе как быть?
demoded
09.09.2016 00:34а какой ротатор исползуете? тоже самодельный?
carbone-kid
09.09.2016 12:14Не уверен что понял что такое ротатор, но список компонентов есть на сайте проекта. Ссылка на сайт внизу статьи.
roboter
09.09.2016 08:20я делал для телефона с поворотом, правда никакой синхронизации нету.
хочу сделать на ESP8266 чтобы была синхронизация.carbone-kid
09.09.2016 12:32Отличная идея с телефоном.
Да, без синхронизации не солидно, на большой выдержке смазанные фотки будут получаться если поворот включится во время фотографирования.
В качестве базы от блендера кухонный комбайн использовали? :)roboter
09.09.2016 12:37база — от лазерного цветного принтера, там 3 барабана, они по очереди сменяются при печати.
шестерёнки тоже оттуда, мотор не шаговый, крутиться только в одну сторону :)
да, синхронизация нужна.
Timon_Timonich
09.09.2016 11:59Комменты по таймлапсу принимаются?
carbone-kid
09.09.2016 12:09Конечно.
Timon_Timonich
09.09.2016 12:371. Почистите матрицу, хотя думаю это вы итак понимаете
2. Днем используйте выдержки от секунды и выше. Если конечно есть нейтральный фильтр на 6-10 стопов
3. Присмотритесь к программе lrtimelapse 4. Она позволяет делать плавные переходы в при обработке фото ( если снимаете в RAW ). И что еще круче борется с фликерингом ( мерцание кадра )
з.ы. Подобная железяка у меня тоже имеется :)carbone-kid
09.09.2016 21:27Да, почистить матрицу не помешает :) Про Lrtimelapse я знаю, но тратить деньги на нее не хотелось, может как нибудь потом.
Было бы интересно посмотреть на пример вашего видео с фильтром и задержкой в секунду, и на вашу железку :)Timon_Timonich
09.09.2016 23:37Lrtimelapse бесплатна, там нет ограничений для серий до 400 кадров. Видео мои можно вот тут глянуть https://vimeo.com/dmitrypisanko года три я плотно сидел на таймлапсах, сейчас подзабил. А железка не презентабельна )))
Aquarius-Michael
Исправь заголовок «помошью ».
carbone-kid
Спасибо, исправил.