विषयसूची:

Arduino फिल्म कैमरा शटर चेकर: 4 कदम
Arduino फिल्म कैमरा शटर चेकर: 4 कदम

वीडियो: Arduino फिल्म कैमरा शटर चेकर: 4 कदम

वीडियो: Arduino फिल्म कैमरा शटर चेकर: 4 कदम
वीडियो: Programming The ESP32 Cam Using Arduino UNO 2024, जुलाई
Anonim
Arduino फिल्म कैमरा शटर परीक्षक
Arduino फिल्म कैमरा शटर परीक्षक
Arduino फिल्म कैमरा शटर परीक्षक
Arduino फिल्म कैमरा शटर परीक्षक

हाल ही में मैंने दो पुराने पुराने फिल्म कैमरे खरीदे। उन्हें साफ करने के बाद मैंने महसूस किया कि शटर की गति धूल, जंग या तेल की कमी से कम हो सकती है, इसलिए मैंने किसी भी कैमरे के वास्तविक प्रदर्शनी समय को मापने के लिए कुछ बनाने का फैसला किया, क्योंकि मेरी नंगी आंखों से, मैं इसे माप नहीं सकता ठीक है। यह परियोजना प्रदर्शनी समय को मापने के लिए मुख्य घटक के रूप में Arduino का उपयोग करती है। हम एक ऑप्टो कपल (IR LED और एक IR फोटो-ट्रांजिस्टर) बनाने जा रहे हैं और पढ़ें कि कैमरे का शटर कितने समय तक खुला रहता है। सबसे पहले, मैं अपने लक्ष्य को प्राप्त करने का तेज़ तरीका बताऊंगा और अंत में, हम इस परियोजना के पीछे के सभी सिद्धांत देखेंगे।

घटकों की सूची:

  • 1 एक्स फिल्म कैमरा
  • 1 एक्स अरुडिनो यूनो
  • 2 x 220 कार्बन फिल्म रोकनेवाला
  • 1 एक्स आईआर एलईडी
  • 1 एक्स फोटोट्रांसिस्टर
  • 2 x छोटे ब्रेडबोर्ड (या 1 बड़ा ब्रेडबोर्ड, कैमरा को केंद्र में फिट करने के लिए पर्याप्त बड़ा)
  • कई जंपर्स या केबल

* स्पष्टीकरण अनुभाग के लिए यह अतिरिक्त घटक आवश्यक हैं

  • 1 एक्स सामान्य रंग एलईडी
  • 1 एक्स क्षणिक पुश बटन

चरण 1: तारों का सामान

तारों का सामान
तारों का सामान
तारों का सामान
तारों का सामान
तारों का सामान
तारों का सामान

सबसे पहले, एक ब्रेडबोर्ड में IR LED और दूसरे में IR फोटोट्रांसिस्टर लगाएं ताकि हम उन्हें एक-दूसरे के सामने रख सकें। एक 220 रोकनेवाला को एलईडी एनोड (लंबा पैर या बिना सपाट सीमा के किनारे) से कनेक्ट करें और रोकनेवाला को Arduino पर 5V बिजली की आपूर्ति से कनेक्ट करें। Arduino में GND पोर्ट में से एक में LED कैथोड (शॉर्ट लेग या फ्लैट बॉर्डर वाला साइड) को भी कनेक्ट करें।

इसके बाद, फोटो ट्रांजिस्टर पर कलेक्टर पिन को तार दें (मेरे लिए छोटा पैर है, लेकिन आपको यह सुनिश्चित करने के लिए अपने ट्रांजिस्टर डेटाशीट की जांच करनी चाहिए कि आप इसे सही तरीके से तार कर रहे हैं या आप ट्रांजिस्टर को उड़ा सकते हैं) 220 रोकनेवाला और अरुडिनो पर पिन A1 के लिए रोकनेवाला, फिर फोटो ट्रांजिस्टर के एमिटर पिन को कनेक्ट करें (लंबा पैर या एक सपाट सीमा पक्ष के बिना)। इस तरह हमारे पास IR LED हमेशा ऑन रहती है और फोटो ट्रांजिस्टर एक सिंक स्विच के रूप में सेट होता है।

जब IR लाइट ट्रांजिस्टर में आती है तो यह करंट को कलेक्टर पिन से एमिटर पिन तक जाने देगी। हम A1 पिन को इनपुट पुल अप पर सेट करेंगे, इसलिए, पिन हमेशा एक उच्च स्थिति पर रहेगा जब तक कि ट्रांजिस्टर करंट को द्रव्यमान में नहीं डुबो देता।

चरण 2: प्रोग्रामिंग

अपने Arduino बोर्ड के लिए आवश्यक कॉन्फ़िगरेशन से मिलान करने के लिए अपना Arduino IDE (पोर्ट, बोर्ड और प्रोग्रामर) सेट करें।

इस कोड को कॉपी करें, संकलित करें और अपलोड करें:

इंट रीडपिन = ए1; // पिन जहां फोटोट्रांसिस्टर से 330 रेसिस्टर जुड़ा है

इंट पीटीवैल्यू, जे; // एनालॉग रीड () बूल लॉक से पढ़े गए डेटा के लिए स्टोरेज पॉइंट; // एक बोलियन रीडपिन अहस्ताक्षरित लंबे टाइमर, टाइमर 2 की स्थिति को पढ़ने के लिए उपयोग किया जाता है; दोहरा पढ़ा; स्ट्रिंग का चयन करें [१२] = {"बी", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; लंबे समय से अपेक्षित [१२] = {०, १०००, ५००, २५०, १२५, ६७, ३३, १७, ८, ४, २, १}; शून्य सेटअप () {Serial.begin (९६००); // हम 9600 बिट्स प्रति सेकंड पिनमोड (रीडपिन, INPUT_PULLUP) पर सीरियल कम्युनिकेशन सेट करते हैं; // हम पिन को हमेशा उच्च सेट करने जा रहे हैं, सिवाय इसके कि जब फोटो ट्रांजिस्टर डूब रहा हो, इसलिए, हम तर्क को "उलट" करेंगे // इसका मतलब है कि उच्च = कोई आईआर सिग्नल नहीं है और कम = आईआर सिग्नल प्राप्त विलंब (200); // यह देरी सिस्टम को शुरू करने और झूठी रीडिंग से बचने के लिए है j = 0; // हमारे काउंटर को आरंभ करना} शून्य लूप () {लॉक = डिजिटलरेड (रीडपिन); // दिए गए पिन की स्थिति को पढ़ना और इसे वेरिएबल को असाइन करना if (!lock){// केवल तभी चलाएं जब पिन कम टाइमर = माइक्रो (); // संदर्भ टाइमर सेट करें जबकि (!लॉक){// पिन कम होने पर ऐसा करें, दूसरे शब्दों में, शटर ओपन टाइमर2 = माइक्रो ();// एक बीता हुआ समय नमूना लॉक लें = digitalRead(readPin); // यह जानने के लिए पिन स्थिति पढ़ें कि क्या शटर बंद हो गया है } Serial.print("Position:"); // यह पाठ अधिग्रहीत जानकारी प्रदर्शित करने के लिए है Serial.print(select[j]); सीरियल.प्रिंट ("|"); Serial.print ("समय खुला:"); पढ़ा गया = (टाइमर २ - टाइमर); // गणना करें कि शटर ओपन सीरियल.प्रिंट (पढ़ा गया) कितना समय था; सीरियल.प्रिंट ("हमें"); सीरियल.प्रिंट ("|"); सीरियल.प्रिंट ("अपेक्षित:"); Serial.println (अपेक्षित [जे] * 1000); j++;// शटर की स्थिति बढ़ाएं, यह एक बटन के साथ किया जा सकता है } }

अपलोड हो जाने के बाद, सीरियल मॉनिटर (टूल्स -> सीरियल मॉनिटर) खोलें और कैमरे को रीडिंग के लिए तैयार करें

परिणाम "समय खोला:" शब्दों के बाद दिखाए जाते हैं, अन्य सभी जानकारी पूर्व-क्रमादेशित होती है।

चरण 3: स्थापित करना और मापना

स्थापना और माप
स्थापना और माप
स्थापना और माप
स्थापना और माप
स्थापना और माप
स्थापना और माप
स्थापना और माप
स्थापना और माप

अपने कैमरे के लेंस उतारें और फिल्म कम्पार्टमेंट खोलें। यदि आपके पास पहले से लोड की गई फिल्म है, तो इस प्रक्रिया को करने से पहले इसे समाप्त करना याद रखें या आप ली गई तस्वीरों को नुकसान पहुंचाएंगे।

आईआर एलईडी और आईआर फोटो ट्रांजिस्टर को कैमरे के विपरीत दिशा में रखें, एक फिल्म की तरफ और दूसरे किनारे में लेंस थे। कोई फर्क नहीं पड़ता कि आप एलईडी या ट्रांजिस्टर के लिए किस पक्ष का उपयोग करते हैं, बस सुनिश्चित करें कि शटर दबाए जाने पर वे दृश्य संपर्क करते हैं। ऐसा करने के लिए, शटर को "1" या "बी" पर सेट करें और फ़ोटो लेते समय सीरियल मॉनीटर की जांच करें। अगर शटर अच्छा काम कर रहा है तो मॉनीटर को रीडिंग दिखानी चाहिए। इसके अलावा, आप उनके बीच एक अपारदर्शी वस्तु रख सकते हैं और मापने के कार्यक्रम को ट्रिगर करने के लिए इसे स्थानांतरित कर सकते हैं।

Arduino को रीसेट बटन के साथ रीसेट करें और "B" से "1000" तक शुरू होने वाली विभिन्न शटर गति पर एक-एक करके फ़ोटो लें। शटर बंद होने के बाद सीरियल मॉनिटर जानकारी को प्रिंट करेगा। एक उदाहरण के रूप में आप संलग्न छवियों पर मिरांडा और प्रैक्टिका फिल्म कैमरों से मापा गया समय देख सकते हैं।

फ़ोटो लेते समय या अपने कैमरे की स्थिति का निदान करते समय सुधार करने के लिए इस जानकारी का उपयोग करें। यदि आप अपने कैमरे को साफ या ट्यून करना चाहते हैं, तो मैं उन्हें एक विशेषज्ञ तकनीशियन के पास भेजने की अत्यधिक अनुशंसा करता हूं।

चरण 4: गीक्स स्टफ

गीक्स स्टफ
गीक्स स्टफ
गीक्स स्टफ
गीक्स स्टफ
गीक्स स्टफ
गीक्स स्टफ
गीक्स स्टफ
गीक्स स्टफ

ट्रांजिस्टर सभी इलेक्ट्रॉनिक तकनीक का आधार हैं जिन्हें हम आज देखते हैं, उन्हें पहली बार 1925 के आसपास ऑस्ट्रो-हंगेरियन में जन्मे जर्मन-अमेरिकी भौतिक विज्ञानी द्वारा पेटेंट कराया गया था। उन्हें करंट को नियंत्रित करने के लिए एक उपकरण के रूप में वर्णित किया गया था। उनसे पहले, हमें आज ट्रांजिस्टर (टेलीविजन, एम्पलीफायर, कंप्यूटर) के संचालन के लिए वैक्यूम ट्यूबों का उपयोग करना पड़ता था।

एक ट्रांजिस्टर में कलेक्टर से उत्सर्जक तक प्रवाहित होने वाली धारा को नियंत्रित करने की क्षमता होती है और हम उस धारा को नियंत्रित कर सकते हैं, आम ट्रांजिस्टर में 3 पैरों के साथ, ट्रांजिस्टर गेट पर करंट लगाकर। अधिकांश ट्रांजिस्टर में गेट करंट प्रवर्धित होता है, इसलिए, उदाहरण के लिए, यदि हम गेट पर 1 mA लगाते हैं, तो हमें उत्सर्जक से 120 mA प्रवाहित होता है। हम इसे पानी के नल के वाल्व के रूप में कल्पना कर सकते हैं।

फोटो ट्रांजिस्टर एक सामान्य ट्रांजिस्टर है लेकिन गेट लेग होने के बजाय, गेट एक फोटो सेंसिटिव सामग्री से जुड़ा होता है। जब यह फोटॉन द्वारा उत्तेजित होता है, तो हमारे मामले में, IR तरंग दैर्ध्य फोटॉन, यह सामग्री एक छोटे से करंट का स्रोत होती है। तो, हम IR प्रकाश स्रोत की शक्ति को संशोधित करते हुए एक फोटो ट्रांजिस्टर को नियंत्रित करते हैं।

हमारे तत्वों को खरीदने और तार-तार करने से पहले हमें कुछ विशिष्टताओं को ध्यान में रखना चाहिए। संलग्न ट्रांजिस्टर और एलईडी डेटाशीट से प्राप्त जानकारी है। सबसे पहले, हमें ट्रांजिस्टर ब्रेकडाउन वोल्टेज की जांच करने की आवश्यकता है जो कि अधिकतम वोल्टेज है जिसे वह संभाल सकता है, उदाहरण के लिए, एमिटर से कलेक्टर तक मेरा ब्रेकडाउन वोल्टेज 5V है, इसलिए यदि मैं इसे गलत सोर्सिंग 8V तार करता हूं, तो मैं ट्रांजिस्टर को फ्राई करूंगा। इसके अलावा, बिजली अपव्यय की जांच करें, इसका मतलब है कि मरने से पहले ट्रांजिस्टर कितना करंट पहुंचा सकता है। मेरा कहना है कि 150mW। 5V पर, 150mW का अर्थ है 30 mA (वाट = V * I) की सोर्सिंग। इसलिए मैंने २२० के लिमिटर रेसिस्टर का उपयोग करने का निर्णय लिया, क्योंकि, ५वी पर, २२० Ω रेसिस्टर केवल २३ एमए की अधिकतम करंट पास करने की अनुमति देता है। (ओम का नियम: वी = आई * आर)। एलईडी के लिए भी यही मामला है, डेटा शीट की जानकारी कहती है कि इसकी अधिकतम धारा लगभग 50mA है, इसलिए, एक और 220 रोकनेवाला ठीक रहेगा, क्योंकि हमारा Arduino पिन अधिकतम आउटपुट करंट 40 mA है और हम पिन को जलाना नहीं चाहते हैं।

हमें अपने सेटअप को चित्र में एक के रूप में तार करने की आवश्यकता है। यदि आप मेरे जैसे बटन का उपयोग कर रहे हैं, तो बोर्ड के केंद्र में दो गोल प्रोट्यूबेरेंस रखने का ध्यान रखें। फिर, निम्न कोड को Arduino पर अपलोड करें।

इंट रीडपिन = ए1; // पिन जहां 220resistor phototransistorint ptValue, j से जुड़ा है; // एनालॉग रीड () शून्य सेटअप () {Serial.begin (९६००) से पढ़े गए डेटा के लिए भंडारण बिंदु; } शून्य लूप () {ptValue = एनालॉग रीड (रीडपिन); // हम रीडपिन (A1) Serial.println (ptValue) पर वोल्टेज मान पढ़ते हैं; // इस तरह, हम पढ़े गए डेटा को सीरियल मॉनिटर को भेजते हैं, इसलिए हम जांच सकते हैं कि क्या हो रहा है देरी (35); // स्क्रीनशॉट को आसान बनाने में बस देरी }

अपलोड करने के बाद, आप सीरियल प्लॉटर (टूल्स -> सीरियल प्लॉटर) खोलें और देखें कि जब आप अपना आईआर एलईडी स्विच बटन दबाते हैं तो क्या होता है। यदि आप यह जांचना चाहते हैं कि क्या IR LED काम कर रही है (टीवी रिमोट भी) तो बस अपना सेलफोन कैमरा LED के सामने रखें और एक फोटो लें। यदि यह ठीक है तो आप एलईडी से एक नीली-बैंगनी रोशनी आते हुए देखेंगे।

सीरियल प्लॉटर में आप एलईडी के चालू और बंद होने पर अंतर कर सकते हैं, यदि नहीं, तो अपनी वायरिंग की जांच करें।

अंत में, आप digitalRead के लिए analogRead विधि को बदल सकते हैं, इसलिए आप केवल 0 या 1 देख सकते हैं। मेरा सुझाव है कि झूठे LOW रीड से बचने के लिए सेटअप () के बाद देरी करें, (एक छोटी LOW चोटी वाला चित्र)।

सिफारिश की: