সুচিপত্র:

DIY ফটোগ্রাফিক লাইটমিটার: 5 টি ধাপ
DIY ফটোগ্রাফিক লাইটমিটার: 5 টি ধাপ

ভিডিও: DIY ফটোগ্রাফিক লাইটমিটার: 5 টি ধাপ

ভিডিও: DIY ফটোগ্রাফিক লাইটমিটার: 5 টি ধাপ
ভিডিও: ১০০ টাকার লাইট মডিফাইড😄 এখন নিরাপদ উজ্জল আর দীর্ঘস্থায়ী! // How to Modify Cheap LED Light 2024, নভেম্বর
Anonim
DIY ফটোগ্রাফিক লাইটমিটার
DIY ফটোগ্রাফিক লাইটমিটার
DIY ফটোগ্রাফিক লাইটমিটার
DIY ফটোগ্রাফিক লাইটমিটার

এই নির্দেশযোগ্য একটি সহজ ছোট এবং সস্তা ঘটনা লাইটমিটার তৈরির বিষয়ে কিছু ধারণা ভাগ করে।

যেহেতু Instructables আমাকে আমার নিজের ভিডিও letুকতে দেয় না, এই লিঙ্কটি চেষ্টা করুন:

www.youtube.com/embed/avQD10fd52s

আমার ব্রোনিকা ইটিআরসি মিডিয়াম ফরম্যাটের ফিল্ম ক্যামেরার সাথে আমার জন্য লক্ষ্য ছিল একটি হালকা মিটার।

যেসব জিনিস আমি এটা ফিচার করতে চেয়েছিলাম:

  • একক এএসএ (100) কারণ আমি প্রায় শুধুমাত্র এএসএ 100 ফিল্ম ব্যবহার করি
  • যতটা সম্ভব ছোট
  • কেবল আমাকে এমন সংমিশ্রণ দিন যা আমার ব্রোনিকা পুনরুত্পাদন করতে পারে, যার অর্থ f2.8-f22 এবং 1sec থেকে 1/500th সেকেন্ড
  • প্লেইন টাইমস এবং অ্যাপারচার ভ্যালু ছাড়া কোন বাজে বৈশিষ্ট্য নেই

আমি যে জিনিসগুলি ব্যবহার করেছি:

  • Adafruit (Vishay) VEML 7700 ডিজিটাল লাক্স-মিটার (প্রায় 5 $)
  • Adafruit Trinket M0 মাইক্রো কন্ট্রোলার (প্রায় 9 $)
  • 128x32 OLED ডিসপ্লে (প্রায় 10 $)
  • সাময়িকভাবে এটি চালু করার জন্য একটি পুশ বাটন (কিছু সেন্ট)
  • স্ট্রিপ-বোর্ডের একটি ক্ষুদ্র অংশ, কারণ আমি কেবল ব্যবহার না করার চেষ্টা করি, কিন্তু আপনি অবশ্যই তারগুলিও ব্যবহার করতে পারেন

ধাপ 1: প্রাথমিক গণনা | লাক্স টু ইভি

মৌলিক গণনা | লাক্স টু ইভি
মৌলিক গণনা | লাক্স টু ইভি
মৌলিক গণনা | লাক্স টু ইভি
মৌলিক গণনা | লাক্স টু ইভি

আমার কেনা সেন্সর দুটি বৈশিষ্ট্য ব্যবহার করে যা আমাকে এটি সম্পর্কে সিদ্ধান্ত নিতে দেয়:

  • "মাত্রা-কম" হালকা মানের পরিবর্তে 16 বিট লাক্স মান আউটপুট করে
  • I2C এর মাধ্যমে মান আউটপুট করে

একটি ফটোগ্রাফিক লাইট মিটার এক্সপোজার ভ্যালু ব্যবহার করে তাই প্রথম ধাপ হল সেন্সর প্রদত্ত লাক্স মান থেকে ইভি পাওয়া।

উইকিপিডিয়ায় একটি দ্রুত ঝলক এবং আপনি ঘটনা পরিমাপের জন্য একটি সূত্র খুঁজে পেতে পারেন এবং EV কে লাক্সে রূপান্তর করতে পারেন:

ই = 2.5 * 2^ইভি

যেখানে ই লাক্সে পরিমাপ করা হয়।

যেহেতু আমরা ইতিমধ্যেই সেন্সর থেকে লাক্স মান পেয়েছি এবং ইভি মান চাই, তাই আমাদের সূত্রটি পুনরায় গঠন করতে হবে, যা আমাদেরকে:

EV = log2 (E/2.5)

তাই লাইটমিটারের বাইরে ফটোগ্রাফিক মান বের করার জন্য এটিই প্রথম হিসাব করতে হবে।

সংযুক্ত সন্ধান সারণীতে আপনি এই লাইটমিটারে ব্যবহৃত সমস্ত মান দেখতে পাবেন, সেই সাথে লাক্স এবং ইভি মান অনুসারে।

ধাপ 2: প্রদর্শনের মানগুলি উপস্থাপন করা | অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি

প্রদর্শনের মান উপস্থাপন | অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি
প্রদর্শনের মান উপস্থাপন | অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি
প্রদর্শনের মান উপস্থাপন | অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি
প্রদর্শনের মান উপস্থাপন | অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি
প্রদর্শনের মান উপস্থাপন | অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি
প্রদর্শনের মান উপস্থাপন | অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি

আমি প্রথমে পুরো ধাপে মান উপস্থাপন করার চেষ্টা করেছি, কারণ আমি আমার ব্রোনিকাকে সেট করতে পারি, কিন্তু এটি আমাকে একটি সমস্যার দিকে নিয়ে যায়:

ধরা যাক লাক্স সেন্সরটি ঠিক 20480 এর মান আউটপুট করে, এর মানে হল এটি ঠিক EV 13 তাই আমি উদাহরণস্বরূপ আমার ক্যামেরাটি f4 এবং এক সেকেন্ডের 1/500 তে সেট করতে পারি এবং যেতে ভাল হবে।

এর পর, ধরা যাক লাক্স সেন্সর 20479 লাক্স, 1 লাক্স EV13 এর অধীনে আউটপুট করবে, যা 12 এর একটি EV মান আউটপুট করবে, কিন্তু এটি EV13 থেকে মাত্র একটি লাক্স দূরে।

তাই আমি আমার ক্যামেরাটি f2.8 এবং এক সেকেন্ডের 1/500 তম সেট করব যা ইভি 13 এর কতটা কাছাকাছি ছিল তা না জেনেও আমাকে 1 স্টপকে বাড়িয়ে দেবে।

উপসংহার: পরবর্তী বা পূর্ববর্তী ইভি ধাপ থেকে মিটার কতটা কাছাকাছি বা দূরে তা দেখতে আমাদের মানগুলির এক ধরণের এনালগ প্রদর্শন প্রয়োজন।

GFX লাইব্রেরির অন্তর্নির্মিত অক্ষর এবং ফন্ট ব্যবহার করার চেষ্টা করার পরে আমি দুটি কাস্টম গ্রাফিক্স ব্যবহার করার সিদ্ধান্ত নিয়েছি যা OLED স্ক্রিন জুড়ে চলে যাবে।

একটি অ্যাপারচার মান জন্য, এক সময়ের জন্য।

GFX লাইব্রেরি গ্রাফিক্স উপস্থাপনের জন্য 8bit মান ব্যবহার করে, তাই আমি একটি xls শীট তৈরি করেছি (উপরের ছবিটি দেখুন)।

  • প্রতিটি ভ্যালুতে প্রতি ভ্যালুতে ঠিক একই পরিমাণ পিক্সেল থাকে
  • বার এবং অ্যাপারচারের প্রতি সারিতে ঠিক একই পরিমাণ মান রয়েছে
  • আমি প্রতিটি বাইটের শুরুতে প্রয়োজনীয় "B" এবং শেষে "," যোগ করেছি
  • আমি তখন এটি একটি সাধারণ পাঠ্য এবং ভয়েলাতে রপ্তানি করেছি: আমি তৃতীয় গ্রাফিক সংযুক্ত করেছি

সময়ের মান প্রতি সেকেন্ডে 1/8 দ্বারা শুরু হয় এবং অ্যাপারচারের মান f2.8 দিয়ে শুরু হয়।

পূর্ববর্তী ধাপের সন্ধান সারণী ব্যবহার করে আমরা জানি এটি 160 লাক্স বা EV6 প্রতিনিধিত্ব করে।

অন্ধকার মানগুলি তখন f22 এবং এক সেকেন্ডের 1/500 তম হবে।

আবার লুকআপ টেবিলের মাধ্যমে আমরা দেখতে পাচ্ছি এর অর্থ 655360 লাক্স বা ইভি 18

এ পর্যন্ত সব ঠিকই.

তাই EV6- এ অ্যাপারচার গ্রাফিক হতে হবে অনেক বাম দিকে, সময়গুলো ডানদিকে এবং উল্টো EV18- এ

ধাপ 3: লাক্স ভ্যালুগুলির পড়া এবং ক্ষতিপূরণ | ভিইএমএল 00০০

লাক্স মানগুলির পড়া এবং ক্ষতিপূরণ | ভিইএমএল 00০০
লাক্স মানগুলির পড়া এবং ক্ষতিপূরণ | ভিইএমএল 00০০
লাক্স মানগুলির পড়া এবং ক্ষতিপূরণ | ভিইএমএল 00০০
লাক্স মানগুলির পড়া এবং ক্ষতিপূরণ | ভিইএমএল 00০০

Vishay VEML7700 Adafruit এর ডেটশীট স্ক্রল করার সময় তাদের বোর্ডের জন্য ব্যবহার করে, আমি একটি বিরক্তিকর নোটিশ পেয়েছি:

সেন্সর শুধুমাত্র 0 এবং 1000Lux (!)

কমলা (রৈখিক) লাইন এবং নীল (প্রকৃত সেন্সর আউটপুট) লাইন সহ স্ক্রিনশট দেখুন

সূর্যালোক (EV15) প্রায় 80.000 লাক্স, যার অর্থ সেন্সরের অ-রৈখিক অংশের ক্ষতিপূরণ ছাড়া এটি একটি হালকা মিটার হিসাবে সম্পূর্ণ অকেজো হবে।

বিশে তা জানে, তাই তারা তাদের গ্রাহকদের অন্য একটি পিডিএফ দিয়েছিল যার নাম ছিল ডিজাইনিং দ্য ভিইএমএল 7০০ ইনটু এপ্লিকেশন।

এই পিডিএফ-এ আপনি সেন্সরগুলিকে অ-রৈখিকতার ক্ষতিপূরণ দেওয়ার জন্য একটি সূত্র খুঁজে পেতে পারেন:

LUX_CORR = 6.0135e-13*pow (LUX, 4) -9.3924e-9*pow (LUX, 3)+8.1488e-5*pow (LUX, 2)+1.0023*LUX

যেখানে LUX_CORR সংশোধিত লাক্স-ভ্যালু এবং LUX হল সেন্সর আউটপুট মান।

আমি যে ভেরিয়েবলগুলি ব্যবহার করেছি, সেগুলি তাদের শীটে ব্যবহৃত বিভিন্ন।

আমাকে যেটা একটু খারাপ লাগছে তা হল অ্যাডাফ্রুট তাদের পৃষ্ঠায়, তাদের ডকুমেন্টেশন, তাদের লাইব্রেরি বা অন্য কোথাও একক শব্দ দিয়ে এটি উল্লেখ করে না।

তাই প্রথম কয়েক দিন আমি ভাবছিলাম কেন আমার লাইটমিটার শুধুমাত্র সরাসরি সূর্যের আলোতে সর্বোচ্চ 20000 লাক্স আউটপুট করে।

আপনি যদি লাল এবং নীল রেখার সাথে গ্রাফটি দেখুন তবে আপনি দেখতে পাবেন কেন: কারণ ক্ষতিপূরণ সূত্র ছাড়া এটি উচ্চতর হতে পারে না।

কিন্তু সেন্সরের ডকুমেন্টেশনে লুকিয়ে আছে আরেকটি ইঙ্গিত:

এই ক্ষতিপূরণ সূত্রটি কেবল তখনই কাজ করে যদি আপনি সেন্সরটি 25ms এবং 1/8 এর লাভের অনুপাত সেট করেন।

অ্যাডাফ্রুটস লাইব্রেরির সাথে এটি খুব সহজেই যোগ করা হয়েছে:

veml.setGain (VEML7700_GAIN_1_8); veml.setIntegrationTime (VEML7700_IT_25MS);

আপনার অকার্যকর সেটআপ ()

সুতরাং এটি 1/8 এবং 25ms এ সেট করার পরে এবং ক্ষতিপূরণ সূত্র যোগ করার পরে আপনি 120000 লাক্স পরিমাপ করতে পারেন, যা 80-100k লাক্সে সূর্যের আলো coverাকতে যথেষ্ট।

ধাপ 4: আরডুইনো / সি-কোড

যেহেতু এটি আপনার ব্যবহৃত ডিসপ্লে এবং পছন্দের কন্ট্রোলারের উপর নির্ভর করে, আমি বিস্তারিতভাবে খুব বেশি কিছু বলব না, বিশেষ করে অ্যাডাফ্রুট লাইব্রেরি এবং 128x32 px OLED ব্যবহার করার সময় কয়েকটি চিন্তা এবং ইঙ্গিত:

অকার্যকর সেটআপের মধ্যে:

আমি VEML লাইব্রেরি-অংশটি সেট করেছি:

veml.setGain (VEML7700_GAIN_1_8);

veml.setIntegrationTime (VEML7700_IT_25MS);

veml.setLowThreshold (10000);

veml.setHighThreshold (20000);

veml.interruptEnable (সত্য);

অকার্যকর লুপে:

ক্ষতিপূরণ যোগ করতে ভুলবেন না:

int LUX_CORR = 6.0135e-13*pow (LUX, 4) -9.3924e-9*pow (LUX, 3)+8.1488e-5*pow (LUX, 2)+1.0023*LUX;

লাক্স থেকে ইভি পেতে এই লাইনটি ব্যবহার করুন:

ভাসা EV = log2 ((LUX_CORR/2.5));

বিটম্যাপ সরানো হচ্ছে

পূর্ববর্তী ধাপে বলা হয়েছে যে 160Lux এবং 655360Lux এর মধ্যে মান থাকলে বিটম্যাপগুলি কেবলমাত্র সরানো হয় তা নিশ্চিত করার জন্য, এটিকে যদি এইরকম ধাপে মোড়ানো হয়:

যদি (LUX_CORR> 159 && LUX_CORR <655361)

পরবর্তীতে আমাদের সমন্বয় করার জন্য ইভি মানগুলি ম্যাপ করতে হবে, কারণ ইভিগুলির পরিসর দ্বিগুণ এবং আমরা তাদের পুরো ডিসপ্লেতে 128px এর বেশি ডিসপ্লে থেকে সরিয়ে নিতে চাই আমাদের আরও বড় মান দরকার।

যেহেতু আমরা ইতিমধ্যেই একটি ভাসমান সংখ্যা পেয়েছি তাই আমরা 100 দ্বারা গুণ করি এবং স্থানাঙ্কগুলি মানচিত্র করতে সেই পূর্ণসংখ্যাটি ব্যবহার করি

int EV_DSPL = EV*100;

এবং:

সময় = মানচিত্র (EV_DSPL, 600, 1900, -260, 39); APERTURE = মানচিত্র (EV_DSPL, 600, 1900, 39, -260);

আপনি আমার ক্ষেত্রে দেখতে পারেন বিটম্যাপের সর্বনিম্ন অবস্থান হবে -260px এবং সর্বোচ্চ হবে 39px

এখানে যা দেখা যায় তা হল যে আমি কোঅর্ডিনেটস পরিবর্তন করেছি যাতে দুটি বিটম্যাপ বিপরীত দিকে চলে

পরবর্তী আমাদের সমন্বয় অনুযায়ী বিটম্যাপগুলি স্থানান্তর করতে হবে:

display.drawBitmap ((TIME), (0), TIMES_bmp, 352, 16, 1); display.drawBitmap ((APERTURE), (15), APERTURES_bmp, 352, 16, 1);

এবং যে সব করা প্রয়োজন

বোনাস হিসেবে আমি সেন্সরটি 160Lux এর নীচে আউটপুট দিলে সোজা EV এবং লাক্স মান প্রদর্শন করি, কারণ এটি পরীক্ষা করার সময় আমি জিনিস দেখতে চাই।

ধাপ 5: এটি একসাথে রাখা

একসাথে রেখে
একসাথে রেখে
একসাথে রেখে
একসাথে রেখে

উভয় হিসাবে, ডিসপ্লে এবং সেন্সর যোগাযোগের জন্য I2C ব্যবহার করছে, প্রকৃত হার্ডওয়্যার তৈরি করা যতটা সম্ভব এটি করা সহজ।

শুধু ডেটা, ক্লক গ্রাউন্ড এবং 3V লাইনগুলিকে Arduino এর সাথে সংযুক্ত করুন এবং আপনি যেতে প্রস্তুত।

আমি একটি স্ট্রিপবোর্ড দিয়ে এটি কিভাবে করেছি তা একটি গ্রাফিক যোগ করেছি, কিন্তু যেমনটি আগে বলা হয়েছে আপনি তারগুলি ব্যবহার করতে পারেন বা এমনকি এর জন্য একটি ডানাও তৈরি করতে পারেন, এটি নির্ভর করে আপনি কোন নিয়ামক এবং প্রদর্শনটি ব্যবহার করেন।

আমার গ্রাফিকের উপর, সাদা বিন্দুগুলি ডিসপ্লে এবং সেন্সরের সাথে এবং হলুদ বিন্দুগুলি ত্রিঙ্কেটের সাথে সংযুক্ত হওয়ার কথা।

ডিসপ্লের সাথে সংযুক্ত I2C লাইনের ডেটা-পিন হবে একমাত্র এক্সিপশন, সেই পিনটি ট্রিনকেটস ডেটা পিনের সাথেও সংযোগ করে।

আমি একটি অন/অফ সুইচ ব্যবহার না করার পরিবর্তে পরিবর্তে একটি pushbutton এবং দুটি 3V বোতাম কোষ ব্যবহার করি যতক্ষণ না আমি বোতামটি টিপব। এটি একটি সেকেন্ডের 1/10 এর মধ্যে শক্তি বাড়ায় যাতে আমার জন্য একটি বোতাম বাদ দেওয়া এবং এটিকে ছোট করা যথেষ্ট দ্রুত হয়।

প্রস্তাবিত: