Зарегистрируйтесь и откройте для себя мир пневматического оружия
Регистрация

Войти

Меню
Просм.: 1246|Ответить: 0

Управление фотовспышкой с помощью Arduino

[Скопировать ссылку]
Опубликовано 2012-10-14 23:37:28 | Показать все сообщения |Режим чтения

Зарегистрируйтесь сейчас, чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!

Для просмотра Вам необходимо авторизироваться.
Если Вы еще не зарегистрированы, перейдите по ссылке: Регистрация.

x
Управление фотовспышкой с помощью Arduino контроллера

В данном проекте мы расскажем, как управлять фотовспышкой с помощью контроллера Arduino. Для управления вспышкой понадобится «горячий башмак», через который мы будем подавать синхросигнал. В данной сборке используется башмак со стандартным разъемом под 1/8-дюймовый штекер. A вообще можно использовать любой другой башмак. Сигналом для вспышки в подавляющем большинстве служит замыкание контактов синхрокабеля. Для гальванической развязки цепи вспышки и цепи Arduino используется оптопара (характеристики). Использование оптопары позволят изолировать контроллер от возможных скачков напряжения при срабатывании вспышки, что особенно характерно для старых вспышек.

Схема управления представлена на рисунке. Она очень проста: мы просто подаем HIGH на цифровой выход, который замыкает цепь вспышки через оптопару. Длительность сигнала 0,1 c.

Код:


[code=cpp]// Maurice Ribble


//Переключение между разными типами триггера
//#define ENABLE_LASER_TRIGGER
#define ENABLE_SOUND_TRIGGER

//Пороговые значения для срабатывания триггера
//Определяются в зависимости от окружающих факторов
#define LASER_THRESHHOLD 500
#define SOUND_THRESHHOLD 100

//Выводит сообщения, помогает при определинии
//пороговых необходимых пороговых значений
//#define PRINT_MESSAGES

// Задает используемые цифровые выходы
#define CAMERA_FLASH_PIN 4
#define LASER_PIN 5

// Задает используемые аналоговые выходы
#define LASER_TRIGGER_ANALOG_PIN 0
#define SOUND_TRIGGER_ANALOG_PIN 1

void setup()
{
  pinMode(CAMERA_FLASH_PIN, OUTPUT);
  digitalWrite(CAMERA_FLASH_PIN, LOW);
  pinMode(LASER_PIN, OUTPUT);
  digitalWrite(LASER_PIN, LOW);

#ifdef ENABLE_LASER_TRIGGER
  digitalWrite(LASER_PIN, HIGH);  // включить лазер
#endif

#ifdef PRINT_MESSAGES
  Serial.begin(9600); // открыть серийный порт
#endif
}

void loop()
{
  int soundVal;
  int laserVal;

  ////////////////////////////////////////////////////////////
  // Звуковой сенсор
  ////////////////////////////////////////////////////////////
#ifdef ENABLE_SOUND_TRIGGER
  soundVal = analogRead(SOUND_TRIGGER_ANALOG_PIN);
  if (soundVal > SOUND_THRESHHOLD)
  {
     digitalWrite(CAMERA_FLASH_PIN, HIGH);
#ifdef PRINT_MESSAGES
     Serial.println("Flash Triggered!!!");
#endif
     delay(100);
     digitalWrite(CAMERA_FLASH_PIN, LOW);
   }
#ifdef PRINT_MESSAGES
  Serial.print("Sound: ");
  Serial.println(soundVal, DEC);
#endif
#endif // ENABLE_SOUND_TRIGGER

  ////////////////////////////////////////////////////////////
  // Лазерный сенсор
  ////////////////////////////////////////////////////////////
#ifdef ENABLE_LASER_TRIGGER
  laserVal = analogRead(LASER_TRIGGER_ANALOG_PIN);
  if (laserVal < LASER_THRESHHOLD)
  {
     digitalWrite(CAMERA_FLASH_PIN, HIGH);
     digitalWrite(LASER_PIN, LOW);  // выключаем в момент фотографирования
#ifdef PRINT_MESSAGES
     Serial.println("Flash Triggered!!!");
#endif
     delay(100);
     digitalWrite(CAMERA_FLASH_PIN, LOW);
     digitalWrite(LASER_PIN, HIGH);  // Включаем обратно
   }
#ifdef PRINT_MESSAGES
  Serial.print("Laser: ");
  Serial.println(laserVal, DEC);
#endif
#endif // ENABLE_LASER_TRIGGER
}[/code]
Я люблю Airgunstyle.ru !
Чтобы ответить, вам надо авторизироваться в системе Вход | Регистрация

Правила начислений

Магазин|Связь с дилером|Темный угол|Мобильная версия|Архив|Карта|AIRGUNSTYLE.ru Яндекс.Метрика

Сайт может содержать контент, запрещенный к просмотру лицам до 18 лет!

GMT+3, 2019-9-16 03:38 , Processed in 0.138733 second(s), 17 queries .

Copyright © 2013 airgunstyle.ru | foundcore studio

Powered by Makray on Discuz X3.1 Licensed

Быстрый ответ Вернуться к началу Назад к списку