Mündəricat:

Arduino Film Kamera Deklanşörü: 4 addım
Arduino Film Kamera Deklanşörü: 4 addım

Video: Arduino Film Kamera Deklanşörü: 4 addım

Video: Arduino Film Kamera Deklanşörü: 4 addım
Video: Kerimcan Durmaz Aliiiiğğğ Biçim'i sokakta görür @bicimali @MesutCanTomay @kerimcandurmaz#alibiçim 2024, Iyun
Anonim
Arduino Film Kamera Deklanşörü
Arduino Film Kamera Deklanşörü
Arduino Film Kamera Deklanşörü
Arduino Film Kamera Deklanşörü

Bu yaxınlarda iki köhnə köhnə film kamerası aldım. Onları təmizlədikdən sonra, çekim sürətinin toz, korroziya və ya yağ çatışmazlığından gecikə biləcəyini anladım, buna görə hər hansı bir kameranın əsl ekspozisiya müddətini ölçmək üçün bir şey etmək qərarına gəldim, çünki gözlərimlə ölçə bilmirəm. Bu layihə ekspozisiya müddətini ölçmək üçün əsas komponent olaraq Arduino -dan istifadə edir. Bir opto cütü (IR LED və bir IR foto-tranzistor) edəcəyik və kameranın çekiminin nə qədər açıq olduğunu oxuyacağıq. Birincisi, məqsədimizə çatmağın sürətli yolunu izah edəcəyəm və sonunda bu layihənin arxasındakı bütün nəzəriyyələri görəcəyik.

Komponentlərin siyahısı:

  • 1 x Film Kamera
  • 1 x Arduino Uno
  • 2 x 220 Ω Karbon film rezistoru
  • 1 x IR LED
  • 1 x Fototransistor
  • 2 x Kiçik çörək taxtası (və ya kameranı ortada yerləşdirmək üçün 1 böyük çörək taxtası)
  • Bir çox atlama və ya kabel

*Bu əlavə komponentlər izahat bölməsi üçün lazımdır

  • 1 x Normal Rəngli LED
  • 1 x Anlıq düymə

Addım 1: Kablolama materialı

Məftillər
Məftillər
Məftillər
Məftillər
Məftillər
Məftillər

Birincisi, IR LEDini bir çörək taxtasına, digərinə isə IR Fototransistorunu bağlayın ki, onları bir -birinə baxa bilək. LED anoduna (uzun ayağı və ya düz haşiyəsiz tərəfi) 220 düymlük bir rezistoru qoşun və rezistoru Arduino -dakı 5V enerji təchizatına qoşun. LED katodunu (qısa ayağı və ya düz haşiyəli tərəfi) Arduino'daki GND portlarından birinə bağlayın.

Sonra, fotoşəkil tranzistorundakı Kollektor pinini (mənim üçün qısa ayaqdır, ancaq düzgün şəkildə bağladığınızdan əmin olmaq üçün tranzistor məlumat cədvəlinizi yoxlamalısınız və ya tranzistoru partlatmağı dayandıra bilərsiniz) 220 Ω rezistora və rezistoru Arudino üzərindəki A1 pininə bağlayın, sonra foto tranzistorun Emitter pinini (uzun ayağı və ya düz haşiyəsi olmayan) bağlayın. Bu şəkildə IR LED -i həmişə yanar və fotoşəkil tranzistoru bir lavabo açarı olaraq təyin olunur.

IR işığı tranzistora gəldikdə, cərəyanın Kollektor pinindən Emitter pininə keçməsinə imkan verəcəkdir. A1 pinini girişi yuxarıya çəkəcəyik, buna görə də tranzistor cərəyanı kütləyə batırmadıqca pin həmişə yüksək vəziyyətdə olacaq.

Addım 2: Proqramlaşdırma

Arduino IDE -ni (port, kart və proqramçı) Arduino lövhəniz üçün lazım olan konfiqurasiyaya uyğun qurun.

Bu kodu kopyalayın, tərtib edin və yükləyin:

int readPin = A1; // 330 rezistoru fototransistordan bağladığı yer

int ptValue, j; // analogRead () bool kilidindən oxunan məlumatların saxlama nöqtəsi; // readPin işarəsiz uzun timer, timer2 vəziyyətini oxumaq üçün istifadə olunan bolean; ikiqat oxumaq; Sətir seçin [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; çoxdan gözlənilən [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // serial ünsiyyətini saniyədə 9600 bit olaraq təyin edirik pinMode (readPin, INPUT_PULLUP); // fotoşəkil tranzistoru batdığı zaman istisna olmaqla, pimi həmişə yüksək səviyyəyə qoyacağıq, buna görə də məntiqi "tərsinə çevirdik" // YÜKSƏLİ = İQ siqnalının olmaması və LOW = İR siqnalının qəbul gecikməsi deməkdir (200); // bu gecikmə sistemin işə salınması və yalan oxunmaların qarşısını almaq üçündür j = 0; // sayğacımızı işə salırıq} void loop () {lock = digitalRead (readPin); // verilən pin vəziyyətini oxumaq və (! lock) {// yalnız pin LOW timer = micros () olduqda işləyərkən dəyişənə təyin etmək; // (! kilidi) olarkən istinad taymerini təyin edin {// pin LOW ikən bunu edin, başqa sözlə, çekim açma taymeri2 = mikros (); // keçən bir zaman nümunəsi kilidi = digitalRead (readPin); // panjurun bağlandığını bilmək üçün pin vəziyyətini oxuyun} Serial.print ("Mövqe:"); // bu mətn Serial.print (seçilmiş [j]) tələb olunan məlumatları göstərmək üçündür; Serial.print ("|"); Serial.print ("Zaman açıldı:"); oxunan = (timer2 - timer); // çekimin nə qədər açıq olduğunu hesablayın Serial.print (oxundu); Serial.print ("biz"); Serial.print ("|"); Serial.print ("Gözlənilir:"); Serial.println (gözlənilən [j]*1000); j ++; // deklanşörün mövqeyini artırın, bu bir düymə ilə edilə bilər}}

Yükləmə tamamlandıqdan sonra serial monitoru açın (Alətlər -> Serial monitor) və kameranı oxumağa hazırlayın

Nəticələr "açılan vaxt:" sözlərindən sonra göstərilir, bütün digər məlumatlar əvvəlcədən proqramlaşdırılmışdır.

Addım 3: Quraşdırma və Ölçmə

Quraşdırma və Ölçmə
Quraşdırma və Ölçmə
Quraşdırma və Ölçmə
Quraşdırma və Ölçmə
Quraşdırma və Ölçmə
Quraşdırma və Ölçmə
Quraşdırma və Ölçmə
Quraşdırma və Ölçmə

Kamera linzalarını çıxarın və film bölməsini açın. Artıq yüklənmiş bir filminiz varsa, bu proseduru etməzdən əvvəl bitirməyi unutmayın, əks halda çəkilmiş şəkillərə zərər verəcəksiniz.

IR LED və IR foto tranzistorunu kameranın əks tərəflərinə qoyun, biri filmin yan tərəfində, digəri isə linzalar idi. LED və ya tranzistor üçün hansı tərəfdən istifadə etməyinizdən asılı olmayaraq, deklanşöre basıldıqda vizual təmasda olduqlarından əmin olun. Bunu etmək üçün deklanşörü "1" və ya "B" üzərinə qoyun və şəkil "çəkərkən" serial monitorunu yoxlayın. Deklanşör yaxşı işləyirsə, monitor oxunuş göstərməlidir. Ayrıca, aralarında qeyri -şəffaf bir obyekt yerləşdirə və ölçmə proqramını işə salmaq üçün hərəkət etdirə bilərsiniz.

Arduino -nu sıfırlama düyməsi ilə sıfırlayın və "B" ilə "1000" ə qədər fərqli deklanşör sürətlərində bir -bir fotoşəkil çəkin. Deklanşör bağlandıqdan sonra serial monitor məlumatı çap edəcək. Misal olaraq, əlavə edilmiş şəkillərdə Miranda və Praktica film kameralarından ölçülmüş vaxtları görə bilərsiniz.

Foto çəkərkən və ya kameranızın vəziyyətini diaqnoz edərkən bu məlumatları düzəltmək üçün istifadə edin. Kameranızı təmizləmək və ya tənzimləmək istəyirsinizsə, onları bir mütəxəssisə göndərməyi məsləhət görürəm.

Addım 4: Geeks Stuff

Geeks Şeyləri
Geeks Şeyləri
Geeks Şeyləri
Geeks Şeyləri
Geeks Şeyləri
Geeks Şeyləri
Geeks Şeyləri
Geeks Şeyləri

Transistorlar, bu gün gördüyümüz bütün elektron texnologiyanın əsasını təşkil edir, ilk dəfə 1925-ci ildə Avstriya-Macarıstan əsilli Alman-Amerikalı bir fizik tərəfindən patentləşdirilmişdir. Onlar cərəyanı idarə edən bir cihaz kimi təsvir edilmişdir. Onlardan əvvəl, bu gün tranzistorların (televizor, gücləndiricilər, kompüterlər) əməliyyatlarını etmək üçün vakuum borulardan istifadə etməliydik.

Bir tranzistor, kollektordan emitentə axan cərəyanı idarə etmək qabiliyyətinə malikdir və bu cərəyanı tranzistor qapısına cərəyan tətbiq edərək 3 ayağı olan ümumi tranzistorlarda idarə edə bilərik. Əksər tranzistorlarda qapı cərəyanı artır, buna görə də, məsələn, qapıya 1 mA tətbiq etsək, emitordan 120 mA axan olur. Bunu su kranı klapanı kimi təsəvvür edə bilərik.

Fotoşəkil tranzistoru normal bir tranzistordur, ancaq bir qapı ayağına sahib olmaq əvəzinə, qapı fotoşəkil çəkən bir materiala bağlıdır. Bu material, fotonlar, bizim vəziyyətimizdə, IR dalğa uzunluğunda fotonlar tərəfindən həyəcanlandıqda kiçik bir cərəyan meydana gətirir. Beləliklə, İQ işıq mənbəyinin gücünü dəyişdirən bir foto tranzistoru idarə edirik.

Elementlərimizi satın almadan və bağlamadan əvvəl nəzərə almalı olduğumuz bəzi xüsusiyyətlər var. Transistordan və LED məlumat cədvəlindən alınan məlumatlar əlavə olunur. Birincisi, idarə edə biləcəyi maksimum gərginlik olan tranzistor qəza gərginliyini yoxlamalıyıq, məsələn, emitentdən kollektora olan qəza gərginliyim 5V -dir, buna görə də səhv 8V qaynaqlasam, tranzistoru qızardacağam. Ayrıca, güc itkisini yoxlayın, bu, ölmədən əvvəl tranzistora nə qədər cərəyan verə biləcəyi deməkdir. Mənimki 150 mVt. 5V -də 150mW 30 mA (Watt = V * I) mənbəyi deməkdir. Buna görə 220 Ω məhdudlaşdırıcı bir rezistor istifadə etməyə qərar verdim, çünki 5V -də 220 Ω rezistor yalnız 23 mA maksimum cərəyan keçirməyə imkan verir. (Ohm Qanunu: V = I * R). Eyni vəziyyət LED -ə aiddir, məlumat vərəqi məlumatı maksimum cərəyanının təxminən 50mA olduğunu söyləyir, buna görə başqa bir 220 Ω rezistor yaxşı olacaq, çünki Arduino pinimizin maksimum çıxış cərəyanı 40 mA -dır və pinləri yandırmaq istəmirik.

Quruluşumuzu şəkildəki kimi bağlamalıyıq. Mənim kimi düymələrdən istifadə edirsinizsə, iki yuvarlaq çıxıntıyı lövhənin ortasına qoymağa diqqət edin. Sonra aşağıdakı kodu Arduinoya yükləyin.

int readPin = A1; // 220 rezistorun fototransistorint ptValue, j -dən qoşulduğu pin; // analogRead () void setup () {Serial.begin (9600) -dən oxunan məlumatların saxlama nöqtəsi; } void loop () {ptValue = analogRead (readPin); // readPin (A1) Serial.println (ptValue) üzərindəki gərginlik dəyərini oxuyuruq; // bu şəkildə oxunan məlumatları serial monitoruna göndəririk, buna görə də gecikmənin nə olduğunu yoxlaya bilərik (35); // ekran görüntülərini asanlaşdırmaq üçün yalnız gecikmə}

Yüklədikdən sonra, serial plotterinizi açın (Alətlər -> Serial plotter) və IR LED açar düyməsini basdığınızda nə baş verdiyini izləyin. IR LED -nin işlədiyini yoxlamaq istəyirsinizsə (eyni zamanda televizor pultları) cib telefonunuzun kamerasını LED -in qarşısına qoyun və fotoşəkil çəkin. Yaxşı olarsa LED-dən gələn mavi-bənövşəyi bir işıq görürsünüz.

Serial plotterdə, LED açıldıqda və sönəndə fərqləndirə bilərsiniz, əgər deyilsə, kabellərinizi yoxlayın.

Nəhayət, digitalRead üçün analogRead metodunu dəyişə bilərsiniz, buna görə yalnız 0 və ya 1 görə bilərsiniz. Quraşdırmadan sonra LOW LOW oxumağın qarşısını almaq üçün gecikmə etməyi təklif edirəm (bir kiçik LOW pik şəkli).

Tövsiyə: