Sisällysluettelo:

Arduino Film Camera Shutter Checker: 4 vaihetta
Arduino Film Camera Shutter Checker: 4 vaihetta

Video: Arduino Film Camera Shutter Checker: 4 vaihetta

Video: Arduino Film Camera Shutter Checker: 4 vaihetta
Video: Shutter Speed Detector with Arduino 2024, Heinäkuu
Anonim
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker

Ostin äskettäin kaksi käytettyä vanhaa filmikameraa. Puhdistamisen jälkeen tajusin, että pöly, korroosio tai öljynpuute voivat hidastaa suljinnopeutta, joten päätin tehdä jotain minkä tahansa kameran todellisen valotusajan mittaamiseksi, koska paljain silmin en voi mitata sitä Tämä projekti käyttää Arduinoa pääkomponenttina näyttelyajan mittaamiseen. Teemme optioparin (IR-LED ja IR-valotransistori) ja luemme kuinka kauan kameran suljin on auki. Ensin selitän nopean tavan saavuttaa tavoitteemme ja lopuksi näemme koko tämän projektin taustalla olevan teorian.

Luettelo komponenteista:

  • 1 x filmikamera
  • 1 x Arduino Uno
  • 2 x 220 Ω hiilikalvovastus
  • 1 x IR -LED
  • 1 x valotransistori
  • 2 x pienet leipälaudat (tai 1 iso leipälauta, tarpeeksi suuri, jotta se mahtuu kameraan keskelle)
  • Useita puseroita tai kaapelia

*Tätä lisäosaa tarvitaan selitysosassa

  • 1 x normaalin värin LED
  • 1 x hetkellinen painike

Vaihe 1: Johdotustarvikkeet

Johdotustarvikkeet
Johdotustarvikkeet
Johdotustarvikkeet
Johdotustarvikkeet
Johdotustarvikkeet
Johdotustarvikkeet

Kiinnitä ensin IR -LED yhteen leipälevyyn ja IR -fototransistori toiseen, jotta voimme asettaa ne vastakkain. Liitä yksi 220 Ω vastus LED -anodiin (pitkä jalka tai sivu ilman litteää reunaa) ja kytke vastus Arduinon 5 V: n virtalähteeseen. Liitä myös LED -katodi (lyhyt jalka tai sivu, jossa on tasainen reuna) yhteen Arduinon GND -porteista.

Kytke seuraavaksi keräimen nasta valotransistoriin (minulle lyhyt jalka, mutta sinun on tarkistettava transistorin tietolomake varmistaaksesi, että liität sen oikein tai voit lopettaa transistorin räjäytyksen) 220 Ω vastukseen ja vastus Arudinon nastaan A1 ja liitä sitten valotransistorin lähetin (pitkä jalka tai se, jolla ei ole tasaista reunapuolta). Näin IR -LED on aina päällä ja valotransistori asetettu pesualtaan kytkimeksi.

Kun infrapunavalo saapuu transistoriin, se sallii virran kulkea keräimen tapista emitterin tappiin. Asetamme A1 -nastan syöttövetoon, joten tappi on aina korkealla, ellei transistori upota virtaa massaan.

Vaihe 2: Ohjelmointi

Määritä Arduino IDE (portti, kortti ja ohjelmoija) vastaamaan Arduino -korttisi kokoonpanoa.

Kopioi tämä koodi, käännä ja lataa:

int readPin = A1; // nasta, johon valotransistorin 330 -vastus on kytketty

int ptValue, j; // analogRead () bool lock -lukemalla luetun datan tallennuspiste; // bolean, jota käytetään ReadPin -tilan lukemiseen, allekirjoittamaton pitkä ajastin, timer2; kaksinkertainen lukeminen; Merkkijono valitse [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; kauan odotettu [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // asetamme sarjaliikenteen nopeudeksi 9600 bittiä sekunnissa pinMode (readPin, INPUT_PULLUP); // aiomme asettaa nastan aina korkealle paitsi silloin, kun valotransistori on uppoamassa, joten "käänsimme" logiikan // se tarkoittaa HIGH = ei IR -signaalia ja LOW = IR -signaalin vastaanotoviive (200); // tämä viive koskee järjestelmän käynnistämistä ja väärien lukujen välttämistä j = 0; // laskurin alustaminen} void loop () {lock = digitalRead (readPin); // luetaan annetun nastan tila ja määritetään se muuttujalle if (! lock) {// suoritetaan vain, kun nasta on LOW timer = micros (); // aseta viiteajastin (! lukko) {// tee tämä, kun nasta on MATALA, toisin sanoen sulkimen avausajastin2 = micros (); // ota kulunut aika näytteen lukitus = digitalRead (readPin); // lue nastan tila tietääksesi onko suljin suljettu} Serial.print ("Position:"); // tämä teksti on haluttujen tietojen näyttämiseen Serial.print (valitse [j]); Serial.print ("|"); Serial.print ("Aika avattu:"); luettu = (ajastin2 - ajastin); // laskea kuinka kauan suljin oli auki Serial.print (luettu); Serial.print ("me"); Serial.print ("|"); Serial.print ("Odotettu:"); Sarja.println (odotettu [j]*1000); j ++; // lisää sulkimen asentoa, tämä voidaan tehdä painikkeella}}

Kun lataus on valmis, avaa sarjamonitori (Työkalut -> Sarjamonitori) ja valmista kamera lukemiin

Tulokset näytetään "aika auki" -sanojen jälkeen, kaikki muu tieto on esiohjelmoitu.

Vaihe 3: Asennus ja mittaus

Asennus ja mittaus
Asennus ja mittaus
Asennus ja mittaus
Asennus ja mittaus
Asennus ja mittaus
Asennus ja mittaus
Asennus ja mittaus
Asennus ja mittaus

Ota kameran linssit pois ja avaa filmilokero. Jos kalvo on jo ladattu, muista lopettaa se ennen tämän toimenpiteen suorittamista, muuten vahingoitat ottamiasi valokuvia.

Aseta IR -LED ja IR -valotransistori kameran vastakkaisille puolille, toinen kalvon puolelle ja toinen sivulle, jossa linssit olivat. Riippumatta siitä, kumpaa puolta käytät LED -valossa tai transistorissa, varmista, että ne koskettavat suljinta suljettaessa. Tätä varten aseta suljin asentoon "1" tai "B" ja tarkista sarjamonitori "ottaessasi" valokuvaa. Jos suljin toimii hyvin, näytön pitäisi näyttää lukema. Voit myös sijoittaa läpinäkymättömän esineen niiden väliin ja siirtää sitä käynnistääksesi mittausohjelman.

Nollaa Arduino nollauspainikkeella ja ota valokuvia yksitellen eri suljinnopeuksilla, jotka alkavat "B" - "1000". Sarjamonitori tulostaa tiedot sulkimen sulkemisen jälkeen. Esimerkkinä näet Miranda- ja Praktica -filmikameroista mitatut ajat liitteenä olevissa kuvissa.

Käytä näitä tietoja korjataksesi kuvia ottaessasi tai diagnosoidaksesi kameran tilan. Jos haluat puhdistaa tai virittää kamerasi, suosittelen lähettämään ne ammattitaitoiselle teknikolle.

Vaihe 4: Geeks Stuff

Pellejä
Pellejä
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff

Transistorit ovat kaiken nykypäivänä näkemämme elektronisen tekniikan perusta, ja ensimmäisen kerran patentoi ne noin vuonna 1925 itävaltalais-unkarilaissyntyinen saksalais-amerikkalainen fyysikko. Niitä kuvattiin laitteena virran säätämiseen. Ennen niitä meidän oli käytettävä tyhjiöputkia transistorien nykyisiin toimintoihin (televisio, vahvistimet, tietokoneet).

Transistorilla on kyky ohjata virtaa, joka virtaa kollektorista emitteriin, ja voimme ohjata tätä virtaa kolmessa jalassa olevissa yhteisissä transistoreissa käyttämällä virtaa transistoriportissa. Useimmissa transistoreissa hilavirtaa vahvistetaan, joten esimerkiksi jos käytämme 1 mA porttiin, saamme 120 mA virtaa emitteristä. Voimme kuvitella sen vesihanaventtiiliksi.

Valotransistori on normaali transistori, mutta sen sijaan, että sillä olisi porttijalka, portti on liitetty valokuvan kannalta järkevään materiaaliin. Tämä materiaali tuottaa pienen virran, kun fotonit, tässä tapauksessa IR -aallonpituuden fotonit, virittävät sitä. Joten ohjaamme valotransistoria, joka muuttaa IR -valonlähteen tehoa.

Jotkut tiedot on otettava huomioon ennen osien ostamista ja johdotusta. Liitteenä on tiedot, jotka on haettu transistorista ja LED -tietolomakkeista. Ensinnäkin meidän on tarkistettava transistorin hajoamisjännite, joka on suurin jännite, jota se voi käsitellä, esimerkiksi hajoamisjännite lähettäjältä kollektorille on 5 V, joten jos johdan sen väärään hankintaan 8 V, paistan transistorin. Tarkista myös virran hajoaminen, se tarkoittaa, kuinka paljon virtaa transistori voi toimittaa ennen kuolemaa. Oma sanoo 150mW. 5 V: n jännitteellä 150 mW tarkoittaa 30 mA: n hankkimista (wattia = V * I). Siksi päätin käyttää 220 Ω rajoitinvastusta, koska 5 V: n jännitteellä 220 Ω: n vastus sallii vain 23 mA: n maksimivirran siirtämisen. (Ohmin laki: V = I * R). Sama tapaus koskee LEDiä, tietolomakkeen tiedot sanovat, että sen maksimivirta on noin 50 mA, joten toinen 220 Ω: n vastus on ok, koska Arduino -nastan maksimilähtövirta on 40 mA, emmekä halua polttaa nastoja.

Meidän on yhdistettävä kokoonpanomme kuvan mukaisesti. Jos käytät minun kaltaisia painikkeita, aseta kaksi pyöreää ulkonemaa levyn keskelle. Lataa sitten seuraava koodi Arduinolle.

int readPin = A1; // nasta, johon on kytketty 220 -vastus fototransistorintista ptValue, j; // analogRead () void setup () {Serial.begin (9600) luetun datan tallennuspiste } void loop () {ptValue = analoginenLue (lukuPin); // luemme jännitearvon readPin (A1) Serial.println (ptValue); // tällä tavalla lähetämme luetut tiedot sarjamonitoriin, jotta voimme tarkistaa, mitä tapahtuu viive (35); // vain viivytys kuvakaappausten helpottamiseksi}

Avaa lataamisen jälkeen sarjaplotteri (Työkalut -> Sarjaplotteri) ja katso, mitä tapahtuu, kun painat IR -LED -kytkinpainiketta. Jos haluat tarkistaa, toimiiko IR -LED (myös TV -kaukosäätimet), aseta matkapuhelimesi kamera LED -valon eteen ja ota valokuva. Jos se on kunnossa, LED-valosta tulee sini-violetti valo.

Sarjaplotterissa voit erottaa, milloin LED palaa ja sammuu, jos ei, tarkista johdotus.

Lopuksi voit muuttaa analogRead -menetelmää digitalReadille, jolloin näet vain 0 tai 1. Ehdotan viivytystä asennuksen jälkeen () välttääksesi väärän LOW -lukeman (kuva, jossa on yksi pieni LOW -huippu).

Suositeltava: