Съдържание:

Проверка на затвора на филмова камера Arduino: 4 стъпки
Проверка на затвора на филмова камера Arduino: 4 стъпки

Видео: Проверка на затвора на филмова камера Arduino: 4 стъпки

Видео: Проверка на затвора на филмова камера Arduino: 4 стъпки
Видео: Marlin Firmware 2.0.x Explained 2024, Юли
Anonim
Проверка на затвора на филмова камера Arduino
Проверка на затвора на филмова камера Arduino
Проверка на затвора на филмова камера Arduino
Проверка на затвора на филмова камера Arduino

Наскоро си купих две стари филмови фотоапарати. След като ги почистих, разбрах, че скоростта на затвора може да бъде изоставена от прах, корозия или липса на масло, затова реших да направя нещо за измерване на реалното време на експозиция на всяка камера, защото, с голите си очи, не мога да го измервам Този проект използва Arduino като основен компонент за измерване на експозиционното време. Ще направим опто двойка (IR LED и IR фототранзистор) и ще прочетем колко време е затворът на камерата отворен. Първо ще обясня бързия начин за постигане на целта ни и в крайна сметка ще видим цялата теория зад този проект.

Списък на компонентите:

  • 1 x филмова камера
  • 1 x Arduino Uno
  • 2 x 220 Ω въглероден филмов резистор
  • 1 x IR LED
  • 1 x Фототранзистор
  • 2 x малки дъски (или 1 голяма макет, достатъчно голяма, за да побере камерата в центъра)
  • Много джъмпери или кабел

*Тези допълнителни компоненти са необходими за раздела за обяснения

  • 1 x нормален цветен светодиод
  • 1 x Моментален бутон

Стъпка 1: Окабеляване

Окабеляване неща
Окабеляване неща
Окабеляване неща
Окабеляване неща
Окабеляване неща
Окабеляване неща

Първо, прикрепете инфрачервения светодиод в едната платка и инфрачервения фототранзистор в другата, за да можем да ги изправим един срещу друг. Свържете един 220 Ω резистор към LED анода (дългия крак или страната без плоската граница) и свържете резистора към 5V захранването на Arduino. Свържете също LED катода (къс крак или отстрани с плоската граница) към един от GND портовете в Arduino.

След това свържете щифта на колектора към фототранзистора (за мен е късият крак, но трябва да проверите листа с данни за транзистора си, за да сте сигурни, че го окабелявате по правилния начин или може да завършите взривяването на транзистора) към резистора 220 Ω и резистора към щифта A1 на Arudino, след което свържете излъчващия щифт на фототранзистора (дългия крак или този без плоска граница). По този начин винаги имаме включен IR LED и фототранзисторът е зададен като превключвател за мивка.

Когато инфрачервената светлина пристигне в транзистора, тя ще позволи преминаването на ток от щифта на колектора към щифта на излъчвателя. Ще настроим щифта A1 за входно издърпване, така че щифтът винаги ще бъде във високо състояние, освен ако транзисторът не потъне тока до маса.

Стъпка 2: Програмиране

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

Копирайте този код, компилирайте и качете:

int readPin = A1; // щифт, където е свързан резисторът 330 от фототранзистора

int ptValue, j; // точката за съхранение на данните, прочетени от analogRead () bool lock; // болеан, използван за четене на състоянието на readPin без подпис дълъг таймер, timer2; двойно четене; Избор на низ [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 = без IR сигнал и LOW = IR сигнал закъснение (200); // това забавяне е за оставяне на системата да стартира и избягване на фалшиви показания j = 0; // инициализиране на нашия брояч} void loop () {lock = digitalRead (readPin); // четене на състоянието на дадения щифт и присвояване на променливата if (! lock) {// стартиране само когато щифтът е LOW timer = micros (); // задайте референтния таймер while (! lock) {// направете това, докато щифтът е НИСКИ, с други думи, таймер за отваряне на затвора2 = micros (); // вземете изминало време за заключване на пробата = digitalRead (readPin); // прочетете състоянието на щифта, за да разберете дали затворът е затворен} Serial.print ("Позиция:"); // този текст е за показване на необходимата информация Serial.print (изберете [j]); Serial.print ("|"); Serial.print ("Отворено време:"); прочетено = (таймер2 - таймер); // изчисляваме колко време затворът е отворен Serial.print (прочетено); Serial.print ("нас"); Serial.print ("|"); Serial.print ("Очаква се:"); Serial.println (очаквано [j]*1000); j ++; // увеличете позицията на затвора, това може да стане с бутон}}

След като качването приключи, отворете серийния монитор (Инструменти -> Сериен монитор) и подгответе камерата за отчитане

Резултатите се показват след думите „отворено време:“, цялата останала информация е предварително програмирана.

Стъпка 3: Настройка и измерване

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

Свалете обективите на камерата и отворете отделението за филм. Ако вече имате зареден филм, не забравяйте да го завършите, преди да извършите тази процедура, в противен случай ще повредите направените снимки.

Поставете IR LED и IR фото транзистора на противоположните страни на камерата, едната отстрани на филма, а другата отстрани, където бяха лещите. Без значение коя страна използвате за светодиода или транзистора, просто се уверете, че те осъществяват визуален контакт при натискане на затвора. За да направите това, настройте затвора на "1" или "B" и проверете серийния монитор, когато "правите" снимка. Ако затворът работи добре, мониторът трябва да показва показания. Също така можете да поставите непрозрачен обект между тях и да го преместите, за да задействате измервателната програма.

Нулирайте Arduino с бутона за нулиране и правете снимки една по една при различни скорости на затвора, започвайки от "B" до "1000". Серийният монитор ще отпечата информацията след затваряне на затвора. Като пример можете да видите времената, измерени от филмови камери на Miranda и Praktica на приложените изображения.

Използвайте тази информация, за да правите корекции, когато правите снимки или да диагностицирате състоянието на камерата. Ако искате да почистите или настроите камерата си, силно препоръчвам да ги изпратите на експертен техник.

Стъпка 4: Неща отрепки

Отрепки неща
Отрепки неща
Отрепки неща
Отрепки неща
Отрепки неща
Отрепки неща
Отрепки неща
Отрепки неща

Транзисторите са в основата на всички електронни технологии, които виждаме днес, за първи път са патентовани около 1925 г. от австро-унгарски немско-американски физик. Те бяха описани като устройство за контрол на тока. Преди тях трябваше да използваме вакуумни тръби, за да извършваме операциите, които транзисторите извършват днес (телевизия, усилватели, компютри).

Транзисторът има способността да контролира тока, протичащ от колектора към излъчвателя и ние можем да контролираме този ток, в общите транзистори с 3 крака, прилагайки ток към портата на транзистора. В повечето транзистори токът на портата се усилва, така че например, ако приложим 1 mA към портата, получаваме 120 mA, изтичащи от излъчвателя. Можем да си го представим като вентил за кран за вода.

Фототранзисторът е нормален транзистор, но вместо да има портален крак, портата е свързана с материал, чувствителен към снимките. Този материал създава малък ток, когато се възбужда от фотони, в нашия случай, фотони с дължина на вълната на IR. Така че, ние контролираме фото транзистор, променящ силата на източника на инфрачервена светлина.

Има някои спецификации, които трябва да вземем предвид, преди да купим и окабелим нашите елементи. Приложена е информация, извлечена от транзисторните и светодиодни листа с данни. Първо, трябва да проверим напрежението на пробив на транзистора, което е максималното напрежение, което може да издържи, например напрежението ми на пробив от емитер към колектор е 5V, така че ако го свържа с грешен източник 8V, ще изпържа транзистора. Също така проверете за разсейване на мощността, това означава колко ток може да достави транзистора, преди да умре. Моят казва 150mW. При 5V, 150mW означава източник 30 mA (Ватове = V * I). Ето защо реших да използвам ограничителен резистор от 220 Ω, тъй като при 5V резистор от 220 Ω позволява само преминаване на максимален ток от 23 mA. (Закон на Ом: V = I * R). Същият случай важи и за светодиода, информацията в информационния лист казва, че максималният му ток е около 50 mA, така че друг 220 Ω резистор ще бъде наред, защото нашият максимален изходен ток на извода Arduino е 40 mA и не искаме да изгорим щифтовете.

Трябва да свържем нашата настройка като тази на снимката. Ако използвате бутони като моя, внимавайте да поставите двете кръгли издатини в центъра на дъската. След това качете следния код в Arduino.

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

След качването отворете серийния плотер (Инструменти -> Сериен плотер) и гледайте какво се случва, когато натиснете бутона за превключване на IR LED. Ако искате да проверите дали инфрачервеният светодиод работи (също и телевизионни дистанционни управления), просто поставете камерата на мобилния си телефон пред светодиода и направете снимка. Ако е наред, ще видите синьо-лилава светлина, идваща от светодиода.

В серийния плотер можете да различавате кога светодиодът е включен и изключен, ако не, проверете кабелите си.

И накрая, можете да промените метода analogRead за digitalRead, така че да виждате само 0 или 1. Предлагам да направите забавяне след Setup (), за да избегнете фалшиво ниско четене, (картина с един малък LOW пик).

Препоръчано: