Search Code

اردوینو کے ساتھ ایل ڈی آر استعمال کرتے ہوئے اور ایک کنٹرول سوئچ کے ذریعے اردوینو کو روشن کرنا

اردوینو کے ساتھ ایل ڈی آر استعمال کرتے ہوئے اور ایک کنٹرول سوئچ کے ذریعے اردوینو کو روشن کرنا

اس ٹیوٹوریل میں، ہم دریافت کریں گے کہ لائٹ ڈیپینڈنٹ ریزسٹر (LDR) کو Arduino کے ساتھ کیسے استعمال کیا جائے تاکہ محیطی روشنی کی سطح کی بنیاد پر روشنی کو کنٹرول کیا جا سکے۔ LDR روشنی کی شدت کے لحاظ سے اپنی مزاحمت تبدیل کرتا ہے؛ اس طرح اسے یہ پتہ لگانے کے لیے استعمال کیا جا سکتا ہے کہ ماحول میں روشنی ہے یا اندھیرا۔ جب روشنی ایک مخصوص حد سے کم ہوتی ہے، تو ہم روشنی کو فعال کرنے کے لیے ایک آؤٹ پٹ پن آن کریں گے۔

LDR Illustration and symbol

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

سیٹ اپ اور کوڈ کے بصری مظاہرے کے لیے، متعلقہ ویڈیو ضرور دیکھیں (ویڈیو میں 0:10 پر)۔

ہارڈویئر کی وضاحت

لائٹ ڈیپینڈنٹ ریزسٹر (LDR) ایک قسم کا ریزسٹر ہے جس کی مزاحمت روشنی کی بڑھتی ہوئی شدت کے ساتھ کم ہوتی ہے۔ یہ عام طور پر ان ایپلیکیشنز میں استعمال ہوتا ہے جہاں روشنی کی سطح کی نگرانی کی ضرورت ہوتی ہے۔ ہمارے سیٹ اپ میں، LDR محیطی روشنی کی سطح کا پتہ لگانے کے لیے استعمال ہوگا اور Arduino کو ایک متعلقہ اینالاگ وولٹیج بھیجے گا۔

Arduino اس وولٹیج کو اپنے ایک اینالاگ پن کے ذریعے پڑھے گا اور ایک متعین حد کی بنیاد پر فیصلہ کرے گا کہ منسلک روشنی کو آن کرنا ہے یا بند۔ 10k اوہم ریزسٹر LDR کے ساتھ وولٹیج ڈیوائیڈر کنفیگریشن میں استعمال کیا جاتا ہے تاکہ ایک مستحکم وولٹیج آؤٹ پٹ بنایا جا سکے جسے Arduino پڑھ سکے۔

ڈیٹاشیٹ کی تفصیلات

مینوفیکچرر جنرک
پارٹ نمبر LDR
مزاحمت (روشنی) 100 - 500 Ω
مزاحمت (اندھیرا) 10 kΩ - 1 MΩ
ورکنگ وولٹیج 3.3 V - 5 V
رسپانس ٹائم 20 ms (عام)
پیکیج تھرو-ہول

 

  • مناسب وولٹیج کی سطح کو یقینی بنائیں؛ 5V سے تجاوز نہ کریں۔
  • ریڈنگز کو مستحکم کرنے کے لیے پل-ڈاؤن ریزسٹر استعمال کریں۔
  • وولٹیج ڈیوائیڈر کے لیے مناسب ریزسٹر ویلیو (10kΩ) منتخب کریں۔
  • اگر ضرورت ہو تو شور فلٹرنگ کے لیے کیپیسٹر استعمال کرنے پر غور کریں۔
  • ٹیسٹنگ کے دوران LDR کو براہ راست روشنی کے ذرائع سے دور رکھیں۔

وائرنگ ہدایات

Wiring LDR with Arduino
Wiring LDR with Arduino

سرکٹ ترتیب دینے کے لیے، LDR کے ایک ٹرمینل کو Arduino پر 3.3V پاور سپلائی سے جوڑ کر شروع کریں۔ LDR کا دوسرا ٹرمینل 10k اوہم ریزسٹر کے ایک سرے سے منسلک ہوگا۔ ریزسٹر کا دوسرا سرا گراؤنڈ سے منسلک ہونا چاہیے۔

اگلا، LDR اور ریزسٹر کے سنگم سے ایک اینالاگ ان پٹ پن، جیسے A0، تک کنکشن بنائیں۔ یہ کنکشن Arduino کو وولٹیج پڑھنے کی اجازت دے گا۔ یقینی بنائیں کہ Arduino کی گراؤنڈ آپ کے سرکٹ کی مشترکہ گراؤنڈ سے منسلک ہے تاکہ مناسب فعالیت کو یقینی بنایا جا سکے۔

کوڈ مثالیں اور واک تھرو

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

int LDRvalue = analogRead(A0); // LDR سے اینالاگ ویلیو پڑھیں
float voltage = LDRvalue * (5.0 / 1023.0); // وولٹیج میں تبدیل کریں
Serial.print("Voltage ="); // لیبل پرنٹ کریں
Serial.print(voltage); // اصل وولٹیج پرنٹ کریں

اس کوڈ میں، متغیر LDRvalue LDR سے خام اینالاگ ریڈنگ کو ذخیرہ کرتا ہے۔ وولٹیج کا حساب زیادہ سے زیادہ اینالاگ ویلیو (1023) اور وولٹیج ریفرنس (5V) کی بنیاد پر کیا جاتا ہے۔

اگلا، ہم چیک کرتے ہیں کہ آیا یہ وولٹیج ایک حد (اس معاملے میں 3V) سے کم ہے تاکہ آؤٹ پٹ پن کو کنٹرول کیا جا سکے۔

if(voltage < 3 ){ 
  digitalWrite(10, HIGH); // روشنی آن کریں
}else{
  digitalWrite(10, LOW); // روشنی بند کریں
}

یہاں، اگر ناپی گئی وولٹیج 3 وولٹ سے کم ہے، تو ہم آؤٹ پٹ پن (10) کو HIGH پر سیٹ کرتے ہیں، جس سے روشنی آن ہوتی ہے؛ بصورت دیگر، اسے LOW پر سیٹ کیا جاتا ہے، جس سے یہ بند ہوتی ہے۔ روشنی کی حالت کی مسلسل جانچ محیطی روشنی کی سطح کی بنیاد پر ریئل ٹائم کنٹرول کی اجازت دیتی ہے۔

مظاہرہ / کیا توقع کریں

وائرنگ مکمل کرنے اور اپنا کوڈ اپ لوڈ کرنے کے بعد، آپ کو سیریل مانیٹر پر وولٹیج کی ریڈنگز میں تبدیلی نظر آئے گی جب آپ LDR پر روشنی کی شدت کو مختلف کریں گے۔ اگر آپ LDR کو ڈھانپتے ہیں، تو وولٹیج بڑھنا چاہیے، اور جب روشنی کے سامنے آتا ہے، تو یہ کم ہونا چاہیے۔ یہ رویہ براہ راست آؤٹ پٹ پن کو متاثر کرے گا، جو روشنی کو کنٹرول کرتا ہے۔

عام نقائص سے محتاط رہیں، جیسے فلوٹنگ ان پٹ یا غلط وولٹیج کی سطح، جو غلط ریڈنگز کا باعث بن سکتے ہیں (ویڈیو میں 12:30 پر)۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 LDR کا تعارف
  • 01:30 ہارڈویئر سیٹ اپ
  • 03:45 کوڈ کی وضاحت
  • 06:00 کوڈ چلانا
  • 09:15 ٹربل شوٹنگ ٹپس

تصاویر

Wiring LDR with Arduino
Wiring LDR with Arduino
An LDR
An LDR
LDR Illustration and symbol
LDR Illustration and symbol
14-Using an LDR with an Arduino and a control switch for a light
زبان: C++
//Original source:  https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage

// This code is used with a video tutorial for RoboJax.com
// Published on August 31, 2017 from Ajax, ON, Canada.
// Written/Edited by A.B.S

/void setup()

{

  Serial.begin(9600);          //  setup serial
  pinMode(10, OUTPUT);
}



void loop(){

  int LDRvalue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = LDRvalue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.print("Voltage =");// prints the text "Voltage ="
  Serial.print(voltage);// prints the actual voltage
  
  // check if voltage is less than 3, then set pin 10 to high or ON
  if(voltage < 3 ){
    digitalWrite(10, HIGH); 
  }else{
    digitalWrite(10, LOW); // or keep it OFF when voltage is larger than 3
  }
  Serial.println();
  delay(300);

}

وسائل اور حوالہ جات

ابھی تک کوئی وسائل نہیں۔

فائلیں📁

دیگر فائلیں