پل اپ ریزسٹرس کو سمجھنا
ESP32 پل اپ پن کی تفصیلات میں غوطہ لگانے سے پہلے، سرکٹ میں پل اپ ریزسٹرس کے کردار کو سمجھنا ضروری ہے۔ جب ڈیجیٹل ان پٹ پن کو تیرتا ہوا چھوڑ دیا جاتا ہے (کسی وولٹیج کے ذریعہ سے منسلک نہیں)، تو یہ بے ترتیب اقدار کو پڑھ سکتا ہے، جس سے اس کی منطق کی سطح کا تعین کرنا مشکل ہو جاتا ہے۔
اس مسئلے سے بچنے کے لیے، ان پٹ پن اور وولٹیج سورس (عام طور پر Vcc) کے درمیان ایک پل اپ ریزسٹر منسلک ہوتا ہے تاکہ یہ یقینی بنایا جا سکے کہ ان پٹ ڈیفالٹ کے لحاظ سے ایک اعلی (منطقی 1) حالت کو پڑھتا ہے۔ جب ان پٹ کم (منطقی 0) سگنل سے منسلک ہوتا ہے، تو ریزسٹر ان پٹ کو نیچے کی طرف کھینچتا ہے، جس سے ان پٹ کو کم حالت پڑھنے کی اجازت ملتی ہے۔
ESP32 پر بلٹ ان پل اپ پن
ESP32 مائیکرو کنٹرولر میں 34 عام مقصد کے ان پٹ/آؤٹ پٹ (GPIO) پن ہیں، جنہیں ڈیجیٹل یا اینالاگ پن کے طور پر کنفیگر کیا جا سکتا ہے۔ ان 34 پنوں میں سے، کچھ پنوں میں بلٹ ان پل اپ ریزسٹر ہوتے ہیں جنہیں سافٹ ویئر کے ذریعے فعال کیا جا سکتا ہے۔
مندرجہ ذیل جدول ESP32 پر پنوں کو دکھاتا ہے جن میں پل اپ ریزسٹرس شامل ہیں:
پن نمبر | پن کا نام | بلٹ ان پل اپ ریزسٹر |
0 | GPIO0 | جی ہاں |
2 | GPIO2 | جی ہاں |
4 | GPIO4 | جی ہاں |
5 | GPIO5 | جی ہاں |
12 | GPIO12 | جی ہاں |
13 | GPIO13 | جی ہاں |
14 | GPIO14 | جی ہاں |
پندرہ | GPIO15 | جی ہاں |
25 | GPIO25 | جی ہاں |
26 | GPIO26 | جی ہاں |
27 | GPIO27 | جی ہاں |
32 | GPIO32 | جی ہاں |
33 | GPIO33 | جی ہاں |
3. 4 | GPIO34 | نہیں |
35 | GPIO35 | نہیں |
36 | GPIO36 | نہیں |
39 | GPIO39 | نہیں |
جیسا کہ آپ دیکھ سکتے ہیں، ESP32 پر زیادہ تر ڈیجیٹل پنوں میں بلٹ ان پل اپ ریزسٹر ہوتے ہیں۔ تاہم، تمام پنوں میں یہ خصوصیت نہیں ہے۔ پن 34، 35، 36، اور 39 میں بلٹ ان پل اپ ریزسٹر نہیں ہوتے ہیں۔
نوٹ: ESP32 میں، انٹیگریٹڈ پل اپ، اور پل ڈاؤن ریزسٹرس صرف ان پنوں میں دستیاب ہیں جو ان پٹ اور آؤٹ پٹ دونوں کو سپورٹ کرتے ہیں۔ GPIOs 34-39 ، جو صرف ان پٹ تک محدود ہیں، ان میں یہ ریزسٹرس بلٹ ان نہیں ہیں۔
مکمل چیک کریں۔ ESP32 پن آؤٹ حوالہ .
ESP32 پر پل اپ ریزسٹرس کو فعال کرنا
ESP32 پن پر پل اپ ریزسٹر کو فعال کرنے کے لیے، آپ استعمال کر سکتے ہیں۔ gpio_set_pull_mode() ESP-IDF فریم ورک کے ذریعے فراہم کردہ فنکشن۔
یہ فنکشن دو دلائل لیتا ہے:
- GPIO پن نمبر
- پل اپ موڈ
پل اپ موڈ یا تو ہوسکتا ہے۔ GPIO_PULLUP_ENABLE یا GPIO_PULLUP_DISABLE . یہاں ایک مثالی کوڈ ہے جو GPIO2 پر پل اپ ریزسٹر کو فعال کرتا ہے:
# 'driver/gpio.h' شامل کریںباطل enable_pull_up ( ) {
gpio_set_pull_mode ( GPIO_NUM_2 ، GPIO_PULLUP_ENABLE ) ;
}
پن موڈ ( 5 ، INPUT_PULLUP ) ;
یہ نوٹ کرنا ضروری ہے کہ جب پن کو آؤٹ پٹ کے طور پر استعمال کیا جائے گا تو پن پر پل اپ ریزسٹر کو فعال کرنے سے اس کے رویے پر اثر پڑے گا۔ اس صورت میں، پل اپ ریزسٹر ایک کمزور کرنٹ سورس کے طور پر کام کرے گا اور آؤٹ پٹ وولٹیج کی سطح کو متاثر کر سکتا ہے۔
متبادل طور پر، ہم ESP32 پر اندرونی پل اپس کو بھی استعمال کر سکتے ہیں۔ پن موڈ() Arduino فنکشن۔
پن موڈ ( 5 ، INPUT_PULLUP ) ;مندرجہ بالا کوڈ پن پر اندرونی پل اپ ریزسٹر کو فعال کرے گا 5 . اسی طرح، آپ موڈ کی وضاحت کر کے اندرونی پل ڈاؤن ریزسٹر کو فعال کر سکتے ہیں۔ INPUT_PULLDOWN .
نتیجہ
پل اپ ریزسٹرس ڈیجیٹل سرکٹس میں ضروری اجزاء ہیں، اور ESP32 مائیکرو کنٹرولر اپنے زیادہ تر ڈیجیٹل پنوں پر بلٹ ان پل اپ ریزسٹرس فراہم کرتا ہے۔ ان ریزسٹرس کو فعال کرنے سے منطق کی مستحکم سطح کو یقینی بنایا جا سکتا ہے اور تیرتے ہوئے ان پٹ کے مسائل سے بچا جا سکتا ہے۔ تاہم، یہ نوٹ کرنا ضروری ہے کہ ESP32 پر موجود تمام پنوں میں بلٹ ان پل اپ ریزسٹر نہیں ہیں، اس لیے یہ چیک کرنا ضروری ہے کہ ESP32 پن آؤٹ یا سرکٹ ڈیزائن کرنے سے پہلے ڈیٹا شیٹ۔ مزید برآں، پل اپ ریزسٹر کو فعال کرنے سے آؤٹ پٹ کے طور پر استعمال ہونے پر پن کے رویے پر اثر پڑ سکتا ہے۔