INHOUDSOPGAWE:

Arduino Film Camera Shutter Checker: 4 stappe
Arduino Film Camera Shutter Checker: 4 stappe

Video: Arduino Film Camera Shutter Checker: 4 stappe

Video: Arduino Film Camera Shutter Checker: 4 stappe
Video: Shutter Speed Detector with Arduino 2024, November
Anonim
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker

Onlangs het ek twee gebruikte ou filmkameras gekoop. Nadat ek dit skoongemaak het, het ek besef dat die sluiterspoed vertraag kan word deur stof, korrosie of olietekort, en ek het besluit om iets te maak om die werklike blootstellingstyd van enige kamera te meet, want ek kan dit met my blote oë nie meet nie Hierdie projek gebruik Arduino as die belangrikste komponent vir die meting van die blootstellingstyd. Ons gaan 'n opto-paartjie maak (IR LED en 'n IR fototransistor) en lees hoeveel tyd die kamera se sluiter oop is. Eerstens sal ek die vinnige manier om ons doel te bereik verduidelik, en aan die einde sien ons al die teorie agter hierdie projek.

Lys van komponente:

  • 1 x filmkamera
  • 1 x Arduino Uno
  • 2 x 220 Ω Koolstoffilmweerstand
  • 1 x IR LED
  • 1 x fototransistor
  • 2 x Klein broodborde (of 1 groot broodbord, groot genoeg om die kamera in die middel te pas)
  • Baie springers of kabel

*Hierdie ekstra komponente is nodig vir die verduidelikingsafdeling

  • 1 x LED met normale kleur
  • 1 x kort drukknop

Stap 1: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Plaas eers die IR -LED in die een broodplank en die IR -fototransistor in die ander sodat ons dit teenoor mekaar kan sit. Koppel een 220 Ω weerstand aan die LED -anode (die lang been of die sy sonder die plat rand) en koppel die weerstand aan die 5V kragtoevoer op die Arduino. Koppel ook die LED -katode (kort been of die kant met die plat rand) aan een van die GND -poorte in die Arduino.

