Оглавление:

Проверка выдержки пленочной камеры Arduino: 4 шага
Проверка выдержки пленочной камеры Arduino: 4 шага

Видео: Проверка выдержки пленочной камеры Arduino: 4 шага

Видео: Проверка выдержки пленочной камеры Arduino: 4 шага
Видео: Зеркалка, пробег 30 тысяч - лучше продать? 2024, Июль
Anonim
Проверка выдержки пленочной камеры Arduino
Проверка выдержки пленочной камеры Arduino
Проверка выдержки пленочной камеры Arduino
Проверка выдержки пленочной камеры Arduino

Недавно купил две старые пленочные фотоаппараты, бывшие в употреблении. После их очистки я понял, что выдержка может зависеть от пыли, коррозии или отсутствия масла, поэтому я решил сделать что-то для измерения реального времени экспозиции любой камеры, потому что невооруженным глазом я не могу его измерить. Этот проект использует Arduino в качестве основного компонента для измерения времени экспозиции. Сделаем оптопару (ИК-светодиод и ИК-фототранзистор) и посмотрим, сколько времени открыта шторка камеры. Сначала я объясню, как быстро достичь нашей цели, а в конце мы увидим всю теорию, лежащую в основе этого проекта.

Список компонентов:

  • 1 х пленочная камера
  • 1 х Arduino Uno
  • Углеродно-пленочный резистор 2 x 220 Ом
  • 1 х ИК-светодиод
  • 1 х фототранзистор
  • 2 маленьких макета (или 1 большая макетная плата, достаточно большая, чтобы разместить камеру в центре)
  • Множество перемычек или кабеля

* Эти дополнительные компоненты необходимы для раздела объяснений.

  • 1 х нормальный цвет светодиода
  • 1 х кнопка мгновенного действия

Шаг 1: Подключение материалов

Электропроводка
Электропроводка
Электропроводка
Электропроводка
Электропроводка
Электропроводка

Сначала прикрепите ИК-светодиод к одной макетной плате и ИК-фототранзистор к другой, чтобы мы могли расположить их друг напротив друга. Подключите один резистор 220 Ом к аноду светодиода (длинная ножка или сторона без плоской границы) и подключите резистор к источнику питания 5 В на Arduino. Также подключите катод светодиода (короткая ножка или сторона с плоской границей) к одному из портов GND в Arduino.

Затем подключите контакт коллектора к фототранзистору (для меня это короткая ножка, но вам следует проверить таблицу данных транзистора, чтобы убедиться, что вы подключаете его правильно, иначе вы можете закончить взрыв транзистора) к резистору 220 Ом и резистор к выводу A1 на Arudino, затем подключите вывод Emitter фототранзистора (длинная ножка или та, у которой нет плоской границы). Таким образом, ИК-светодиод всегда включен, а фототранзистор настроен как переключатель стока.

Когда инфракрасный свет достигает транзистора, он позволяет току проходить от контакта коллектора к контакту эмиттера. Мы установим вывод A1 на подтягивание по входу, поэтому вывод всегда будет в высоком состоянии, если транзистор не потребляет ток до массы.

Шаг 2: программирование

Настройте IDE Arduino (порт, плату и программатор) в соответствии с конфигурацией, необходимой для вашей платы Arduino.

Скопируйте этот код, скомпилируйте и загрузите:

int readPin = A1; // вывод, куда подключен резистор 330 от фототранзистора

int ptValue, j; // точка хранения данных, считанных из analogRead () bool lock; // логическое значение, используемое для чтения состояния беззнакового длинного таймера readPin, timer2; двойная рифленая; String select [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; долгое ожидание [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // мы устанавливаем последовательную связь на 9600 бит в секунду pinMode (readPin, INPUT_PULLUP); // мы собираемся установить на выводе всегда высокий уровень, кроме случаев, когда фототранзистор опускается, поэтому мы «перевернули» логику // это означает, что HIGH = нет ИК-сигнала и LOW = задержка приема ИК-сигнала (200); // эта задержка предназначена для запуска системы и исключения ложных показаний j = 0; // инициализируем наш счетчик} void loop () {lock = digitalRead (readPin); // считываем состояние данного вывода и присваиваем его переменной if (! lock) {// запускаем только когда вывод LOW timer = micros (); // устанавливаем опорный таймер while (! lock) {// делаем это, пока вывод LOW, другими словами, таймер открытия затвора2 = micros (); // берем истекшее время sample lock = digitalRead (readPin); // считываем состояние вывода, чтобы узнать, закрылась ли заслонка} Serial.print ("Position:"); // этот текст предназначен для отображения необходимой информации Serial.print (select [j]); Serial.print ("|"); Serial.print ("Время открытия:"); прочитано = (timer2 - таймер); // подсчитываем, сколько времени была открыта шторка Serial.print (прочитано); Serial.print («нас»); Serial.print ("|"); Serial.print ("Ожидается:"); Serial.println (ожидается [j] * 1000); j ++; // увеличиваем положение шторки, это можно сделать кнопкой}}

