لائٹ ڈیپینڈنٹ ریزسٹر - ایل ڈی آر سینسر ESP32 کے ساتھ Arduino IDE کا استعمال کرتے ہوئے

Lay Ypyn N Ryzs R Ayl Y Ar Synsr Esp32 K Sat Arduino Ide Ka Ast Mal Krt Wy



ESP32 ایک طاقتور مائکروکنٹرولر ہے جو IoT کی خصوصیات سے لیس ہے۔ LDR کے ساتھ ESP32 روشنی کی شدت کی پیمائش کر سکتا ہے اور اس کے مطابق ردعمل کو متحرک کر سکتا ہے۔ ESP32 اور LDR کا استعمال کرتے ہوئے ہم ریموٹ لائٹ سینسنگ پر مبنی پروجیکٹ بنا سکتے ہیں اور مختلف صنعتوں اور ایپلی کیشنز کے لیے مختلف قسم کے اختراعی IoT حل تیار کر سکتے ہیں۔

اس گائیڈ میں، LDR کی بنیادی باتیں اور ESP32 کے ساتھ اس کی ایپلی کیشنز کا احاطہ کیا جائے گا۔







1: LDR سینسر کا تعارف



2: ESP32 کے ساتھ LDR کی درخواستیں۔



3: Arduino IDE کا استعمال کرتے ہوئے ESP32 کے ساتھ LDR کو انٹرفیس کرنا





نتیجہ

1: LDR سینسر کا تعارف

اے ایل حق ڈی منحصر آر ایسسٹر (LDR) ایک قسم کا ریزسٹر ہے جو روشنی کی شدت کی بنیاد پر اپنی مزاحمت کو تبدیل کرتا ہے۔ اندھیرے میں اس کی مزاحمت بہت زیادہ ہوتی ہے جبکہ تیز روشنی میں اس کی مزاحمت بہت کم ہوتی ہے۔ مزاحمت میں یہ تبدیلی لائٹ سینسنگ پروجیکٹس کے لیے بہترین بناتی ہے۔




ESP32 اینالاگ پن آنے والے وولٹیج کو 0 اور 4095 کے درمیان ایک عدد میں تبدیل کرتے ہیں۔ یہ انٹیجر ویلیو 0V سے 3.3V تک کے اینالاگ ان پٹ وولٹیج کے خلاف میپ کیا جاتا ہے جو ESP32 میں ڈیفالٹ ADC حوالہ وولٹیج ہے۔ یہ قدر Arduino کا استعمال کرتے ہوئے پڑھی جاتی ہے۔ analogRead() LDR سے فنکشن۔

مزید تفصیلی گائیڈ اور ESP32 کے ADC پن آؤٹ کے لیے مضمون پڑھیں ESP32 ADC - Arduino IDE کے ساتھ ینالاگ ویلیوز پڑھیں .


ESP32 میں ایک بلٹ ان اینالاگ ٹو ڈیجیٹل کنورٹر (ADC) ہے جو LDR میں وولٹیج کی پیمائش کر سکتا ہے اور اسے ڈیجیٹل سگنل میں تبدیل کر سکتا ہے جس پر مائیکرو کنٹرولر کے ذریعے کارروائی کی جا سکتی ہے۔ اس سگنل کا استعمال کرتے ہوئے ESP32 LDR کی مزاحمت کا تعین کرتا ہے، جو روشنی کی شدت کے متناسب ہے۔

یہاں ہم ESP32 ADC چینل 1 پن استعمال کریں گے۔


فوٹون یا روشنی کے ذرات LDRs کے آپریشن میں اہم کردار ادا کرتے ہیں۔ جب روشنی ایل ڈی آر کی سطح پر گرتی ہے تو، فوٹان مواد سے جذب ہوتے ہیں، جو پھر مواد میں الیکٹرانوں کو آزاد کر دیتے ہیں۔ مفت الیکٹرانوں کی تعداد روشنی کی شدت کے براہ راست متناسب ہے، اور جتنے زیادہ الیکٹران آزاد ہوتے ہیں، LDR کی مزاحمت اتنی ہی کم ہوتی جاتی ہے۔

2: ESP32 کے ساتھ LDR کی درخواستیں۔

ESP32 کے ساتھ LDR کی کچھ IoT پر مبنی ایپلی کیشنز کی فہرست درج ذیل ہے:

    • لائٹ ایکٹیویٹڈ سوئچ
    • روشنی کی سطح کا اشارہ
    • آلات میں نائٹ موڈ
    • روشنی پر مبنی حفاظتی نظام
    • سمارٹ لائٹنگ سسٹم
    • ہلکے حساس حفاظتی نظام
    • پلانٹ کی نگرانی
    • توانائی کی بچت والی روشنی
    • خودکار ونڈو بلائنڈز

3: Arduino IDE کا استعمال کرتے ہوئے ESP32 کے ساتھ LDR کو انٹرفیس کرنا

ESP32 کے ساتھ LDR استعمال کرنے کے لیے ہمیں LDR کو ESP32 ADC چینل پن کے ساتھ جوڑنے کی ضرورت ہے۔ اس کے بعد Arduino کوڈ کی ضرورت ہے جو LDR آؤٹ پٹ پن سے ینالاگ ویلیوز پڑھے گا۔ اس سرکٹ کو ڈیزائن کرنے کے لیے، ہمیں LDR، ایک ریزسٹر، اور ESP32 بورڈ کی ضرورت ہے۔

LDR اور ریزسٹر سیریز میں جڑے ہوئے ہیں، LDR کے ساتھ جڑے ہوئے ہیں۔ اینالاگ چینل 1 ESP32 کا ان پٹ پن۔ سرکٹ میں ایک ایل ای ڈی شامل کیا جائے گا جو ایل ڈی آر کے کام کرنے کی جانچ کر سکتا ہے۔

3.1: منصوبہ بندی

ESP32 کے ساتھ LDR کو انٹرفیس کرنے کا سرکٹ ڈایاگرام کافی آسان ہے۔ ہمیں وولٹیج ڈیوائیڈر کنفیگریشن میں LDR اور ایک ریزسٹر کو جوڑنے اور وولٹیج ڈیوائیڈر کے آؤٹ پٹ کو ESP32 کے ADC (اینالاگ سے ڈیجیٹل کنورٹر) پن سے جوڑنے کی ضرورت ہے۔ ADC چینل 1 پن D34 ESP32 کے لیے ینالاگ ان پٹ کے طور پر استعمال ہوتا ہے۔

مندرجہ ذیل تصویر LDR سینسر کے ساتھ ESP32 کی اسکیمیٹک ہے۔

3.2: کوڈ

سرکٹ قائم ہونے کے بعد، اگلا مرحلہ ESP32 کے لیے کوڈ لکھنا ہے۔ کوڈ LDR سے اینالاگ ان پٹ کو پڑھے گا اور اسے روشنی کی مختلف سطحوں پر مبنی کسی LED یا دوسرے آلے کو کنٹرول کرنے کے لیے استعمال کرے گا۔

int LDR_Val = 0 ; /* فوٹو ریسسٹر ویلیو کو ذخیرہ کرنے کے لیے متغیر */
int سینسر = 3. 4 ; /* اینالاگ ان پٹ کے لیے photoresistor */
int ایل. ای. ڈی = 25 ; /* ایل ای ڈی آؤٹ پٹ پن */
باطل سیٹ اپ ( ) {
سیریل شروع کریں۔ ( 9600 ) ; /* حرکت نبض کے لیے سیریل مواصلات */
پن موڈ ( قیادت، آؤٹ پٹ ) ; /* ایل ای ڈی پن سیٹ کے طور پر آؤٹ پٹ */
}
باطل لوپ ( ) {
LDR_Val = analogRead ( سینسر ) ; /* اینالاگ پڑھیں LDR قدر */
سیریل۔ پرنٹ ( 'LDR آؤٹ پٹ ویلیو:' ) ;
Serial.println ( LDR_Val ) ; /* سیریل مانیٹر پر LDR آؤٹ پٹ ویل ڈسپلے کریں۔ */
اگر ( LDR_Val > 100 ) { /* اگر روشنی کی شدت زیادہ ہے۔ */
Serial.println ( ' انتہائی شدت ' ) ;
ڈیجیٹل رائٹ ( قیادت، کم ) ; /* ایل ای ڈی بند رہتا ہے۔ */
}
اور {
/* باقی اگر روشنی کی شدت کم ہے LED آن رہے گی۔ */
Serial.println ( 'کم شدت' ) ;
ڈیجیٹل رائٹ ( قیادت، اعلی ) ; /* ایل ای ڈی ٹرن آن ایل ڈی آر ویلیو ہے۔ کم مقابلے 100 */
}
تاخیر ( 1000 ) ; /* ہر کے بعد قدر پڑھتا ہے۔ 1 سیکنڈ */
}


مندرجہ بالا کوڈ میں ہم ESP32 کے ساتھ ایک LDR استعمال کرتے ہیں جو LDR سے آنے والے اینالاگ ان پٹ کا استعمال کرتے ہوئے LED کو کنٹرول کرے گا۔

کوڈ کی پہلی تین لائنیں ذخیرہ کرنے کے لیے متغیرات کا اعلان کرتی ہیں۔ photoresistor قدر , the ینالاگ پن photoresistor کے لئے، اور ایل. ای. ڈی آؤٹ پٹ پن.

میں سیٹ اپ() فنکشن، سیریل کمیونیکیشن 9600 کی بوڈ ریٹ کے ساتھ شروع کی جاتی ہے اور LED پن D25 کو آؤٹ پٹ کے طور پر سیٹ کیا جاتا ہے۔

میں لوپ() فنکشن، فوٹو ریسسٹر ویلیو کو analogRead() فنکشن کا استعمال کرتے ہوئے پڑھا جاتا ہے، جو کہ میں محفوظ ہوتا ہے۔ LDR_Val متغیر فوٹو ریزسٹر ویلیو پھر Serial.println() فنکشن کا استعمال کرتے ہوئے سیریل مانیٹر پر ظاہر ہوتا ہے۔

ایک اور اگر سٹیٹمنٹ کا استعمال فوٹو ریزسٹر کی روشنی کی شدت کی بنیاد پر ایل ای ڈی کو کنٹرول کرنے کے لیے کیا جاتا ہے۔ اگر فوٹو ریزسٹر کی قدر 100 سے زیادہ ہے، تو اس کا مطلب ہے کہ روشنی کی شدت زیادہ ہے، اور ایل ای ڈی بند ہے۔ تاہم، اگر فوٹو ریزسٹر کی قدر 100 سے کم یا اس کے برابر ہے، تو اس کا مطلب ہے کہ روشنی کی شدت کم ہے، اور LED آن ہو جاتی ہے۔

آخر میں، پروگرام 1 سیکنڈ تک انتظار کرتا ہے delay() فنکشن کا استعمال کرتے ہوئے فوٹو ریزسٹر ویلیو کو دوبارہ پڑھنے سے پہلے۔ یہ سائیکل غیر معینہ مدت تک دہرایا جاتا ہے، جس سے فوٹو ریزسٹر کے ذریعے پتہ چلنے والی روشنی کی شدت کی بنیاد پر ایل ای ڈی آن اور آف ہو جاتی ہے۔

3.3: مدھم روشنی کے تحت آؤٹ پٹ

روشنی کی شدت 100 سے کم ہے لہذا ایل ای ڈی آن رہے گی۔

3.4: روشن روشنی کے تحت آؤٹ پٹ

جیسے جیسے روشنی کی شدت بڑھے گی LDR قدر بڑھے گی اور LDR مزاحمت کم ہو جائے گی تو LED بند ہو جائے گی۔

نتیجہ

LDR کو ADC چینل 1 پن کا استعمال کرتے ہوئے ESP32 کے ساتھ انٹرفیس کیا جا سکتا ہے۔ LDR آؤٹ پٹ مختلف ایپلی کیشنز میں روشنی سینسنگ کو کنٹرول کر سکتا ہے۔ اس کی کم لاگت اور کمپیکٹ سائز کے ساتھ، ESP32 اور LDR IoT پروجیکٹس کے لیے ایک پرکشش انتخاب کرتے ہیں جن کے لیے روشنی سینسنگ کی صلاحیتوں کی ضرورت ہوتی ہے۔ Arduino کا استعمال کرتے ہوئے analogRead() فنکشن ہم LDR سے اقدار پڑھ سکتے ہیں۔