Mittwoch, 7. Dezember 2011

Camera Control with Arduino.

Вы ещё не прониклись идеей взять паяльник и заняться электроникой и совместить два хобби в одно. Сейчас самый подходящий момент. На рынке не всегда можно найти необходимые электронные гаджеты к камере. Зачастую их просто нет, а если и есть, то цены на них очень сильно завышены. Я часто делаю маленькие приборы - помощники для съемки, подключая к камере различные приборы, моторы, вспышки, лампочки и тд. Электроника - такое дело, что всегда есть риск что-то спалить. И меньше всего хотелось бы камеру. Вдруг вы что-то забыли и не учли. Такое может легко произойти. Для своих поделок я завел золотое правило: никогда не подключать к камере приборы на прямую, тем более, если в приборе есть высокое напряжение. Сейчас на улице зима, и сколько статического электричества на одежде и руках, трудно представить. Одно время работал консультантом по электронике. Был очень занятный случай, процент выхода приборов из стоя в зимний период поднимался на 20% и все потому, что разработчики забыли про защиту от статическое электричество. В зимнее время года таким источником высокого напряжения может быть и сам человек. Так что бережёного бог бережет, а камеру гальваническая развязка. Для подключения к камере я применяю оптроны.

Schematic-Prints-1

PCB

В последнее время для быстрых проектов подсел на Arduino и Breadboard. Вот и свою плату сделал именно под Breadboard.

LR-3555

LR-3557

Для фотопроб и экспериментов можно очень быстро собрать схему, не используя паяльник. В добавок, Arduino работает на многих системах, и программный код легко переноситься. Управлять камерой можно через любую терминальную программу и не зависеть от операционной системы. Слава «программистам», терминальные программы есть везде: Windows, Linux, Android, iPod и др.

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

const int Shot  = 11;
const int Focus  = 12;

void setup() {               
  pinMode(Shot, OUTPUT);
  pinMode(Focus, OUTPUT);
  // initialize the serial communication:
  Serial.begin(115200);
}

void loop() {
  byte inByte;
  
  if (Serial.available()) {
    inByte = Serial.read();

    switch (inByte) {
    case 'S':
      digitalWrite(Focus, HIGH);
      break;
    case 's':
      digitalWrite(Focus, LOW);
      break;
    case 'F':
      digitalWrite(Shot, HIGH);
      break;
    case 'f':
      digitalWrite(Shot, LOW);
      break;
    case 'a':
      digitalWrite(Focus, HIGH);
      digitalWrite(Shot, HIGH);
      delay(1000);  // waits for a second
      digitalWrite(Focus, LOW);
      digitalWrite(Shot, LOW);
      break
    default:
    break;
   }
  }
}

Камеру подключаем аудио кабель к пульту дистанционного управления к Arduino, а сам Arduino - к компьютеру.

LR-3560

Как подключить к Arduino различные датчики сенсоры постараюсь рассказать позже.

Продолжение следует.

© Andrew Buckin

Shutterstock Dreamstime

Fotostream http://www.flickr.com

Keine Kommentare:

Kommentar veröffentlichen