Cuprins:

Arduino Film Camera Shutter Checker: 4 pași
Arduino Film Camera Shutter Checker: 4 pași

Video: Arduino Film Camera Shutter Checker: 4 pași

Video: Arduino Film Camera Shutter Checker: 4 pași
Video: Ruideng TC66 / TC66C USB Type-C Tester - Way too good for just USB! 2024, Iulie
Anonim
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker

Recent am cumpărat două camere de film vechi uzate. După ce le-am curățat, mi-am dat seama că viteza obturatorului poate fi întârziată de praf, coroziune sau lipsa de ulei, așa că am decis să fac ceva pentru măsurarea timpului de expunere real al oricărei camere, pentru că, cu ochii mei goi, nu o pot măsura. Acest proiect folosește Arduino ca componentă principală pentru măsurarea timpului de expunere. Vom face un cuplu opto (LED IR și un foto-tranzistor IR) și vom citi cât timp este deschis declanșatorul camerei. În primul rând, voi explica modalitatea rapidă de a ne atinge obiectivul și, la final, vom vedea toată teoria din spatele acestui proiect.

Lista componentelor:

  • 1 x cameră cu film
  • 1 x Arduino Uno
  • 2 x 220 Ω rezistor de film de carbon
  • 1 x LED IR
  • 1 x Fototranzistor
  • 2 x panouri mici (sau 1 panou mare, suficient de mare pentru a se potrivi cu camera în centru)
  • Mulți jumperi sau cablu

* Aceste componente suplimentare sunt necesare pentru secțiunea de explicații

  • 1 x LED color normal
  • 1 x buton momentan

Pasul 1: Lucruri de cablare

Lucruri de cablare
Lucruri de cablare
Lucruri de cablare
Lucruri de cablare
Lucruri de cablare
Lucruri de cablare

Mai întâi, atașați LED-ul IR într-o placă de măsurare și fototranzistorul IR în cealaltă, astfel încât să le putem avea unul față de celălalt. Conectați un rezistor de 220 Ω la anodul LED (piciorul lung sau partea fără margine plană) și conectați rezistorul la sursa de alimentare de 5V de pe Arduino. Conectați, de asemenea, catodul cu LED-uri (piciorul scurt sau partea cu marginea plană) la unul dintre porturile GND din Arduino.

Apoi, conectați pinul colectorului pe tranzistorul foto (pentru mine este piciorul scurt, dar ar trebui să verificați foaia tehnică a tranzistorului pentru a vă asigura că îl conectați corect sau puteți termina să aruncați tranzistorul) la rezistorul de 220 Ω și rezistența la pinul A1 de pe Arudino, apoi conectați pinul emițător al tranzistorului foto (piciorul lung sau cel fără margine plană). În acest fel avem LED-ul IR întotdeauna aprins și tranzistorul foto setat ca întrerupător pentru chiuvetă.

Când lumina IR ajunge la tranzistor, va permite curentului să treacă de la pinul colector la pinul emițătorului. Vom seta pinul A1 să treacă de intrare în sus, deci pinul va fi întotdeauna în stare înaltă, cu excepția cazului în care tranzistorul scufundă curentul în masă.

Pasul 2: Programare

Configurați ID-ul dvs. Arduino (port, placă și programator) pentru a se potrivi cu configurația necesară pentru placa dvs. Arduino.

Copiați acest cod, compilați și încărcați:

int readPin = A1; // pin unde este conectat 330rezistorul de la fototranzistor

int ptValue, j; // punctul de stocare pentru datele citite din analogRead () blocare bool; // un bolean folosit pentru a citi starea readPin unsigned long timer, timer2; citit dublu; String select [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", „1000”}; mult așteptat [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // setăm comunicația serială la 9600 biți pe secundă pinMode (readPin, INPUT_PULLUP); // vom seta pinul mereu ridicat, cu excepția cazului în care tranzistorul foto se scufundă, așa că am „inversat” logica // înseamnă HIGH = fără semnal IR și LOW = semnal IR primit întârziere (200); // această întârziere este pentru a începe pornirea sistemului și pentru a evita citirile false j = 0; // inițializarea contorului nostru} void loop () {lock = digitalRead (readPin); // citirea stării pinului dat și atribuirea variabilei if (! lock) {// rulează numai când pinul este LOW timer = micros (); // setați temporizatorul de referință în timp ce (! blocare) {// faceți acest lucru în timp ce pinul este LOW, cu alte cuvinte, declanșatorul deschide temporizatorul2 = micros (); // luați un timp scurs de blocare a eșantionului = digitalRead (readPin); // citiți starea pinului pentru a afla dacă obturatorul s-a închis} Serial.print ("Poziție:"); // acest text este pentru afișarea informațiilor solicitate Serial.print (selectați [j]); Serial.print ("|"); Serial.print ("Timpul deschis:"); citit = (timer2 - timer); // calculați cât timp a fost deschis declanșatorul Serial.print (citit); Serial.print („noi”); Serial.print ("|"); Serial.print ("Așteptat:"); Serial.println (așteptat [j] * 1000); j ++; // măriți poziția obturatorului, acest lucru se poate face cu un buton}}

După încărcare, deschideți monitorul serial (Instrumente -> Monitor serial) și pregătiți camera pentru citiri

Rezultatele sunt afișate după cuvintele „timp deschis:”, toate celelalte informații sunt pre-programate.

Pasul 3: Configurare și măsurare

Configurare și măsurare
Configurare și măsurare
Configurare și măsurare
Configurare și măsurare
Configurare și măsurare
Configurare și măsurare
Configurare și măsurare
Configurare și măsurare

Scoateți obiectivele camerei și deschideți compartimentul pentru film. Dacă aveți deja un film încărcat, nu uitați să îl terminați înainte de a face această procedură sau veți deteriora fotografiile făcute.

Așezați LED-ul IR și tranzistorul foto IR pe părțile opuse ale camerei, una pe partea laterală a filmului și cealaltă în lateral în care erau obiectivele. Indiferent de ce parte utilizați pentru LED sau tranzistor, asigurați-vă că fac contact vizual atunci când declanșatorul este apăsat. Pentru a face acest lucru, setați declanșatorul pe „1” sau „B” și verificați monitorul serial când „faceți” o fotografie. Dacă obturatorul funcționează bine, monitorul ar trebui să afișeze o citire. De asemenea, puteți plasa un obiect opac între ele și îl puteți muta pentru a declanșa programul de măsurare.

Resetați Arduino cu butonul de resetare și faceți fotografii una câte una la viteze diferite de declanșare începând de la „B” la „1000”. Monitorul serial va imprima informațiile după închiderea declanșatorului. De exemplu, puteți vedea timpii măsurați de pe camerele de film Miranda și Praktica pe imaginile atașate.

Folosiți aceste informații pentru a efectua corecții atunci când faceți fotografii sau pentru a diagnostica starea camerei dvs. Dacă doriți să vă curățați sau să vă reglați camera, vă recomand să le trimiteți unui tehnician expert.

Pasul 4: Geeks Stuff

Lucruri Geeks
Lucruri Geeks
Lucruri Geeks
Lucruri Geeks
Lucruri Geeks
Lucruri Geeks
Lucruri Geeks
Lucruri Geeks

Tranzistoarele sunt baza tuturor tehnologiilor electronice pe care le vedem astăzi, au fost brevetate pentru prima dată în jurul anului 1925 de către un fizician germano-american de origine austro-ungară. Au fost descrise ca un dispozitiv pentru controlul curentului. Înaintea lor, a trebuit să folosim tuburi de vid pentru a face operațiunile pe care tranzistorii le fac astăzi (televizor, amplificatoare, computere).

Un tranzistor are capacitatea de a controla curentul care curge de la colector la emițător și putem controla acel curent, în tranzistoarele comune cu 3 picioare, aplicând curent pe poarta tranzistorului. În majoritatea tranzistoarelor, curentul porții este amplificat, astfel încât, de exemplu, dacă aplicăm 1 mA la poartă, obținem 120 mA care curg de la emițător. Ne putem imagina ca o supapă de la robinetul de apă.

Tranzistorul foto este un tranzistor normal, dar în loc să aibă un picior de poartă, poarta este conectată la un material foto sensibil. Acest material generează un mic curent atunci când este excitat de fotoni, în cazul nostru, fotoni cu lungime de undă IR. Deci, controlăm un tranzistor foto care modifică puterea sursei de lumină IR.

Există câteva specificații pe care ar trebui să le luăm în considerare înainte de a cumpăra și conecta elementele noastre. Atașate sunt informații preluate din tranzistor și fișe tehnice LED. În primul rând, trebuie să verificăm tensiunea de rupere a tranzistorului, care este tensiunea maximă pe care o poate suporta, de exemplu, tensiunea mea de rupere de la emițător la colector este de 5V, deci dacă o conectez greșit, obținând 8V, voi prăji tranzistorul. De asemenea, verificați dacă disipa puterea, înseamnă cât de mult curent poate livra tranzistorul înainte de a muri. Al meu spune 150mW. La 5V, 150mW înseamnă aprovizionarea cu 30 mA (wați = V * I). De aceea am decis să folosesc un rezistor de limitare de 220 Ω, deoarece, la 5V, un rezistor de 220 Ω permite doar trecerea unui curent maxim de 23 mA. (Legea lui Ohm: V = I * R). Același caz este valabil și pentru LED, informațiile din foaia tehnică spun că curentul său maxim este de aproximativ 50mA, deci, un alt rezistor de 220 Ω va fi ok, deoarece curentul nostru de ieșire pin Arduino este de 40 mA și nu vrem să ardem pinii.

Trebuie să ne conectăm configurarea ca cea din imagine. Dacă utilizați butoane ca ale mele, aveți grijă să puneți cele două protuberanțe rotunde în centrul plăcii. Apoi, încărcați următorul cod pe Arduino.

int readPin = A1; // pin unde este conectat 220rezistorul de la fototransistorint ptValue, j; // punctul de stocare pentru datele citite din analogRead () void setup () {Serial.begin (9600); } void loop () {ptValue = analogRead (readPin); // citim valoarea tensiunii pe readPin (A1) Serial.println (ptValue); // în acest fel, trimitem datele citite pe monitorul serial, astfel încât să putem verifica ce se întâmplă întârziere (35); // doar o întârziere pentru a ușura capturile de ecran}

După încărcare, deschideți-vă plotterul serial (Instrumente -> Serial plotter) și urmăriți ce se întâmplă când apăsați butonul de comutare IR LED. Dacă doriți să verificați dacă LED-ul IR funcționează (și telecomandele televizorului), puneți camera telefonului mobil în fața LED-ului și faceți o fotografie. Dacă este ok, veți vedea o lumină albastru-violet care vine de la LED.

În plotterul serial puteți diferenția când LED-ul este aprins și oprit, dacă nu, verificați cablajul.

În cele din urmă, puteți schimba metoda analogRead pentru o citire digitală, astfel încât să puteți vedea doar 0 sau 1. Vă sugerez să faceți o întârziere după configurare () pentru a evita o citire LOW falsă (imagine cu un vârf mic LOW).

Recomandat: