Управление съемкой зеркалки с Arduino

в 16:48, , рубрики: arduino, фотосъемка, Фототехника, Электроника для начинающих, метки: ,

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

Итак, что бы управлять съемкой с Arduino нам понадобится

  • Arduino
  • Оптопара (вариант для «продолжающих». Я использовал оптопару 4N25. При выборе нужно смотреть что бы напряжение открытия оптопары соответствовало уровню логики arduino. Бывает 3,3V и 5V) или реле (вариант для «начинающих». У меня вот такое, потому что было под рукой)
  • Разъем для фотоаппарата (у меня простенький Canon 450 и разъем — микроджек 2,5мм)

Принцип работы и схема разъема

У canon 450D в качестве управляющего разъема используется микроджек 2,5мм.
На схеме показано что нужно замкнуть для фокусировки, а что для съемки.
Управление съемкой зеркалки с Arduino
Соответственно сперва замыкаем пару для фокусироки, а потом для съемки. Все просто.

Собираем все вместе

Вариантов сборки два: на реле или оптопаре. На реле подойдет для совсем начинающих, не умеющих держать в руках паяльник, а вариант с оптопарой потребует минимальных навыков обращения с паяльником.

Если используется реле

Тут все просто — питание к +5V, земля(GND) к земле, а управляющие пины на любые Digital (D) пины Arduino. В программе ниже для фокусировки используется пин D3, для съемки D9.
К выводным контактам реле присоединяем провода от разъема.
Одно реле занимается фокусировкой, второе — съемкой.

Если используется оптопара

Тут чуть сложнее и понадобится паяльник. Оптопара имеет две вводные ноги и две выводные (см спецификацию). Когда к вводным ногам прикладывается напряжение — замыкаются выводные. Значит, вводные ноги соединяем с Digital (D) пинами Arduino, а выводные с землей. Но тут возникнит неприятность: при активации оптопары мы устроим КЗ, поскольку ее внутренее сопротивление крайне мало (внутри, по сути, стоит светодиод). Что бы этого не произошло нужно в любой участок цепи D-pin — оптопара — GND-pin впаять сопротивление. Номинал подбирается из рассчета что бы при подаче управляющего напряжения протекающий ток был в 2-3 раза выше тока срабатывания оптопары (см спецификацию)
В итоге должно получиться примерно такое (спасибо cxem.net за картинку)
Управление съемкой зеркалки с Arduino
Как и в случае с реле, одна оптопара занимается фокусировкой, другая — съемкой.

Программируем

Программа будет до неприличя простой. Она будет делать фотографию каждые 12 секунд.

#define FOCUS 3
#define PHOTO 9
#define LED 13

void takePhoto() {

  digitalWrite(FOCUS,HIGH);
  delay (2000);
  digitalWrite(PHOTO, HIGH);
  delay (800);
  digitalWrite(LED, LOW);
  digitalWrite(FOCUS, LOW);
  digitalWrite(PHOTO, LOW);
}

void setup() {
  pinMode(FOCUS, OUTPUT);
  pinMode(PHOTO, OUTPUT);
  digitalWrite(FOCUS, LOW);
  digitalWrite(PHOTO, LOW);
  pinMode(LED, OUTPUT);
  digitalWrite(LED, LOW);
}

void loop() {
  digitalWrite(LED,HIGH);
  takePhoto();
  delay (10000);
}

Дальше можно накрутить все что угодно: события от любых датчиков (снять восход солнца по дптчику освещенности, например), любые интевалы и события. Я планирую использовать такую наработку для съемки с квадрокоптера.

Всем творческих успехов и интересных идей!

Автор: Silvar

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js