হালকা নির্ভর প্রতিরোধক
হালকা নির্ভরশীল প্রতিরোধক (এলডিআর), বা ফটোসিস্টরগুলি হ'ল পরিবর্তনশীল প্রতিরোধক যা ফটোয়েলেকট্রিক উপাদান দ্বারা সনাক্ত করা আলোর পরিমাণের উপর ভিত্তি করে তাদের প্রতিরোধের মান পরিবর্তন রয়েছে। সাধারণত, ফটোসিস্টরের উপর যত বেশি আলো জ্বলজ্বল করা হয়, ততই ফটোসিস্টরের প্রতিরোধের মান কম [1]। এটি বেশ কার্যকর হতে পারে কারণ এই পরিবর্তিত প্রতিরোধের মানটি উপস্থিত আলোর পরিমাণের ইঙ্গিত হিসাবে পড়তে পারে এবং একটি দ্বারা ব্যবহৃত হয় মাইক্রোকন্ট্রোলার একটি সম্পর্কিত ক্রিয়া সম্পাদন করতে। এলডিআরগুলি প্রায়শই নীচের মতো সস্তা এবং বেসিক উপাদান হিসাবে পাওয়া যায় তবে আপনি হালকা সেন্সরগুলিও খুঁজে পেতে পারেন যা বিশেষভাবে সূর্যের আলো বা ইউভি আলো সনাক্ত করার জন্য ডিজাইন করা হয়েছে। আপনি কোন সেন্সরটি চয়ন করেন তার উপর নির্ভর করে আপনার মাইক্রোকন্ট্রোলারের সাথে কীভাবে এটি সংযুক্ত করতে হয় তা দেখার জন্য আপনাকে এর ডেটাশিটের সাথে পরামর্শ করতে হবে।

ফোটোরিস্টররা অপটিক্যাল সেন্সরগুলি কি?
সংক্ষিপ্ত উত্তর হ্যাঁ, ফটোসিস্টররা অপটিক্যাল সেন্সর। তবে সমস্ত অপটিক্যাল সেন্সর ফটোসিস্টরের মতো কাজ করে না। অপটিকাল সেন্সরগুলি সেন্সরগুলির একটি পরিবার যা বিভিন্ন উপায়ে আলো ব্যবহার করে। কিছু অপটিক্যাল সেন্সর কোনও বস্তুর উপস্থিতি সনাক্ত করতে বা এমনকি ব্যবহৃত এমনকি ব্যবহার করে হালকা ব্যবহার করে লিনিয়ার অ্যাকিউইউটরগুলিতে প্রতিক্রিয়া, যখন ফটোসিস্টররা কত আলো উপস্থিত রয়েছে তার একটি ইঙ্গিত দেয়। হালকা সনাক্তকারী সেন্সরটির সন্ধান করার সময়, ফটোসিস্টর এবং অন্যান্য অপটিক্যাল সেন্সরগুলির মধ্যে পার্থক্যটি জানা গুরুত্বপূর্ণ।
লিনিয়ার অ্যাকুয়েটরগুলির সাথে সম্ভাব্য ব্যবহারের ক্ষেত্রে
এলডিআরগুলির সাথে একত্রে ব্যবহার করা যেতে পারে লিনিয়ার অ্যাকিউটিউটর দুটি মৌলিক উদ্দেশ্যে; প্রথমটি হ'ল যখন খুব বেশি আলো থাকে তখন অ্যাকুয়েটরটির প্রতিক্রিয়া জানানো এবং অন্যটি হ'ল এলডিআর দ্বারা দেখা আলোর পরিমাণ সর্বাধিকতর করার জন্য অ্যাকিউটরেটরটি সরানো উচিত। প্রথম ব্যবহারের ক্ষেত্রে অ্যাপ্লিকেশনগুলির জন্য দরকারী যেখানে আপনি আলোর পরিমাণ হ্রাস করতে চান, যেমন হালকা সংবেদনশীল গাছপালা রক্ষা করা বা একটি প্যাটিও বা বারান্দার উপরে একটি ছাউনি স্বয়ংক্রিয়করণ। দ্বিতীয় ব্যবহারের কেসটি সৌর প্যানেলের মতো অ্যাপ্লিকেশনগুলিতে কার্যকর যেখানে আপনি প্যানেলগুলি দ্বারা দেখা আলোর পরিমাণ সর্বাধিক করার জন্য তাদের অবস্থান করার চেষ্টা করছেন।

লিনিয়ার অ্যাকিউউটর নিয়ন্ত্রণ করতে একটি এলডিআর ব্যবহার করা
ভাগ্যক্রমে, এলডিআর থেকে প্রাপ্ত প্রতিক্রিয়া উভয়ই ব্যবহারের ক্ষেত্রে ভিত্তিতে পরিবর্তন হবে না, সুতরাং এলডিআর থেকে প্রতিক্রিয়া সংযোগ এবং পড়া একইভাবে প্রয়োগ করা যেতে পারে। ফটোসিস্টর সেটআপ করতে, আপনাকে কেবল ফটোসিস্টরের ইতিবাচক দিকটি একটি উপযুক্ত বিদ্যুৎ সরবরাহ এবং নেতিবাচক দিকটি একটি মাইক্রোকন্ট্রোলারের একটি অ্যানালগ পিনের সাথে সংযুক্ত করতে হবে, যেমন একটি আরডুইনো, আউটপুট পড়তে। আপনি মাইক্রোকন্ট্রোলারের অ্যানালগ পিনগুলি সুরক্ষিত করতে নীচে দেখানো যেমন ফটোসিস্টরের আউটপুট পাশের সাথে স্থলটির সাথে সংযুক্ত একটি প্রতিরোধককেও সংযুক্ত করতে চাইবেন।
আপনি মাইক্রোকন্ট্রোলার দিয়ে লিনিয়ার অ্যাকুয়েটরটি একটি জোড়া ব্যবহার করে চালনা করতে পারেন রিলে বা একটি ব্যবহার করে মোটর ড্রাইভার। এটি কীভাবে করবেন তা দেখতে, আপনি আমাদের ব্লগটি পরীক্ষা করে দেখতে পারেন কীভাবে একটি আরডুইনো দিয়ে লিনিয়ার অ্যাকুয়েটর নিয়ন্ত্রণ করবেন। আপনার এলডিআর সেন্সরের অবস্থান আপনার ব্যবহারের ক্ষেত্রে নির্ভর করবে; আপনি যদি কোনও অঞ্চলকে আলো থেকে রক্ষা করার চেষ্টা করছেন তবে আপনি যা কিছু রক্ষা করার চেষ্টা করছেন তার সাথে আপনি এলডিআর চাইবেন, তবে আপনি যদি হালকা এক্সপোজারটি সর্বাধিক করতে চান তবে আপনি যে অবজেক্টটি প্রকাশ করছেন তার সাথে সরে যাওয়ার জন্য আপনার সেন্সরটির প্রয়োজন হবে আলো. উভয় ক্ষেত্রেই এলডিআর থেকে প্রতিক্রিয়া পড়তে আপনি সেন্সরের আউটপুট দিক থেকে অ্যানালগ ভোল্টেজটি কেবল পড়েন বলে অভিন্ন হবে।
// Connect Output of Photoresistor to A1 of Arduino | |
photoresistorValue = analogRead(A1); |
আপনার লিনিয়ার অ্যাকুয়েটরকে নিয়ন্ত্রণ করতে আপনি কীভাবে এই প্রতিক্রিয়াটি ব্যবহার করবেন তা আপনার অ্যাপ্লিকেশন এবং ব্যবহারের কেসের ভিত্তিতে পরিবর্তিত হবে। প্রথম ব্যবহারের ক্ষেত্রে যেখানে আপনি হালকা এক্সপোজারকে হ্রাস করছেন, আপনি যদি নির্দিষ্ট পরিমাণে আলো সনাক্ত করা হয় বা আপনি লিনিয়ার অ্যাকুয়েটরটি চালনা করতে পারেন যতক্ষণ না ফটোসিস্টর কম পরিমাণে আলো সনাক্ত করে না। পূর্বেরটি নীচের কোড নমুনায় প্রদর্শিত হয়। যদিও এটি একটি প্রাথমিক বাস্তবায়ন, আপনি এই সমাধানটিকে একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করে আরও অনেক সৃজনশীল সমাধান করতে পারেন। উদাহরণস্বরূপ, আপনি কেবল শীর্ষ দিবালোকের সময় এবং কেবল যখন এটি রোদে থাকে কেবল তখনই আপনি হালকা সংবেদনশীল উদ্ভিদের উপরে একটি ছায়া স্থাপন করতে পারেন। ফোটোরিস্টর ব্যবহার করে, আপনি নির্ধারণ করতে পারেন যে এটি অ্যাকুয়েটরটি সরানো এবং ছায়া স্থাপনের জন্য যথেষ্ট রোদ ছিল কিনা।
/* Firgelli Automations | |
* Limited or no support: we do not have the resources for Arduino code support | |
*/ | |
int photoresistorValue = 0; // Value of LDR | |
int lightLevel = 300; // Level of Light to require shade to be Position | |
bool runFlag = 0; // Flag used to indicate if the Actuator has moved | |
void setup() { | |
pinMode(A1, INPUT); // Configure pin A1 as an Input from the LDR | |
pinMode(10, OUTPUT); // Configure pin 10 as an Output | |
pinMode(11, OUTPUT); // Configure pin 11 as an Output | |
} | |
void loop() { | |
photoresistorValue = analogRead(A1); | |
if(photoresistorValue > lightLevel && runFlag == 0){ | |
//Extend Actuator to Position Shade | |
analogWrite(10, 255); | |
analogWrite(11, 0); | |
delay(5000); // Wait 5 seconds | |
// Stop Actuator | |
analogWrite(10, 0); | |
analogWrite(11, 0); | |
runFlag = 1; | |
} else { | |
// Stop Actuator | |
analogWrite(10, 0); | |
analogWrite(11, 0); | |
} | |
} |
দ্বিতীয় ব্যবহারের ক্ষেত্রে যেখানে আপনি হালকা এক্সপোজারকে সর্বাধিক করে তুলছেন, আপনাকে কোন অবস্থানটি এলডিআরের সংস্পর্শে থাকা আলোকে সর্বাধিক করে তোলে তা নির্ধারণ করতে হবে। এটি কার্যকরভাবে করতে, আপনাকে একটি ব্যবহার করতে হবে প্রতিক্রিয়া লিনিয়ার অ্যাকুয়েটর অ্যাকুয়েটরের অবস্থান ট্র্যাক করতে। আপনি কীভাবে আমাদের উপর লিনিয়ার অ্যাকিউটিউটরগুলির জন্য বিভিন্ন প্রতিক্রিয়া বিকল্পগুলি ব্যবহার করবেন সে সম্পর্কে গাইডগুলি খুঁজে পেতে পারেন টিউটোরিয়াল পৃষ্ঠা। নীচের কোডের নমুনা আপনাকে দেখায় যে আপনি কীভাবে এটি ব্যবহার করতে পারেন পেন্টিওমিটার প্রতিক্রিয়া লিনিয়ার অ্যাকুয়েটর। আপনি কেবল এলডিআর থেকে সর্বনিম্ন প্রতিরোধের মানটি ট্র্যাক করেন, যা সর্বোচ্চ ভোল্টেজ মান এবং অ্যাকুয়েটরের সাথে সম্পর্কিত অবস্থান। আপনি প্রথমে অ্যাকুয়েটরটিকে সর্বোচ্চ দৈর্ঘ্যে প্রসারিত করতে এবং তারপরে অ্যাকিউউটরের পুরো দৈর্ঘ্যের উপর এলডিআর আউটপুট পরিমাপ করতে এটি প্রত্যাহার করতে চাইবেন। একবার অ্যাকুয়েটর তার পুরো পরিসীমাটি পেরিয়ে গেলে, আপনি কেবল সেই অবস্থানে চলে যান যা এলডিআর থেকে সর্বোচ্চ সংশ্লিষ্ট আউটপুট ছিল। ব্যবহারিকভাবে এটি বাস্তবায়নের জন্য, আপনি সম্ভবত সারা দিন পর্যায়ক্রমে একটি নতুন অবস্থান খুঁজে পেতে একটি টাইমারটিতে নীচের কোডটি চালাতে চাইবেন।
/* Firgelli Automations | |
* Limited or no support: we do not have the resources for Arduino code support | |
*/ | |
int ldrValue = 0; // Value of LDR | |
int pos = 0; // Position of Actuator | |
int maxPos = 928; // Max Position | |
int minPos = 75; // min Position | |
int goalPos = 0; // Desired Position of Actuator | |
bool runFlag = 1; | |
int highestLightPos; // the Actautor Positin with Highest LDR value | |
int highestLDRValue = 0; // Highest LDR value | |
void setup() { | |
pinMode(A1, INPUT); // Configure pin A1 as an Input from the LDR | |
pinMode(A2, INPUT); // Configure pin A1 as an Input from the Linear Actuator | |
pinMode(10, OUTPUT); // Configure pin 10 as an Output | |
pinMode(11, OUTPUT); // Configure pin 11 as an Output | |
ldrValue = analogRead(A1); | |
pos = analogRead(A2); | |
} | |
void loop() { | |
if(runFlag == 1){ | |
findMaxLight(); | |
} | |
} | |
// Function to Find Max Value from LDR | |
void findMaxLight(void){ | |
static int task = 0; | |
switch(task){ | |
case 0: | |
goalPos = maxPos; | |
runActuator(goalPos); | |
if(pos == maxPos){task++; delay(100);} | |
break; | |
case 1: | |
goalPos = minPos; | |
runActuator(goalPos); | |
if(pos == minPos){task++; delay(100);} | |
break; | |
case 2: | |
goalPos = highestLightPos; | |
runActuator(goalPos); | |
if(pos == goalPos){ | |
task = 0; | |
runFlag = 0; | |
} | |
break; | |
} | |
ldrValue = analogRead(A1); | |
if(ldrValue > highestLDRValue){ | |
highestLDRValue = ldrValue; | |
highestLightPos = pos; | |
} | |
} | |
// Function to Run Linear Actuator to a Specific Position | |
void runActuator(int goal){ | |
if(goal > maxPos){goal = maxPos;} | |
if(goal < minPos){goal = minPos;} | |
if(abs(pos - goal) > 5){ | |
if(pos < goal){ | |
//Extend Actuator | |
analogWrite(10, 180); | |
analogWrite(11, 0); | |
pos = analogRead(A2); | |
} else if(pos > goal){ | |
//Extend Actuator | |
analogWrite(10, 0); | |
analogWrite(11, 180); | |
pos = analogRead(A2); | |
} | |
}else{ | |
pos = goal; | |
// Stop Actuator | |
analogWrite(10, 0); | |
analogWrite(11, 0); | |
} | |
} |
লিনিয়ার অ্যাকিউটেটরগুলির সাথে আপনি ফটোসিস্টর ব্যবহার করতে পারেন এমন প্রচুর সৃজনশীল উপায় রয়েছে এবং আপনি কী করেছেন তা দেখতে আমরা পছন্দ করি। সঙ্গে Firgelli অটোমেশন এর লিনিয়ার অ্যাকুয়েটর এবং আনুষাঙ্গিকগুলির বিস্তৃত নির্বাচন, আপনি আপনার পরবর্তী আলো নিয়ন্ত্রিত প্রকল্পটিকে একটি বাতাস হিসাবে তৈরি করতে পারেন।
তথ্যসূত্র:
- ইলেকট্রনিক্স নোট। হালকা নির্ভরশীল প্রতিরোধক এলডিআর: ফোটোরসিস্টর। থেকে উদ্ধার: https://www.electronics-notes.com/articles/electronic_components/resistors/light-dependent-resistor-ldr.php