Tartalomjegyzék:

Arduino filmkamera zársebesség -ellenőrző: 4 lépés
Arduino filmkamera zársebesség -ellenőrző: 4 lépés

Videó: Arduino filmkamera zársebesség -ellenőrző: 4 lépés

Videó: Arduino filmkamera zársebesség -ellenőrző: 4 lépés
Videó: photomeasure 749-DIS film camera shutter speed tester 2024, Július
Anonim
Arduino film fényképezőgép redőny ellenőrző
Arduino film fényképezőgép redőny ellenőrző
Arduino film fényképezőgép redőny ellenőrző
Arduino film fényképezőgép redőny ellenőrző

Nemrég vettem két használt, régi filmkamerát. Tisztításuk után rájöttem, hogy a zársebesség lemaradhat a por, a korrózió vagy az olajhiány miatt, ezért úgy döntöttem, hogy készítek valamit a fényképezőgép valós expozíciós idejének mérésére, mert puszta szememmel nem tudom mérni Ez a projekt az Arduino -t használja az expozíciós idő mérésének fő összetevőjeként. Készítünk egy opto párost (IR LED és egy IR fototranzisztor), és leolvassuk, mennyi ideig van nyitva a kamera redőnye. Először is elmagyarázom a cél elérésének gyors módját, és a végén meglátjuk a projekt mögött álló összes elméletet.

Alkatrészek listája:

  • 1 x filmkamera
  • 1 x Arduino Uno
  • 2 x 220 Ω szénfólia ellenállás
  • 1 x IR LED
  • 1 x fototranzisztor
  • 2 x kicsi kenyérsütő (vagy 1 nagy kenyérsütő, elég nagy ahhoz, hogy elférjen a kamera közepén)
  • Sok jumper vagy kábel

*Ezekre az extra összetevőkre van szükség a magyarázat részhez

  • 1 x normál színű LED
  • 1 x pillanatnyi nyomógomb

1. lépés: Vezetékek bekötése

Vezetékek
Vezetékek
Vezetékek
Vezetékek
Vezetékek
Vezetékek

Először rögzítse az IR LED -et az egyik kenyértáblába, és az IR fototranzisztorát a másikba, hogy egymással szemben állhassunk. Csatlakoztasson egy 220 Ω -os ellenállást a LED -anódhoz (a hosszú láb vagy a lapos szegély nélküli oldal), és csatlakoztassa az ellenállást az Arduino 5 V -os tápellátásához. Csatlakoztassa a LED katódot is (rövid láb vagy a lapos szegéllyel rendelkező oldal) az Arduino egyik GND portjához.

Ezután kösse be a gyűjtőtüskét a fototranzisztorra (számomra a rövid láb, de ellenőrizze a tranzisztor adatlapját, hogy megbizonyosodjon arról, hogy a megfelelő módon van bekötve, vagy befejezheti a tranzisztor felrobbantását) a 220 Ω -os ellenálláshoz és az ellenállást az Arudino A1 -es tüskéjéhez, majd csatlakoztassa a fototranzisztor Emitter -tüskéjét (a hosszú lábat vagy a lapos szegély nélküli oldalt). Így az IR LED mindig világít, és a fototranzisztor mosogatókapcsolónak van beállítva.

Amikor az infravörös lámpa megérkezik a tranzisztorhoz, lehetővé teszi, hogy az áram áthaladjon a kollektorcsapról a kibocsátó tüskére. Beállítjuk az A1 tüskét bemeneti felhúzásra, tehát a csap mindig magas állapotban lesz, kivéve, ha a tranzisztor tömegesre csökkenti az áramot.

2. lépés: Programozás

Állítsa be az Arduino IDE -t (port, tábla és programozó), hogy megfeleljen az Arduino kártya konfigurációjának.

Másolja ezt a kódot, fordítsa le és töltse fel:

int readPin = A1; // csap, ahol a fototranzisztor 330 ellenállása van csatlakoztatva

int ptValue, j; // az analogRead () bool lock által olvasott adatok tárolási pontja; // egy bolean, amely a readPin állapotának leolvasására szolgál, előjel nélküli hosszú időzítő, timer2; kétszer olvasva; String select [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; rég várt [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // soros kommunikációt 9600 bit/másodperc értékre állítunk pinMode (readPin, INPUT_PULLUP); // a tűt mindig magasra fogjuk állítani, kivéve, ha a fototranzisztor süllyed, tehát "megfordítottuk" a logikát // ez azt jelenti, hogy HIGH = nincs IR jel és LOW = IR jel vétel késleltetése (200); // ez a késleltetés a rendszer indításának engedélyezése és a hamis leolvasások elkerülése j = 0; // számlálónk inicializálása} void loop () {lock = digitalRead (readPin); // az adott pin állapotának kiolvasása és hozzárendelése a változóhoz, ha (! lock) {// csak akkor fut, ha a pin LOW timer = micros (); // állítsa be a referencia időzítőt, miközben (! zár) {// ezt tegye, amíg a tű LOW, más szóval, exponáló nyitási időzítő2 = micros (); // vegyen egy eltelt időt minta zár = digitalRead (readPin); // olvassa el a tüskés állapotot, hogy megtudja, bezáródott -e a redőny} Serial.print ("Position:"); // ez a szöveg a kért információk megjelenítésére szolgál Serial.print (válassza a [j] lehetőséget); Soros.nyomtatás ("|"); Serial.print ("Idő nyitva:"); olvasva = (timer2 - timer); // kiszámítja, hogy mennyi ideig volt nyitva a redőny Serial.print (olvasva); Serial.print ("mi"); Soros.nyomtatás ("|"); Serial.print ("Várható:"); Soros.println (várható [j]*1000); j ++; // növelje a redőny helyzetét, ezt egy gombbal meg lehet tenni}}

A feltöltés után nyissa meg a soros monitort (Eszközök -> Soros monitor), és készítse elő a fényképezőgépet a leolvasásra

Az eredmények a "nyitott idő" szavak után jelennek meg, az összes többi információ előre be van programozva.

3. lépés: Beállítás és mérés

Beállítás és mérés
Beállítás és mérés
Beállítás és mérés
Beállítás és mérés
Beállítás és mérés
Beállítás és mérés
Beállítás és mérés
Beállítás és mérés

Vegye le a fényképezőgép lencséit, és nyissa ki a filmtartót. Ha már betöltött egy filmet, ne felejtse el befejezni, mielőtt elvégezné ezt az eljárást, különben megsérül a készített fénykép.

Helyezze az IR LED -et és az IR fototranzisztorot a kamera ellentétes oldalaira, az egyiket a film oldalára, a másikat a lencsék oldalára. Függetlenül attól, hogy melyik oldalt használja a LED -hez vagy a tranzisztorhoz, csak győződjön meg arról, hogy vizuálisan érintkeznek -e a zár megnyomásakor. Ehhez állítsa a zárat "1" vagy "B" állásba, és ellenőrizze a soros monitort, amikor fényképet "készít". Ha a redőny jól működik, a monitornak leolvasást kell mutatnia. Ezenkívül átlátszatlan tárgyat helyezhet közéjük, és mozgatásával elindíthatja a mérési programot.

Állítsa alaphelyzetbe az Arduino -t a reset gombbal, és készítsen fényképeket egyenként különböző zársebességekkel, kezdve "B" -től "1000" -ig. A soros monitor kinyitja az információkat a zár bezárása után. Példaként láthatja a Miranda és Praktica filmkamerákból mért időket a mellékelt képeken.

Ezen információk segítségével javításokat végezhet fényképezéskor, vagy diagnosztizálhatja fényképezőgépének állapotát. Ha tisztítani vagy hangolni szeretné fényképezőgépét, javasoljuk, hogy küldje el szakértő technikusnak.

4. lépés: Geeks Stuff

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

A tranzisztorok képezik az alapját minden olyan elektronikus technológiának, amelyet ma látunk, először 1925 körül szabadalmaztatta őket egy osztrák-magyar származású német-amerikai fizikus. Úgy írták le őket, mint egy eszközt az áram szabályozására. Előtte vákuumcsöveket kellett használni a tranzisztorok mai műveletekhez (televízió, erősítők, számítógépek).

A tranzisztor képes szabályozni a kollektorból az emitterbe áramló áramot, és ezt az áramot tudjuk szabályozni a 3 lábú közös tranzisztorokban, áramot alkalmazva a tranzisztor kapun. A legtöbb tranzisztorban a kapuáramot felerősítik, így például, ha 1 mA -t alkalmazunk a kapura, 120 mA áramot kapunk az emitterből. El tudjuk képzelni, mint egy vízcsapot.

A fototranzisztor normál tranzisztor, de ahelyett, hogy kapu lenne, a kapu fényérzékeny anyaghoz van csatlakoztatva. Ez az anyag kis áramot termel, amikor fotonok gerjesztik, esetünkben IR hullámhosszú fotonok. Tehát egy fototranzisztor vezérlése módosítja az infravörös fényforrás teljesítményét.

Van néhány specifikáció, amelyet figyelembe kell vennünk az elemek vásárlása és bekötése előtt. A mellékelt információk a tranzisztorból és a LED adatlapokból származnak. Először is meg kell vizsgálnunk a tranzisztor meghibásodási feszültségét, amely a maximális feszültség, amelyet képes kezelni, például a meghibásodási feszültségem az emitterről a kollektorra 5V, tehát ha rosszul vezetem be 8V -ot, akkor megsütöm a tranzisztort. Ezenkívül ellenőrizze a teljesítményeloszlást, ez azt jelenti, hogy mennyi áram szállíthatja a tranzisztor elhalása előtt. Az enyém 150mW. 5 V -nál a 150 mW 30 mA -t jelent (Watts = V * I). Ezért úgy döntöttem, hogy 220 Ω -os korlátozó ellenállást használok, mert 5 V -nál a 220 Ω -os ellenállás csak 23 mA maximális áram átvitelét teszi lehetővé. (Ohm törvénye: V = I * R). Ugyanez vonatkozik a LED -re is, az adatlap adatai szerint a maximális áram körülbelül 50mA, tehát egy másik 220 Ω -os ellenállás rendben lesz, mert az Arduino tű maximális kimeneti árama 40 mA, és nem akarjuk elégetni a csapokat.

Be kell kötnünk a beállításunkat, mint a képen. Ha az enyémhez hasonló gombokat használ, ügyeljen arra, hogy a két kerek kiemelkedést a tábla közepére helyezze. Ezután töltse fel az alábbi kódot az Arduino -ba.

int readPin = A1; // pin ahol a 220 ellenállás csatlakozik a fototranzisztorintából ptValue, j; // az analogRead () void setup () {beolvasott adatok tárolási pontja {Serial.begin (9600); } void loop () {ptValue = analogRead (readPin); // leolvassuk a feszültség értékét a readPin (A1) Serial.println (ptValue); // így elküldjük a beolvasott adatokat a soros monitornak, így ellenőrizhetjük, mi történik késleltetés (35); // csak késleltetés, hogy megkönnyítsük a képernyőképeket}

A feltöltés után nyissa meg a soros plottert (Eszközök -> Soros plotter), és nézze meg, mi történik, ha megnyomja az IR LED kapcsológombját. Ha ellenőrizni szeretné, hogy működik -e az IR LED (TV -távirányító is), csak tegye a mobiltelefon kameráját a LED elé, és készítsen fényképet. Ha rendben van, kék-lila fényt lát a LED-ből.

A soros plotterben meg tudja különböztetni, mikor világít és nem világít a LED, ha nem, ellenőrizze a vezetékezést.

Végül megváltoztathatja az analogRead metódust a digitalRead számára, így csak 0 vagy 1 látható. Javaslom, hogy késleltesse a telepítést () a hamis LOW olvasás elkerülése érdekében (kép egy kis LOW csúccsal).

Ajánlott: