Search Code

ESP32 ٹیوٹوریل 22/55 - LED Arduino کا استعمال کرتے ہوئے روشنی محسوس کرنا | SunFounder کا ESP32 IoT لرننگ کٹ

ESP32 ٹیوٹوریل 22/55 - LED Arduino کا استعمال کرتے ہوئے روشنی محسوس کرنا | SunFounder کا ESP32 IoT لرننگ کٹ

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

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

اس پروجیکٹ میں ہم جو اہم اجزاء استعمال کریں گے ان میں ESP32 مائیکروکنٹرولر، ایک LDR، اور ایک 10 kΩ ریزسٹر شامل ہیں۔ LDR اپنی سطح پر پڑنے والی روشنی کی شدت کی بنیاد پر اپنی مزاحمت تبدیل کرتا ہے: زیادہ روشنی کے نتیجے میں مزاحمت کم ہوتی ہے، جبکہ کم روشنی کے نتیجے میں مزاحمت زیادہ ہوتی ہے۔ یہ خاصیت ہمیں LDR کو ریزسٹر کے ساتھ وولٹیج ڈیوائیڈر کنفیگریشن میں جوڑ کر مختلف روشنی کی سطحیں ناپنے کی اجازت دیتی ہے۔

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

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

مینوفیکچررEspressif Systems
پارٹ نمبرESP32
لاجک/آئی او وولٹیج3.3 V
سپلائی وولٹیج3.0 - 3.6 V
آؤٹ پٹ کرنٹ (فی GPIO)40 mA زیادہ سے زیادہ
PWM فریکوئنسی رہنمائی1 kHz - 40 kHz
ان پٹ لاجک تھریشولڈزہائی: 2.0 V کم از کم، لو: 0.8 V زیادہ سے زیادہ
وولٹیج ڈراپ / RDS(on) / سیچوریشن0.3 V زیادہ سے زیادہ
تھرمل حدود-40 °C سے 125 °C
پیکیجQFN48
نوٹس / ویریئنٹسمتعدد وائی فائی اور بلوٹوتھ پروٹوکولز کو سپورٹ کرتا ہے

  • وولٹیج کی تقسیم کے لیے LDR کے ساتھ سیریز میں 10 kΩ ریزسٹر استعمال کریں۔
  • نقصان سے بچنے کے لیے ESP32 کو 3.3 V سے پاور کریں۔
  • روشنی کی شدت ناپنے کے لیے LDR اور ریزسٹر کو درست طریقے سے جوڑیں۔
  • پاور سپلائی کو مستحکم کرنے کے لیے اگر ضرورت ہو تو ڈیکپلنگ کے لیے کیپیسٹر استعمال کریں۔
  • اینالاگ پڑھنے کی اقدار کو چیک کریں تاکہ یہ یقینی بنایا جا سکے کہ وہ متوقع حدود میں ہیں۔

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

ESP32-22_light_sensor-wiring

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

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

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

کوڈ میں، ہم LDR سے ریڈنگز کی نگرانی کے لیے سیریل کمیونیکیشن شروع کرتے ہیں۔ یہاں کلیدی شناخت کنندہ analogValue ہے، جو پن 35 سے ریڈنگ اسٹور کرتا ہے۔

void setup() {
  Serial.begin(115200);
}

void loop() {
  int analogValue = analogRead(35);
  Serial.printf("ADC analog value = %d\n",analogValue);
  delay(100);
}

یہ کوڈ سنیپٹ سیریل مانیٹر کو 115200 کی بوڈ ریٹ پر شروع کرتا ہے اور پن 35 سے اینالاگ ویلیو مسلسل پڑھتا ہے۔ ویلیو سیریل مانیٹر پر پرنٹ ہوتی ہے، جس سے ہم مشاہدہ کر سکتے ہیں کہ یہ مختلف روشنی کی سطحوں کے ساتھ کیسے بدلتی ہے۔

جب روشنی کی شدت بدلتی ہے، LDR کی مزاحمت مختلف ہوتی ہے، اور اس طرح ESP32 کے ذریعے پڑھا جانے والا وولٹیج بھی بدل جائے گا، جو روشنی کے حالات کی عکاسی کرتا ہے (ویڈیو میں 12:45 پر)۔

ڈیمونسٹریشن / کیا توقع کریں

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

اگر ریڈنگز توقع کے مطابق تبدیل نہ ہوں، تو وائرنگ کے مسائل چیک کریں، یقینی بنائیں کہ LDR فلوٹنگ نہیں ہے، اور تصدیق کریں کہ ESP32 درست طریقے سے پاورڈ ہے۔ یہ عام مسائل سے بچنے اور ہموار آپریشن کو یقینی بنانے میں مدد کرے گا (ویڈیو میں 15:30 پر)۔

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

  • 00:00 شروع
  • 1:48 LDR کا تعارف
  • 8:33 وائرنگ کی وضاحت
  • 11:07 آرڈوینو کوڈ کی وضاحت
  • 13:07 آرڈوینو آئی ڈی ای میں ESP32 بورڈ اور COM پورٹ کا انتخاب
  • 14:49 ویلیو پڑھنے کا ڈیمونسٹریشن
  • 17:24 دن اور رات کی ویلیو کو سمجھنا
  • 18:47 DAC ویلیو اور وولٹیج پڑھنا

تصاویر

ESP32-22_light_sensor
ESP32-22_light_sensor
ESP32-22_light_sensor-wiring
ESP32-22_light_sensor-wiring
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
زبان: C++

void setup() {
  // initialize serial communication at 115200 bits per second:
  Serial.begin(115200);

}

void loop() {
  // read the analog value
  int analogValue = analogRead(35);
  
  // print out the values you read:
  Serial.printf("ADC analog value = %d\n",analogValue);
  
  delay(100);  // delay in between reads for clear read from serial
}

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

فائلیں📁

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