После завершения загрузки откройте последовательный монитор (Инструменты -> Последовательный монитор) и подготовьте камеру к чтению.

Результаты отображаются после слов «время открытия:», вся остальная информация запрограммирована заранее.

Шаг 3. Настройка и измерение

Настройка и измерение
Настройка и измерение
Настройка и измерение
Настройка и измерение
Настройка и измерение
Настройка и измерение
Настройка и измерение
Настройка и измерение

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

Разместите ИК-светодиод и ИК-фототранзистор на противоположных сторонах камеры, один на стороне пленки, а другой - на стороне линз. Независимо от того, какую сторону вы используете для светодиода или транзистора, просто убедитесь, что они визуально контактируют при нажатии на кнопку затвора. Для этого установите шторку на «1» или «B» и проверьте серийный монитор, когда «фотографируете». Если шторка работает нормально, монитор должен показывать показания. Кроме того, вы можете поместить между ними непрозрачный объект и переместить его, чтобы запустить программу измерения.

Перезагрузите Arduino с помощью кнопки сброса и сделайте снимки одну за другой с разной выдержкой, от «B» до «1000». Монитор последовательного порта распечатает информацию после закрытия затвора. В качестве примера вы можете увидеть время, измеренное пленочными камерами Miranda и Praktica, на прикрепленных изображениях.

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

Шаг 4: Вещи для гиков

Вундеркинды
Вундеркинды
Вундеркинды
Вундеркинды
Вундеркинды
Вундеркинды
Вундеркинды
Вундеркинды

Транзисторы - это основа всей электронной техники, которую мы видим сегодня. Впервые они были запатентованы примерно в 1925 году немецко-американским физиком австро-венгерского происхождения. Их описывали как устройства для управления током. До них нам приходилось использовать электронные лампы для работы транзисторов сегодня (телевидение, усилители, компьютеры).

Транзистор имеет возможность управлять током, протекающим от коллектора к эмиттеру, и мы можем управлять этим током в обычных транзисторах с 3 ветвями, подавая ток на затвор транзистора. В большинстве транзисторов ток затвора усиливается, поэтому, например, если мы подадим на затвор 1 мА, мы получим 120 мА, вытекающее из эмиттера. Мы можем представить его как кран водопроводного крана.

Фототранзистор является обычным транзистором, но вместо плеча затвора затвор подключен к светочувствительному материалу. Этот материал является источником небольшого тока при возбуждении фотонами, в нашем случае фотонами с длиной волны инфракрасного излучения. Итак, мы управляем фототранзистором, изменяющим мощность источника ИК-света.

Есть некоторые характеристики, которые мы должны принять во внимание перед покупкой и подключением наших элементов. Прилагается информация, полученная из таблиц данных транзисторов и светодиодов. Во-первых, нам нужно проверить напряжение пробоя транзистора, которое является максимальным напряжением, которое он может выдержать, например, мое напряжение пробоя от эмиттера к коллектору составляет 5 В, поэтому, если я подключу его не так, как 8 В, я поджарь транзистор. Кроме того, проверьте рассеиваемую мощность, это означает, какой ток может передать транзистор перед смертью. Мой говорит 150 мВт. При 5 В 150 мВт означает источник 30 мА (Вт = В * I). Вот почему я решил использовать ограничительный резистор на 220 Ом, потому что при 5 В резистор 220 Ом пропускает только максимальный ток 23 мА. (Закон Ома: V = I * R). Тот же случай относится и к светодиоду, в информации о технических характеристиках указано, что его максимальный ток составляет около 50 мА, поэтому подойдет еще один резистор 220 Ом, потому что максимальный выходной ток на нашем выводе Arduino составляет 40 мА, и мы не хотим сжигать контакты.

Нам нужно подключить нашу установку, как показано на картинке. Если вы используете такие кнопки, как моя, постарайтесь разместить два круглых выступа в центре доски. Затем загрузите следующий код в Arduino.

int readPin = A1; // вывод, куда подключен резистор 220 к фототранзистору int ptValue, j; // точка хранения данных, считанных из analogRead () void setup () {Serial.begin (9600); } недействительный цикл () {ptValue = analogRead (readPin); // читаем значение напряжения на readPin (A1) Serial.println (ptValue); // таким образом мы отправляем считанные данные на последовательный монитор, чтобы мы могли проверить, что происходит delay (35); // просто задержка для облегчения создания скриншотов}

После загрузки откройте серийный плоттер (Инструменты -> Последовательный плоттер) и посмотрите, что происходит, когда вы нажимаете кнопку переключения ИК-светодиода. Если вы хотите проверить, работает ли ИК-светодиод (а также пульты от телевизора), просто поместите камеру мобильного телефона перед светодиодом и сделайте снимок. Если все в порядке, вы увидите сине-фиолетовый свет, исходящий от светодиода.

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

Наконец, вы можете изменить метод analogRead для digitalRead, чтобы вы могли видеть только 0 или 1. Я предлагаю сделать задержку после Setup (), чтобы избежать ложного чтения LOW (изображение с одним маленьким пиком LOW).

Рекомендуемые: