একটি LDR ব্যবহার করে Arduino এবং একটি নিয়ন্ত্রণ সুইচ দিয়ে Arduino আলোকিত করা।
এই টিউটোরিয়ালে, আমরা একটি লাইট ডিপেনডেন্ট রেজিস্টর (এলডিআর) কীভাবে একটি আর্ডুইনোর সাথে ব্যবহার করতে হয় তা অন্বেষণ করব যাতে পরিবেশের আলো স্তরের উপর ভিত্তি করে একটি আলো নিয়ন্ত্রণ করা যায়। এলডিআর এর প্রতিরোধ ক্ষমতা আলোর তীব্রতার উপর নির্ভর করে পরিবর্তিত হয়; তাই এটি একটি পরিবেশে আলো আছে কিনা বা অন্ধকার আছে কিনা তা সনাক্ত করতে ব্যবহার করা যেতে পারে। যখন আলো একটি নির্দিষ্ট থ্রেশহোল্ডের নিচে থাকে, আমরা একটি আউটপুট পিন চালু করব একটি আলো সক্রিয় করতে।

আপনার প্রয়োজনীয় প্রধান উপাদানগুলির মধ্যে একটি আরডুইনো বোর্ড, একটি 10k ওহম রেজিস্টর, এলডিআর এবং কিছু জাম্পার তার অন্তর্ভুক্ত রয়েছে। এলডিআরটি একটি ভোল্টেজ ডিভাইডার কনফিগারেশনে রেজিস্টরের সাথে সংযুক্ত হবে অ্যানালগ ভোল্টেজ পড়ার জন্য, যা আলোর তীব্রতার উপর ভিত্তি করে পরিবর্তিত হবে। আমরা এই ভোল্টেজটি একটি এলইডি বা অন্যান্য আউটপুট ডিভাইস নিয়ন্ত্রণ করতে ব্যবহার করব।
সেটআপ এবং কোডের একটি ভিজ্যুয়াল ডেমোনস্ট্রেশনের জন্য, সম্পর্কিত ভিডিওটি দেখুন (ভিডিওতে 0:10)।
হার্ডওয়্যার ব্যাখ্যা করা
লাইট ডিপেনডেন্ট রেজিস্টর (এলডিআর) একটি ধরনের রেজিস্টর যার প্রতিরোধ ক্ষমতা বাড়তি আলো তীব্রতার সাথে কমে যায়। এটি সাধারণত এমন অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয় যেখানে আলো স্তরগুলি পর্যবেক্ষণ করতে হয়। আমাদের সেটআপে, এলডিআরটি পরিবেশের আলো স্তরগুলি সনাক্ত করতে ব্যবহৃত হবে এবং এটি আর্দুইনোতে একটি সংশ্লিষ্ট অ্যানালগ ভোল্টেজ পাঠাবে।
আর্ডুইনো এই ভোল্টেজটি তার একটি অ্যানালগ পিনের মাধ্যমে পড়বে এবং একটি নির্ধারিত থ্রেশহোল্ডের ভিত্তিতে সংযুক্ত আলোটি চালু বা বন্ধ করার সিদ্ধান্ত নেবে। 10k ওহম রেজিস্টরটি ভোল্টেজ ডিভাইডার কনফিগারেশনে LDR-এর সাথে ব্যবহার করা হয় একটি স্থিতিশীল ভোল্টেজ আউটপুট তৈরি করতে যা আর্ডুইনো পড়তে পারে।
ডেটাশিটের বিস্তারিত
| উৎপাদক | সাধারণ |
|---|---|
| পার্ট নম্বর | LDR |
| প্রতিরোধ (আলো) | ১০০ - ৫০০ Ω |
| প্রতিরোধ (অন্ধকার) | ১০ কΩ - ১ এমΩ |
| কাজের ভোল্টেজ | ৩.৩ ভি - ৫ ভি |
| প্রতিক্রিয়া সময় | ২০ মি.সে. (গড়) |
| প্যাকেজ | থ্রু-হোল |
- সঠিক ভোল্টেজ স্তর নিশ্চিত করুন; 5V অতিক্রম করবেন না।
- পড়ার স্থিতিশীল করতে একটি পুল-ডাউন রেজিস্টর ব্যবহার করুন।
- ভোল্টেজ ডিভাইডারের জন্য একটি উপযুক্ত রেজিস্টর মান (10kΩ) বেছে নিন।
- যদি প্রয়োজন হয় তবে শব্দ ফিল্টারিংয়ের জন্য একটি ক্যাপাসিটর ব্যবহার করার কথা বিবেচনা করুন।
- পরীক্ষার সময় LDR-কে সরাসরি আলো উৎস থেকে দূরে রাখুন।
তারের নির্দেশাবলী

সার্কিটটি সেট আপ করতে, আরডুইনোর 3.3V পাওয়ার সাপ্লাইয়ের সাথে LDR-এর একটি টার্মিনাল সংযুক্ত করা শুরু করুন। LDR-এর অন্য টার্মিনালটি 10k ওহম রেজিস্টরের একটি প্রান্তের সাথে সংযুক্ত হবে। রেজিস্টরের অন্য প্রান্তটি গ্রাউন্ডের সাথে সংযুক্ত করা উচিত।
পরবর্তী, LDR এবং রেজিস্টরের সংযোগস্থলে একটি অ্যানালগ ইনপুট পিনের সাথে একটি সংযোগ তৈরি করুন, যেমনA0এই সংযোগটি আরডুইনোকে ভোল্টেজ পড়তে সক্ষম করবে। সঠিক কার্যকারিতা নিশ্চিত করতে আরডুইনোর গ্রাউন্ডটি আপনার সার্কিটের সাধারণ গ্রাউন্ডের সাথে সংযুক্ত করতে নিশ্চিত করুন।
কোড উদাহরণ ও পদক্ষেপ নির্দেশিকা
নিচের কোড স্নিপেটটি সিরিয়াল যোগাযোগ শুরু করে এবং এলডিআর থেকে অ্যানালগ মান পড়ে। তারপর মানটিকে একটি ভোল্টেজে রূপান্তরিত করা হয় এবং সিরিয়াল মনিটরে মুদ্রিত হয়।
int LDRvalue = analogRead(A0); // Read the analog value from LDR
float voltage = LDRvalue * (5.0 / 1023.0); // Convert to voltage
Serial.print("Voltage ="); // Print label
Serial.print(voltage); // Print actual voltage
এই কোডে, ভেরিয়েবলLDRvalueএলডিআর থেকে কাঁচা অ্যানালগ পড়া সংরক্ষণ করে। সর্বাধিক অ্যানালগ মান (১০২৩) এবং ভোল্টেজ রেফারেন্স (৫ভি) এর ভিত্তিতে ভোল্টেজ হিসাব করা হয়।
পরবর্তীতে, আমরা পরীক্ষা করি যে এই ভোল্টেজ একটি থ্রেশহোল্ডের (এই ক্ষেত্রে 3V) নিচে কিনা একটি আউটপুট পিন নিয়ন্ত্রণ করার জন্য।
if(voltage < 3 ){
digitalWrite(10, HIGH); // Turn on the light
}else{
digitalWrite(10, LOW); // Turn off the light
}এখানে, যদি পরিমাপিত ভোল্টেজ ৩ ভোল্টের নিচে হয়, আমরা আউটপুট পিন (১০) কে HIGH সেট করি, আলোটি চালু হয়; অন্যথায়, এটি LOW সেট করা হয়, আলোটি বন্ধ হয়ে যায়। আলোয়ের অবস্থার নিয়মিত পরীক্ষা পরিবেশের আলো স্তরের ভিত্তিতে বাস্তব সময়ের নিয়ন্ত্রণের অনুমতি দেয়।
প্রদর্শনী / কী আশা করবেন
তারের সংযোগ সম্পন্ন করার এবং আপনার কোড আপলোড করার পর, আপনি যখন LDR-এ আলোintensity পরিবর্তন করবেন, তখন সিরিয়াল মনিটরে ভোল্টেজের পড়া পরিবর্তিত হতে দেখা উচিত। যদি আপনি LDR-কে ঢেকে দেন, তবে ভোল্টেজ বাড়বে, এবং আলোতে এক্সপোজ করলে এটি কমে যাবে। এই আচরণটি সরাসরি আউটপুট পিনকে প্রভাবিত করবে, যা আলো নিয়ন্ত্রণ করে।
সাধারণ pitfalls, যেমন ভাসমান ইনপুট বা ভুল ভোল্টেজ স্তরের প্রতি সতর্ক থাকুন, যা ভুল পড়ার দিকে নিয়ে যেতে পারে (ভিডিওতে ১২:৩০)।
ভিডিও টাইমস্ট্যাম্পস
- ০০:০০এলডিআর-এর পরিচিতি
- ০১:৩০হার্ডওয়্যার সেটআপ
- ০৩:৪৫কোড ব্যাখ্যা
- ০৬:০০কোড চালানো
- ০৯:১৫সমস্যা সমাধানের টিপস
/*
* মূল সূত্র: https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage
*
* এই কোডটি RoboJax.com এর জন্য একটি ভিডিও টিউটোরিয়ালের সাথে ব্যবহৃত হয়
* 31 আগস্ট, 2017 এ আয়াক্স, ওএন, কানাডা থেকে প্রকাশিত।
* লিখেছেন/সম্পাদনা করেছেন এবিএস
*/
/void setup()
{
Serial.begin(9600); // সেটআপ সিরিয়াল
pinMode(10, OUTPUT);
}
void loop(){
int LDRvalue = analogRead(A0);
// এনালগ রিডিং (যা 0 - 1023 থেকে যায়) একটি ভোল্টেজে (0 - 5 ভি) রূপান্তর করুন:
float voltage = LDRvalue * (5.0 / 1023.0);
// আপনি যে মানটি পড়েছেন তা মুদ্রণ করুন:
Serial.print("Voltage ="); // "ভোল্টেজ = " পাঠ্যটি মুদ্রণ করে
Serial.print(voltage); // প্রকৃত ভোল্টেজ মুদ্রণ করে
// ভোল্টেজ 3 এর চেয়ে কম কিনা পরীক্ষা করুন, তারপর পিন 10 হাই বা অনে সেট করুন
if(voltage < 3 ){
digitalWrite(10, HIGH);
}else{
digitalWrite(10, LOW); // অথবা ভোল্টেজ 3 এর চেয়ে বড় হলে এটি বন্ধ রাখুন
}
Serial.println();
delay(300);
}
সম্পদ ও রেফারেন্সসমূহ
এখনো কোনো সম্পদ নেই।
ফাইলসমূহ📁
অন্যান্য ফাইলগুলি
-
এলডিআর সার্কিট ডায়াগ্রাম ১
LDR_circuit1.PDF0.04 MB -
এলডিআর সার্কিট ডায়াগ্রাম ২
LDR_circuit2.PDF0.04 MB