Draai dan die versamelpen op die fototransistor (vir my is die kort been, maar u moet u transistorbladsy kontroleer om seker te maak of u dit op die regte manier bedrieg, of u kan die transistor opblaas) na die 220 Ω weerstand en die weerstand aan die pen A1 op die Arudino, en koppel dan die Emitter -pen van die fototransistor (die lang been of die een sonder 'n plat rand). Op hierdie manier het ons altyd die IR -LED aan en die fototransistor as 'n wasbakskakelaar.

As die IR -lig by die transistor aankom, kan die stroom van die versamelaarpen na die emitterpen oorgaan. Ons stel die A1 -pen in om die invoer in te trek, dus sal die pen altyd in 'n hoë toestand wees, tensy die transistor die stroom in massa laat sak.

Stap 2: Programmering

Stel u Arduino IDE (poort, bord en programmeerder) in ooreenstemming met die konfigurasie wat nodig is vir u Arduino -bord.

Kopieer hierdie kode, stel dit op en laai dit op:

int readPin = A1; // pen waar die 330 -weerstand van die fototransistor gekoppel is

int ptValue, j; // die stoorpunt vir die data gelees uit analogRead () bool lock; // 'n bolean wat gebruik word om die toestand van readPin ongetekende lang timer, timer2 te lees; dubbel gelees; String select [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; lank verwag [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; ongeldige opstelling () {Serial.begin (9600); // ons stel seriële kommunikasie op 9600 bits per sekonde pinMode (readPin, INPUT_PULLUP); // ons gaan die pen altyd hoog stel, behalwe as die fototransistor sink, so ons het die logika "omgekeer" // dit beteken HOOG = geen IR -sein en LAAG = IR -sein ontvang vertraging (200); // hierdie vertraging is om die stelsel te begin en valse metings te vermy j = 0; // ons teller} leegloop () {slot = digitalRead (readPin) initialiseer; // die toestand van die gegewe pen lees en dit aan die veranderlike toewys as (! lock) {// slegs uitgevoer word as die pin LOW timer is = micros (); // stel die verwysingstimer in terwyl (! slot) {// doen terwyl pen laag is, met ander woorde sluit sluiter timer2 = micros (); // neem 'n verstreke tyd monster slot = digitalRead (readPin); // lees die speldtoestand om te weet of die sluiter toegemaak is} Serial.print ("Position:"); // hierdie teks is vir die vertoon van die verlangde inligting Serial.print (kies [j]); Serial.print ("|"); Serial.print ("Tyd oopgemaak:"); gelees = (timer2 - timer); // bereken hoeveel tyd die sluiter oop was Serial.print (gelees); Serial.print ("ons"); Serial.print ("|"); Serial.print ("Verwag:"); Serial.println (verwag [j]*1000); j ++; // verhoog die posisie van die sluiter, dit kan met 'n knoppie gedoen word}}

Nadat die oplaai voltooi is, maak die seriële monitor oop (Tools -> Serial monitor) en berei die kamera voor vir lesings

Die resultate word getoon na die "tyd oopgemaak" woorde, al die ander inligting is vooraf geprogrammeer.

Stap 3: Opstel en meet

Opstel en meet
Opstel en meet
Opstel en meet
Opstel en meet
Opstel en meet
Opstel en meet
Opstel en meet
Opstel en meet

Verwyder u kameralense en maak die filmvak oop. As u 'n film reeds gelaai het, moet u dit eers voltooi voordat u hierdie prosedure uitvoer, anders beskadig u die foto's wat geneem is.

Plaas die IR -LED en die IR -fototransistor aan die teenoorgestelde kante van die kamera, een aan die kant van die film en die ander een aan die kant van die lens. Maak nie saak watter kant u vir die LED of die transistor gebruik nie, maak net seker dat hulle visueel kontak maak as die sluiter ingedruk word. Om dit te doen, stel die sluiter op "1" of "B" en kyk na die seriële monitor wanneer 'n foto geneem word. As die sluiter goed werk, moet die monitor 'n lesing toon. U kan ook 'n ondeursigtige voorwerp tussen hulle plaas en dit beweeg om die meetprogram te aktiveer.

Stel die Arduino terug met die reset -knoppie en neem een vir een foto's met verskillende sluitersnelhede wat begin met "B" tot "1000". Die seriële monitor sal die inligting druk nadat die sluiter gesluit is. As voorbeeld kan u die tye van 'n Miranda- en Praktica -filmkameras op die aangehegte beelde sien.

Gebruik hierdie inligting om regstellings uit te voer tydens die neem van foto's of om die toestand van u kamera te diagnoseer. As u u kamera wil skoonmaak of instel, beveel ek u aan om dit na 'n kundige tegnikus te stuur.

Stap 4: Geeks -dinge

Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff

Transistors is die basis van al die elektroniese tegnologie wat ons vandag sien; dit is die eerste keer omstreeks 1925 gepatenteer deur 'n Duits-Amerikaanse fisikus wat in Oostenryk gebore is. Hulle is beskryf as 'n toestel om stroom te beheer. Voor hulle moes ons vakuumbuise gebruik om die operasies te verrig wat transistors vandag doen (televisie, versterkers, rekenaars).

'N Transistor het die vermoë om die stroom wat van die kollektor na die emitter vloei te beheer, en ons kan die stroom beheer in die gewone transistors met 3 bene wat stroom op die transistorhek toedien. In die meeste transistors word die hekstroom versterk, dus as ons byvoorbeeld 1 mA op die hek toedien, kry ons 120 mA uit die emitter. Ons kan ons dit voorstel as 'n waterkraan.

Die fototransistor is 'n normale transistor, maar in plaas van 'n hekbeen, word die hek aan 'n foto -sinvolle materiaal gekoppel. Hierdie materiaal verkry 'n klein stroom as dit opgewonde is deur fotone, in ons geval, IR -golflengtefotone. Ons beheer dus 'n fototransistor wat die krag van die IR -ligbron verander.

Daar is 'n paar spesifikasies wat ons moet in ag neem voordat ons ons elemente koop en aansluit. Aangeheg is inligting verkry uit die transistor- en LED -gegewensblaaie. Eerstens moet ons die transistor -afbreekspanning nagaan, wat die maksimum spanning is wat dit kan hanteer, byvoorbeeld, my afbreekspanning van emitter na kollektor is 5V, so as ek 'n verkeerde aansluiting kry, sal ek die transistor braai. Kyk ook na die kragverlies, dit beteken hoeveel stroom die transistor kan lewer voordat dit sterf. Myne sê 150mW. By 5V beteken 150mW 30 mA (Watts = V * I). Daarom het ek besluit om 'n beperkerweerstand van 220 Ω te gebruik, want by 5V kan 'n 220 Ω -weerstand slegs 'n maksimum stroom van 23 mA deurgee. (Ohms wet: V = I * R). Dieselfde geval geld vir die LED, die gegewensblad -inligting sê dat die maksimum stroom ongeveer 50mA is, so 'n ander 220 Ω weerstand sal goed wees, want ons maksimum uitsetstroom van die Arduino -pen is 40 mA en ons wil nie die penne verbrand nie.

Ons moet ons installasie as die in die prentjie bedraad. As u knoppies soos myne gebruik, moet u die twee ronde uitsteeksels in die middel van die bord plaas. Laai dan die volgende kode op na die Arduino.

int readPin = A1; // pen waar die 220 -weerstand verbind is vanaf die fototransistorint ptValue, j; // die stoorpunt vir die data gelees uit analogRead () leemte -opstelling () {Serial.begin (9600); } leemte -lus () {ptValue = analogRead (readPin); // ons lees die spanningswaarde op die readPin (A1) Serial.println (ptValue); // op hierdie manier stuur ons die geleesde data na die seriële monitor, sodat ons kan kyk wat gebeur met vertraging (35); // net 'n vertraging om skermkiekies makliker te maak}

Nadat u dit opgelaai het, maak u die seriële plotter oop (Tools -> Serial plotter) en kyk wat gebeur as u op u IR LED -skakelaar knoppie druk. As u wil kyk of die IR -LED werk (ook TV -afstandsbedienings), plaas u selfoonkamera voor die LED en neem 'n foto. As dit reg is, sien u 'n blou-pers lig van die LED.

In die seriële plotter kan u onderskei wanneer die LED aan en af is, indien nie, kontroleer u bedrading.

Uiteindelik kan u die analogRead -metode vir 'n digitalRead verander, sodat u slegs 0 of 1. kan sien.

Aanbeveel: