সুচিপত্র:

আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার: 4 টি ধাপ
আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার: 4 টি ধাপ

ভিডিও: আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার: 4 টি ধাপ

ভিডিও: আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার: 4 টি ধাপ
ভিডিও: Arduino Uno: A Closer Look with a Smooth Camera Pan #arduino 2024, জুলাই
Anonim
আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার
আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার
আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার
আরডুইনো ফিল্ম ক্যামেরা শাটার চেকার

সম্প্রতি আমি দুটি ব্যবহৃত পুরানো ফিল্ম ক্যামেরা কিনেছি। সেগুলি পরিষ্কার করার পর আমি বুঝতে পারলাম যে ধুলো, জারা বা তেলের অভাবের কারণে শাটার স্পিড পিছিয়ে যেতে পারে, তাই আমি যে কোনও ক্যামেরার আসল প্রদর্শনের সময় পরিমাপ করার জন্য কিছু করার সিদ্ধান্ত নিয়েছি, কারণ আমার খালি চোখে আমি এটি পরিমাপ করতে পারি না এই প্রকল্পটি প্রদর্শনের সময় পরিমাপের জন্য প্রধান উপাদান হিসাবে Arduino ব্যবহার করে। আমরা একটি অপটো দম্পতি (IR LED এবং একটি IR ফটো-ট্রানজিস্টার) তৈরি করতে যাচ্ছি এবং ক্যামেরার শাটারটি কতক্ষণ খোলা আছে তা পড়ুন। প্রথমত, আমি আমাদের লক্ষ্য অর্জনের দ্রুত উপায় ব্যাখ্যা করব এবং, শেষে, আমরা এই প্রকল্পের পিছনে সমস্ত তত্ত্ব দেখতে পাব।

উপাদানগুলির তালিকা:

  • 1 এক্স ফিল্ম ক্যামেরা
  • 1 x Arduino Uno
  • 2 x 220 Ω কার্বন ফিল্ম প্রতিরোধক
  • 1 x IR LED
  • 1 এক্স ফোটোট্রান্সিস্টর
  • 2 x ছোট ব্রেডবোর্ড (বা 1 টি বড় ব্রেডবোর্ড, কেন্দ্রে ক্যামেরা ফিট করার জন্য যথেষ্ট বড়)
  • অনেক জাম্পার বা ক্যাবল

*ব্যাখ্যা বিভাগের জন্য এই অতিরিক্ত উপাদানগুলির প্রয়োজন

  • 1 এক্স সাধারণ রঙ LED
  • 1 এক্স মোমেন্টারি পুশ বোতাম

ধাপ 1: তারের স্টাফ

তারের স্টাফ
তারের স্টাফ
তারের স্টাফ
তারের স্টাফ
তারের স্টাফ
তারের স্টাফ

প্রথমে, একটি রুটিবোর্ডে IR LED এবং অন্যটিতে IR Phototransistor সংযুক্ত করুন যাতে আমরা একে অপরের মুখোমুখি হতে পারি। একটি 220 Ω প্রতিরোধককে LED অ্যানোডের সাথে সংযুক্ত করুন (দীর্ঘ পা বা সমতল সীমানা ছাড়াই পাশ) এবং প্রতিরোধককে 5V বিদ্যুৎ সরবরাহের সাথে আরডুইনোতে সংযুক্ত করুন। আরডুইনোতে GND পোর্টের একটিতে LED ক্যাথোড (ছোট পা বা সমতল সীমানার পাশে) সংযুক্ত করুন।

পরবর্তীতে, ফটো ট্রানজিস্টারে কালেক্টর পিনটি সংযুক্ত করুন (আমার জন্য শর্ট লেগ, কিন্তু আপনার ট্রানজিস্টার ডেটশীটটি পরীক্ষা করা উচিত যাতে আপনি এটি সঠিকভাবে ওয়্যারিং করছেন বা আপনি ট্রানজিস্টরকে ফুঁ দিয়ে শেষ করতে পারেন) 220 Ω রেজিস্টারে এবং অরুডিনোতে A1 পিনের প্রতিরোধক, তারপরে ফটো ট্রানজিস্টরের এমিটার পিনটি সংযুক্ত করুন (লম্বা পা বা সমতল সীমানা ছাড়া)। এইভাবে আমরা IR LED সবসময় চালু থাকি এবং ফটো ট্রানজিস্টর একটি সিঙ্ক সুইচ হিসাবে সেট করি।

যখন আইআর লাইট ট্রানজিস্টারে আসে তখন এটি কালেক্টর পিন থেকে এমিটার পিনে কারেন্ট প্রেরণের অনুমতি দেবে। আমরা A1 পিনকে ইনপুট পুল আপ করার জন্য সেট করব, সুতরাং, পিনটি সর্বদা একটি উচ্চ অবস্থায় থাকবে যদি না ট্রানজিস্টারটি ভরকে সঙ্কুচিত করে।

ধাপ 2: প্রোগ্রামিং

আপনার Arduino IDE (পোর্ট, বোর্ড এবং প্রোগ্রামার) সেট আপ করুন আপনার Arduino বোর্ডের জন্য প্রয়োজনীয় কনফিগারেশনের সাথে মেলে।

এই কোডটি কপি করুন, কম্পাইল করুন এবং আপলোড করুন:

int readPin = A1; // পিন যেখানে ফোটোট্রান্সিস্টর থেকে 330resistor সংযুক্ত আছে

int ptValue, j; // analogRead () বুল লক থেকে পড়া ডেটার স্টোরেজ পয়েন্ট; // একটি বোলিয়ান রিডপিনের অবস্থা পড়তে স্বাক্ষরবিহীন দীর্ঘ টাইমার, টাইমার 2; দ্বিগুণ পড়া; স্ট্রিং সিলেক্ট [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; দীর্ঘ প্রত্যাশিত [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; অকার্যকর সেটআপ () {Serial.begin (9600); // আমরা প্রতি সেকেন্ড পিনমোড (readPin, INPUT_PULLUP) 00০০ বিটে সিরিয়াল কমিউনিকেশন সেট করি; // আমরা ফটো ট্রানজিস্টর ডুবে যাওয়ার সময় পিনকে সর্বদা উঁচুতে সেট করতে যাচ্ছি, তাই, আমরা যুক্তিকে "বিপরীত" করতে চাই // এর অর্থ হল উচ্চ = কোন আইআর সংকেত নয় এবং নিম্ন = আইআর সংকেত বিলম্ব পেয়েছে (200); // এই বিলম্বটি সিস্টেম শুরু করার জন্য এবং মিথ্যা রিডিং এড়ানোর জন্য হল j = 0; // আমাদের কাউন্টার শুরু করা} অকার্যকর লুপ () {লক = ডিজিটাল রিড (রিডপিন); // প্রদত্ত পিনের অবস্থা পড়ুন এবং ভেরিয়েবলের জন্য এটি বরাদ্দ করুন যদি (! লক) {// শুধুমাত্র তখনই চালান যখন পিনটি LOW টাইমার = মাইক্রো (); // রেফারেন্স টাইমার সেট করুন (! লক) {// পিন কম থাকলে এটি করুন, অন্য কথায়, শাটার খোলা টাইমার 2 = মাইক্রো (); // একটি অতিবাহিত সময় নমুনা লক = ডিজিটাল রিড (পড়ুন পিন) নিন; // শাটার বন্ধ আছে কিনা জানতে পিন স্টেট পড়ুন} Serial.print ("অবস্থান:"); // এই পাঠ্যটি উপযুক্ত তথ্য Serial.print প্রদর্শনের জন্য (নির্বাচন করুন [j]); সিরিয়াল.প্রিন্ট ("|"); সিরিয়াল.প্রিন্ট ("সময় খোলা:"); পঠিত = (টাইমার 2 - টাইমার); // হিসাব করুন কতক্ষণ শাটার খোলা সিরিয়াল.প্রিন্ট (পড়া); সিরিয়াল.প্রিন্ট ("আমাদের"); সিরিয়াল.প্রিন্ট ("|"); সিরিয়াল.প্রিন্ট ("প্রত্যাশিত:"); Serial.println (প্রত্যাশিত [j]*1000); j ++; // শাটারটির অবস্থান বাড়ান, এটি একটি বোতাম দিয়ে করা যেতে পারে}}

আপলোড শেষ হওয়ার পর, সিরিয়াল মনিটর (সরঞ্জাম -> সিরিয়াল মনিটর) খুলুন এবং ক্যামেরাটি পড়ার জন্য প্রস্তুত করুন

ফলাফলগুলি "সময় খোলা:" শব্দের পরে দেখানো হয়, অন্যান্য সমস্ত তথ্য প্রাক-প্রোগ্রাম করা হয়।

ধাপ 3: সেট আপ এবং পরিমাপ

সেট আপ এবং পরিমাপ
সেট আপ এবং পরিমাপ
সেট আপ এবং পরিমাপ
সেট আপ এবং পরিমাপ
সেট আপ এবং পরিমাপ
সেট আপ এবং পরিমাপ
সেট আপ এবং পরিমাপ
সেট আপ এবং পরিমাপ

আপনার ক্যামেরার লেন্স খুলে ফেলুন এবং ফিল্ম বগি খুলুন। আপনার যদি ইতিমধ্যে একটি ফিল্ম লোড থাকে তবে এই পদ্ধতিটি করার আগে এটি শেষ করতে ভুলবেন না বা আপনি তোলা ফটোগুলি ক্ষতিগ্রস্ত করবেন।

ক্যামেরাটির বিপরীত দিকে IR LED এবং IR ছবির ট্রানজিস্টার রাখুন, একটি ফিল্মের পাশে এবং অন্যটি লেন্স ছিল। আপনি এলইডি বা ট্রানজিস্টরের জন্য কোন দিকটি ব্যবহার করেন তা বিবেচ্য নয়, কেবল শাটারটি চাপলে তারা ভিজ্যুয়াল যোগাযোগ নিশ্চিত করুন। এটি করার জন্য, শাটারটি "1" বা "B" তে সেট করুন এবং "ছবি তোলার" সময় সিরিয়াল মনিটরটি পরীক্ষা করুন। যদি শাটারটি ভাল কাজ করে তবে মনিটরের একটি পড়া দেখানো উচিত। এছাড়াও, আপনি তাদের মধ্যে একটি অস্বচ্ছ বস্তু স্থাপন করতে পারেন এবং পরিমাপ কর্মসূচিকে ট্রিগার করতে এটি স্থানান্তর করতে পারেন।

রিসেট বাটনের সাহায্যে আরডুইনো রিসেট করুন এবং "B" থেকে "1000" থেকে শুরু করে বিভিন্ন শাটার গতিতে একে একে ফটো তুলুন। সিরিয়াল মনিটর শাটার বন্ধ হওয়ার পরে তথ্য মুদ্রণ করবে। একটি উদাহরণ হিসাবে আপনি সংযুক্ত ছবিতে একটি মিরান্ডা এবং প্রকটিকা ফিল্ম ক্যামেরা থেকে পরিমাপ করা সময় দেখতে পারেন।

ছবি তোলার সময় সংশোধন করতে অথবা আপনার ক্যামেরার অবস্থা নির্ণয় করতে এই তথ্য ব্যবহার করুন। আপনি যদি আপনার ক্যামেরা পরিষ্কার বা টিউন করতে চান, আমি তাদের একটি বিশেষজ্ঞ টেকনিশিয়ানের কাছে পাঠানোর সুপারিশ করছি।

ধাপ 4: Geeks স্টাফ

গিক্স স্টাফ
গিক্স স্টাফ
গিক্স স্টাফ
গিক্স স্টাফ
গিক্স স্টাফ
গিক্স স্টাফ
গিক্স স্টাফ
গিক্স স্টাফ

ট্রানজিস্টর হল সমস্ত ইলেকট্রনিক প্রযুক্তির ভিত্তি যা আমরা আজ দেখি, সেগুলি 1925 সালের দিকে প্রথম অস্ট্রো-হাঙ্গেরিয়ান বংশোদ্ভূত জার্মান-আমেরিকান পদার্থবিজ্ঞানী দ্বারা পেটেন্ট করা হয়েছিল। তারা বর্তমান নিয়ন্ত্রণের জন্য একটি ডিভাইস হিসাবে বর্ণনা করা হয়েছিল। তাদের আগে, আমাদের ট্রানজিস্টরদের আজকের অপারেশনগুলি (টেলিভিশন, এম্প্লিফায়ার, কম্পিউটার) করতে ভ্যাকুয়াম টিউব ব্যবহার করতে হয়েছিল।

একটি ট্রানজিস্টরের কালেক্টর থেকে এমিটার পর্যন্ত প্রবাহিত কারেন্টকে নিয়ন্ত্রণ করার ক্ষমতা আছে এবং আমরা সেই ট্রানজিস্টার গেটে কারেন্ট প্রয়োগ করে সাধারণ ট্রানজিস্টরে 3 টি পা দিয়ে সেই কারেন্ট নিয়ন্ত্রণ করতে পারি। বেশিরভাগ ট্রানজিস্টরে গেট কারেন্টকে প্রশস্ত করা হয়, সুতরাং, উদাহরণস্বরূপ, যদি আমরা গেটে 1 mA প্রয়োগ করি, আমরা emitter থেকে 120 mA প্রবাহিত হই। আমরা এটি একটি জল ট্যাপ ভালভ হিসাবে কল্পনা করতে পারেন।

ফটো ট্রানজিস্টার একটি সাধারণ ট্রানজিস্টর কিন্তু গেট লেগ থাকার পরিবর্তে গেটটি একটি ফটো ইন্দ্রিয়গ্রাহ্য উপাদানের সাথে সংযুক্ত থাকে। এই উপাদান একটি ছোট স্রোত উৎস করে যখন এটি ফোটন দ্বারা উত্তেজিত হয়, আমাদের ক্ষেত্রে, আইআর তরঙ্গদৈর্ঘ্য ফোটন। সুতরাং, আমরা একটি আলোক ট্রানজিস্টর নিয়ন্ত্রণ করি যা IR আলো উৎসের শক্তি পরিবর্তন করে।

আমাদের উপাদানগুলি কেনার এবং তারের আগে আমাদের কিছু চশমা বিবেচনা করা উচিত। ট্রানজিস্টর এবং LED ডেটশীট থেকে প্রাপ্ত তথ্য সংযুক্ত করা হয়েছে। প্রথমত, আমাদের ট্রানজিস্টার ব্রেকডাউন ভোল্টেজটি পরীক্ষা করতে হবে যা সর্বোচ্চ ভোল্টেজ যা এটি পরিচালনা করতে পারে, উদাহরণস্বরূপ, এমিটার থেকে কালেক্টর পর্যন্ত আমার ব্রেকডাউন ভোল্টেজ 5V, তাই যদি আমি 8V ভুল সোর্সিং এর সাথে তারের সংযোগ করি, তাহলে আমি ট্রানজিস্টর ভাজবো। এছাড়াও, বিদ্যুৎ অপচয় পরীক্ষা করুন, এর মানে হল যে মৃত্যুর আগে কতটা ট্রানজিস্টর সরবরাহ করতে পারে। খনি 150mW বলে। 5V এ, 150mW মানে 30 mA (ওয়াটস = V * I) সোর্স করা। এজন্যই আমি 220 of এর সীমাবদ্ধ প্রতিরোধক ব্যবহার করার সিদ্ধান্ত নিয়েছি, কারণ, 5V এ, 220 Ω রোধকারী কেবলমাত্র 23 এমএ -এর সর্বাধিক স্রোত পাস করতে দেয়। (ওহমের আইন: V = I * R)। একই ক্ষেত্রে LED এর জন্য, ডাটা শীটের তথ্য বলছে এর সর্বোচ্চ কারেন্ট প্রায় 50mA, তাই, অন্য 220 Ω রেসিস্টর ঠিক থাকবে, কারণ আমাদের Arduino পিন সর্বোচ্চ আউটপুট কারেন্ট 40 mA এবং আমরা পিন বার্ন করতে চাই না।

আমরা আমাদের সেটআপ ছবিতে একটি হিসাবে তারের প্রয়োজন। আপনি যদি আমার মত বোতাম ব্যবহার করেন, তাহলে বোর্ডের কেন্দ্রে দুটি বৃত্তাকার প্রোটুবেরেন্স রাখার যত্ন নিন। তারপরে, আরডুইনোতে নিম্নলিখিত কোডটি আপলোড করুন।

int readPin = A1; // পিন যেখানে ফোটোট্রান্সিস্টরিন্ট ptValue, j থেকে 220resistor সংযুক্ত আছে; // analogRead () void setup () {Serial.begin (9600) থেকে পড়া ডেটার স্টোরেজ পয়েন্ট; } অকার্যকর লুপ () {ptValue = analogRead (readPin); // আমরা readPin (A1) Serial.println (ptValue) এ ভোল্টেজ মান পড়ি; // এই ভাবে, আমরা সিরিয়াল মনিটরে পঠিত ডেটা প্রেরণ করি, তাই আমরা পরীক্ষা করতে পারি কি ঘটছে বিলম্ব (35); // শুধু স্ক্রিনশট সহজ করতে একটু দেরি করুন}

আপলোড করার পরে, আপনার সিরিয়াল প্লটার (সরঞ্জাম -> সিরিয়াল প্লটার) খুলুন এবং দেখুন যখন আপনি আপনার IR LED সুইচ বোতামটি চাপবেন তখন কি হবে। আপনি যদি IR LED কাজ করছে কিনা তা পরীক্ষা করতে চান (টিভি রিমোটগুলিও) শুধু আপনার সেলফোন ক্যামেরাটি LED এর সামনে রাখুন এবং একটি ছবি তুলুন। যদি এটি ঠিক থাকে আপনি দেখতে পাবেন একটি নীল-বেগুনি আলো এলইডি থেকে আসছে।

সিরিয়াল প্লটারে আপনি যখন LED চালু এবং বন্ধ থাকে তখন পার্থক্য করতে পারেন, যদি না হয় তবে আপনার তারের পরীক্ষা করুন।

অবশেষে, আপনি একটি ডিজিটাল রিডের জন্য analogRead পদ্ধতি পরিবর্তন করতে পারেন, যাতে আপনি শুধুমাত্র 0 বা 1 দেখতে পারেন। আমি একটি মিথ্যা LOW পড়া এড়াতে Setup () এর পরে একটি বিলম্ব করার পরামর্শ দিই, (একটি ছোট LOW শিখর সহ ছবি)।

প্রস্তাবিত: