Mundarija:

Arduino filmli kamera deklanşörü: 4 qadam
Arduino filmli kamera deklanşörü: 4 qadam

Video: Arduino filmli kamera deklanşörü: 4 qadam

Video: Arduino filmli kamera deklanşörü: 4 qadam
Video: Dijital Fotoğraf Makineleri - Fotoğraf Kursu - Ders 5 2024, Iyul
Anonim
Arduino filmli kamera deklanşörü
Arduino filmli kamera deklanşörü
Arduino filmli kamera deklanşörü
Arduino filmli kamera deklanşörü

Yaqinda men ikkita ishlatilgan eski kino kamerani sotib oldim. Ularni tozalashdan so'ng, tortishish tezligi chang, korroziya yoki yog 'etishmasligidan kechikishi mumkinligini tushundim, shuning uchun har qanday kameraning haqiqiy ekspozitsiya vaqtini o'lchash uchun biror narsa yasashga qaror qildim, chunki men uni yalang'och ko'zlarim bilan o'lchay olmayman. Bu loyiha ekspozitsiya vaqtini o'lchash uchun asosiy komponent sifatida Arduino -dan foydalanadi. Biz opto-juftlikni (IR LED va IQ foto-tranzistor) yaratamiz va kameraning deklanşörü qancha vaqt ochilganligini o'qiymiz. Birinchidan, men o'z maqsadimizga tez erishish yo'lini tushuntiraman va oxirida biz bu loyiha ortidagi barcha nazariyalarni ko'ramiz.

Komponentlar ro'yxati:

  • 1 x kino kamerasi
  • 1 x Arduino Uno
  • 2 x 220 Ω uglerodli plyonka qarshiligi
  • 1 x IQ LED
  • 1 x fototransistor
  • 2 x kichik taxtalar (yoki kameraning markaziga mos keladigan kattakon 1 ta katta stol)
  • Ko'p o'tish yoki kabel

*Bu qo'shimcha komponentlar tushuntirish bo'limi uchun kerak

  • 1 x Oddiy rangli LED
  • 1 x lahzali tugma

1 -qadam: simlarni ulash

Elektr simlari
Elektr simlari
Elektr simlari
Elektr simlari
Elektr simlari
Elektr simlari

Birinchidan, IQ LEDni bitta taxtaga, ikkinchisiga esa IR fototransistorini ulang, shunda biz ularni bir -biriga qarata olamiz. LED anodga (uzun oyoq yoki tekis chegarasiz yon) 220 dyuymli bitta rezistorni ulang va qarshilikni Arduino -dagi 5V quvvat manbaiga ulang. LED katodini (qisqa oyog'i yoki tekis chegarasi bo'lgan tomoni) Arduino -dagi GND portlaridan biriga ulang.

Keyin, foto tranzistoridagi Kollektor pinini sim bilan ulang (men uchun qisqa oyoq, lekin siz uni to'g'ri ulashingiz yoki tranzistorni portlatib yuborishingizga ishonch hosil qilish uchun tranzistor ma'lumotlar jadvalini tekshirishingiz kerak) va 220 Ω rezistorga rezistorni Arudino ustidagi A1 piniga ulang, so'ngra foto tranzistorning Emitter pinini ulang (uzun oyoqli yoki tekis chegarasiz). Shunday qilib, bizda IQ LED har doim yonib turadi va lavabo kaliti sifatida foto tranzistor o'rnatilgan.

IQ chiroq tranzistorga kelganda, u kollektor pimidan emitter piniga tokni o'tkazishga imkon beradi. Biz A1 pinini kirish chizig'iga o'rnatamiz, shuning uchun, agar tranzistor tokni massaga singdirmasa, pin har doim yuqori holatda bo'ladi.

2 -qadam: dasturlash

Arduino IDE (port, karta va dasturchi) ni Arduino platasi uchun kerakli konfiguratsiyaga mos keladigan qilib o'rnating.

Ushbu kodni nusxalash, kompilyatsiya qilish va yuklash:

int readPin = A1; // pin 330 rezistor fototransistordan ulangan

int ptValue, j; // analogRead () bool qulfidan o'qilgan ma'lumotlarni saqlash nuqtasi; // bolean readPin belgisiz uzun taymer, taymer2 holatini o'qish uchun ishlatilgan; ikki marta o'qilgan; Qatorni tanlang [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; uzoq kutilgan [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // ketma -ket aloqani sekundiga 9600 bitga o'rnatamiz pinMode (readPin, INPUT_PULLUP); // biz pinni har doim baland qilib o'rnatamiz, faqat foto tranzistor cho'kayotganidan tashqari, shuning uchun biz mantiqni "teskari" o'zgartirdik // bu YUQORI = IQ signalining yo'qligi va LOW = IQ signalining kechikishi (200); // bu kechikish tizimni ishga tushirish va j = 0 noto'g'ri o'qishdan saqlanish uchun; // hisoblagichimizni ishga tushirish} void loop () {lock = digitalRead (readPin); // berilgan pin holatini o'qish va agar o'zgaruvchiga tayinlasa (! lock) {// faqat pin LOW taymer = micros () bo'lsa; // tayanch taymerini belgilang, (! qulflang) {// buni pin pastda bajaring, boshqacha aytganda, tortishish taymeri2 = mikros (); // o'tgan vaqt namunasini oling = digitalRead (readPin); // deklanşör yopilganligini bilish uchun pin holatini o'qing} Serial.print ("Manzil:"); // bu matn kerakli ma'lumotlarni ko'rsatish uchun mo'ljallangan Serial.print ([j] -ni tanlang); Serial.print ("|"); Serial.print ("Vaqt ochildi:"); o'qilgan = (taymer2 - taymer); // deklanşör qancha vaqt ochilganligini hisoblang Serial.print (o'qilgan); Serial.print ("biz"); Serial.print ("|"); Serial.print ("Kutilmoqda:"); Serial.println (kutilgan [j]*1000); j ++; // deklanşör o'rnini oshirish, buni tugma bilan qilish mumkin}}

Yuklash tugagandan so'ng, ketma -ket monitorni oching (Asboblar -> Serial monitor) va kamerani o'qishga tayyorlang

Natijalar "ochilgan vaqt" so'zlaridan keyin ko'rsatiladi, qolgan barcha ma'lumotlar oldindan dasturlashtirilgan.

3 -qadam: O'rnatish va o'lchash

O'rnatish va o'lchash
O'rnatish va o'lchash
O'rnatish va o'lchash
O'rnatish va o'lchash
O'rnatish va o'lchash
O'rnatish va o'lchash
O'rnatish va o'lchash
O'rnatish va o'lchash

Kamera linzalarini echib oling va kino bo'linmasini oching. Agar sizda film yuklangan bo'lsa, uni bajarishdan oldin tugatishni unutmang, aks holda siz olingan rasmlarga zarar etkazasiz.

IQ LED va IQ foto transistorini kameraning qarama -qarshi tomonlariga joylashtiring, bittasi plyonkaning yon tomoniga, ikkinchisi esa linzalar edi. LED yoki tranzistor uchun qaysi tomondan foydalanmasligingizdan qat'i nazar, deklanşör bosilganda ular vizual aloqa qilishiga ishonch hosil qiling. Buning uchun deklanşörü "1" yoki "B" ga qo'ying va rasmni "olish" paytida ketma -ket monitorni tekshiring. Agar deklanşör yaxshi ishlayotgan bo'lsa, monitor o'qishni ko'rsatishi kerak. Shuningdek, siz ularning orasiga shaffof bo'lmagan ob'ektni qo'yib, o'lchash dasturini ishga tushirish uchun harakatlantira olasiz.

Qayta tiklash tugmasi bilan Arduino -ni qayta o'rnating va "B" dan "1000" gacha har xil tortishish tezligida birma -bir suratga oling. Ketma -ket yopilgandan keyin ketma -ket monitor ma'lumotni chop etadi. Misol tariqasida, Miranda va Praktica kameralaridan o'lchangan vaqtni ilova qilingan rasmlarda ko'rishingiz mumkin.

Suratga olish yoki kamerangiz holatini aniqlashda ushbu ma'lumotlarni ishlating. Agar siz kamerangizni tozalashni yoki sozlashni xohlasangiz, ularni tajribali ustaga yuborishni tavsiya qilaman.

4 -qadam: Geeks Stuff

Geeks narsalar
Geeks narsalar
Geeks narsalar
Geeks narsalar
Geeks narsalar
Geeks narsalar
Geeks narsalar
Geeks narsalar

Transistorlar bugungi kunda biz ko'rib turgan barcha elektron texnologiyalarning asosidir, ular birinchi marta 1925 yilda Avstriya-Vengriyada tug'ilgan nemis-amerikalik fizik tomonidan patentlangan. Ular oqimni boshqaruvchi qurilma sifatida tasvirlangan. Ulardan oldin, biz bugungi kunda tranzistorlar (televizor, kuchaytirgichlar, kompyuterlar) operatsiyalarini bajarish uchun vakuumli quvurlardan foydalanishimiz kerak edi.

Transistor kollektordan emitentga o'tayotgan tokni boshqarish qobiliyatiga ega va biz bu tokni tranzistor darvozasiga tokni 3 oyoqli umumiy tranzistorlarda boshqarishimiz mumkin. Ko'pgina tranzistorlarda eshik oqimi kuchayadi, shuning uchun, masalan, agar biz eshikka 1 mA qo'llasak, emitentdan 120 mA oqadi. Biz buni suv kranining vana sifatida tasavvur qilishimiz mumkin.

Fotosurat tranzistori oddiy tranzistor, lekin darvoza oyog'ining o'rniga darvoza fotosuratga sezgir materialga ulangan. Bu material fotonlar bilan qo'zg'alganda kichik tokni keltirib chiqaradi, bizda IQ to'lqin uzunligi fotonlari. Shunday qilib, biz IQ yorug'lik manbasining kuchini o'zgartiradigan foto tranzistorni boshqaramiz.

Elementlarni sotib olish va ulashdan oldin, biz ba'zi xususiyatlarni hisobga olishimiz kerak. Transistorlar va LED ma'lumot varaqlaridan olingan ma'lumotlar biriktirilgan. Birinchidan, biz tranzistorning ishdan chiqish voltajini tekshirib ko'rishimiz kerak, bu maksimal kuchlanishdir, masalan, emitentdan kollektorgacha bo'lgan kuchlanishim 5V, shuning uchun agar men 8V noto'g'ri manbadan o'tkazgan bo'lsam, tranzistorni qovuraman. Bundan tashqari, quvvat sarfini tekshiring, bu o'limdan oldin tranzistorga qancha oqim berishi mumkinligini bildiradi. Meniki 150 mVt. 5Vda 150 mVt 30 mA (Vatt = V * I) manbasini bildiradi. Shuning uchun men 220 Ω cheklovli rezistorni ishlatishga qaror qildim, chunki 5V da 220 Ω qarshilik faqat 23 mA maksimal oqimni o'tkazishga imkon beradi. (Ohm qonuni: V = I * R). Xuddi shu holat LED uchun ham amal qiladi, ma'lumot varag'i ma'lumotida uning maksimal oqimi 50 mA ga teng, shuning uchun boshqa 220 Ω qarshilik yaxshi bo'ladi, chunki bizning Arduino pin maksimal chiqish oqimi 40 mA va biz pinlarni yoqishni xohlamaymiz.

Rasmda bo'lgani kabi biz o'rnatishni ulashimiz kerak. Agar siz meniki kabi tugmalardan foydalansangiz, ikkita dumaloq chiqadigan joyni taxtaning o'rtasiga qo'yishga e'tibor bering. Keyin Arduino -ga quyidagi kodni yuklang.

int readPin = A1; // ptValue fototransistorintidan 220 rezistor ulangan pin; // analogRead () void setup () {Serial.begin (9600) dan o'qilgan ma'lumotlarni saqlash nuqtasi; } void loop () {ptValue = analogRead (readPin); // biz readPin (A1) Serial.println (ptValue) da kuchlanish qiymatini o'qiymiz; // shu tarzda, biz o'qilgan ma'lumotlarni ketma -ket monitorga yuboramiz, shuning uchun biz kechikish nima bo'layotganini tekshirishimiz mumkin (35); // ekran tasvirini osonlashtirish uchun faqat kechikish}

Yuklagandan so'ng, ketma -ket plotterni oching (Asboblar -> Seriya chizgich) va IR LED tugmachasini bosganingizda nima bo'lishini ko'ring. Agar siz IQ LEDining ishlayotganini tekshirmoqchi bo'lsangiz (televizorni masofadan boshqarish pulti ham), uyali telefon kamerangizni LED oldiga qo'ying va suratga oling. Agar bu to'g'ri bo'lsa, siz LED-dan ko'k-binafsha rang chiroqni ko'rasiz.

Seriyali chizgichda siz LEDni yoqish va o'chirishni farqlashingiz mumkin, agar bo'lmasa, simlaringizni tekshiring.

Oxir -oqibat, siz analogRead usulini digitalRead uchun o'zgartirishingiz mumkin, shuning uchun siz faqat 0 yoki 1 ni ko'rishingiz mumkin. LOW LOW noto'g'ri o'qilmasligi uchun, O'rnatishdan so'ng () past kechiktirishni taklif qilaman.

Tavsiya: