LAFVIN لوگوESP32 بنیادی سٹارٹر
کٹ

پیکنگ لسٹ

LAFVIN ESP32 بنیادی سٹارٹر کٹ - پیکنگ لسٹ

ESP32 کا تعارف

ESP32 میں نئے ہیں؟ یہاں سے شروع کریں! ESP32 ایک چپ (SoC) مائکروکنٹرولرز پر کم لاگت اور کم پاور سسٹم کی ایک سیریز ہے جسے Espressif نے تیار کیا ہے جس میں Wi-Fi اور بلوٹوتھ وائرلیس صلاحیتیں اور ڈوئل کور پروسیسر شامل ہیں۔ اگر آپ ESP8266 سے واقف ہیں تو، ESP32 اس کا جانشین ہے، بہت ساری نئی خصوصیات سے بھرا ہوا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ESP32 کا تعارفESP32 تفصیلات
اگر آپ کچھ زیادہ تکنیکی اور مخصوص حاصل کرنا چاہتے ہیں، تو آپ ESP32 کی درج ذیل تفصیلی خصوصیات پر ایک نظر ڈال سکتے ہیں (ماخذ: http://esp32.net/) — مزید تفصیلات کے لیے، ڈیٹا شیٹ چیک کریں):

  • وائرلیس کنیکٹیویٹی وائی فائی: HT150.0 کے ساتھ 40 Mbps ڈیٹا ریٹ
  • بلوٹوتھ: BLE (بلوٹوتھ لو انرجی) اور بلوٹوتھ کلاسک
  • پروسیسر: Tensilica Xtensa Dual-core 32-bit LX6 مائکرو پروسیسر، 160 یا 240 MHz پر چل رہا ہے
  • یادداشت:
  • ROM: 448 KB (بوٹنگ اور بنیادی افعال کے لیے)
  • SRAM: 520 KB (ڈیٹا اور ہدایات کے لیے)
  • RTC fas SRAM: 8 KB (ڈیپ سلیپ موڈ سے RTC بوٹ کے دوران ڈیٹا اسٹوریج اور مین CPU کے لیے)
  • RTC سست SRAM: 8KB (ڈیپ سلیپ موڈ کے دوران شریک پروسیسر تک رسائی کے لیے) eFuse: 1 Kbit (جس میں سے 256 بٹس سسٹم کے لیے استعمال کیے جاتے ہیں (MAC ایڈریس اور چپ کنفیگریشن) اور بقیہ 768 بٹس کسٹمر ایپلی کیشنز کے لیے مخصوص ہیں، بشمول فلیش-انکرپشن اور چپ ID)

ایمبیڈڈ فلیش: فلیش اندرونی طور پر IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 اور SD_DATA_1 کے ذریعے ESP32-D2WD اور ESP32-PICO-D4 پر منسلک ہے۔

  • 0 MiB (ESP32-D0WDQ6, ESP32-D0WD، اور ESP32-S0WD چپس)
  • 2 MiB (ESP32-D2WD چپ)
  • 4 MiB (ESP32-PICO-D4 SiP ماڈیول)

کم طاقت: اس بات کو یقینی بناتا ہے کہ آپ اب بھی ADC تبادلوں کو استعمال کر سکتے ہیں، سابق کے لیےample, گہری نیند کے دوران.
پیریفرل ان پٹ/آؤٹ پٹ:

  • DMA کے ساتھ پردیی انٹرفیس جس میں capacitive touch شامل ہے۔
  • ADCs (اینالاگ سے ڈیجیٹل کنورٹر)
  • DACs (ڈیجیٹل سے اینالاگ کنورٹر)
  • I²C (انٹر انٹیگریٹڈ سرکٹ)
  • UART (یونیورسل اسینکرونس وصول کنندہ/ٹرانسمیٹر)
  • SPI (سیریل پیریفرل انٹرفیس)
  • I²S (انٹیگریٹڈ انٹرچپ ساؤنڈ)
  • RMII (کم میڈیا آزاد انٹرفیس)
  • PWM (پلس چوڑائی ماڈیولیشن)

سیکورٹی: AES اور SSL/TLS کے لیے ہارڈویئر ایکسلریٹر

ESP32 ترقیاتی بورڈز

ESP32 سے مراد ننگی ESP32 چپ ہے۔ تاہم، "ESP32" اصطلاح ESP32 ترقیاتی بورڈز کے لیے بھی استعمال ہوتی ہے۔ ESP32 ننگی چپس کا استعمال آسان یا عملی نہیں ہے، خاص طور پر جب سیکھنے، جانچنے، اور پروٹو ٹائپنگ کرتے وقت۔ زیادہ تر وقت، آپ ESP32 ترقیاتی بورڈ استعمال کرنا چاہیں گے۔
ہم حوالہ کے طور پر ESP32 DEVKIT V1 بورڈ استعمال کریں گے۔ نیچے دی گئی تصویر ESP32 DEVKIT V1 بورڈ، 30 GPIO پنوں والا ورژن دکھاتی ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ESP32 ترقیاتی بورڈزتفصیلات - ESP32 DEVKIT V1
مندرجہ ذیل جدول ESP32 DEVKIT V1 DOIT بورڈ کی خصوصیات اور وضاحتوں کا خلاصہ دکھاتا ہے:

کور کی تعداد 2 (ڈبل کور)
وائی ​​فائی 2.4 GHz 150 Mbits/s تک
بلوٹوتھ BLE (بلوٹوتھ لو انرجی) اور میراثی بلوٹوتھ
فن تعمیر 32 بٹس
گھڑی کی فریکوئنسی 240 میگاہرٹز تک
رام 512 KB
پن 30 (ماڈل پر منحصر ہے)
پیری فیرلز کیپسیٹو ٹچ، اے ڈی سی (اینالاگ سے ڈیجیٹل کنورٹر)، ڈی اے سی (ڈیجیٹل سے اینالاگ کنورٹر)، 12 سی (انٹر انٹیگریٹڈ سرکٹ)، UART (یونیورسل غیر مطابقت پذیر ریسیور/ٹرانسمیٹر)، CAN 2.0 (کنٹرولر ایریا نیٹ ورک)، SPI (سیریل پیریفرل انٹرفیس) ، 12S (انٹیگریٹڈ انٹر-آئی سی
آواز)، RMII (کم میڈیا-انڈیپنڈنٹ انٹرفیس)، PWM (پلس چوڑائی ماڈیولیشن)، اور مزید۔
بلٹ ان بٹن ری سیٹ اور بوٹ بٹن
بلٹ ان ایل ای ڈی بلٹ ان بلیو ایل ای ڈی GPIO2 سے منسلک ہے۔ بلٹ ان ریڈ ایل ای ڈی جو دکھاتا ہے کہ بورڈ چل رہا ہے۔
USB سے UART
پل
CP2102

LAFVIN ESP32 بنیادی سٹارٹر کٹ - ESP32 DEVKITیہ ایک مائیکرو یو ایس بی انٹرفیس کے ساتھ آتا ہے جسے آپ کوڈ اپ لوڈ کرنے یا پاور لگانے کے لیے بورڈ کو اپنے کمپیوٹر سے جوڑنے کے لیے استعمال کر سکتے ہیں۔
یہ سیریل انٹرفیس کا استعمال کرتے ہوئے COM پورٹ کے ذریعے آپ کے کمپیوٹر سے بات چیت کرنے کے لیے CP2102 چپ (USB سے UART) کا استعمال کرتا ہے۔ ایک اور مقبول چپ CH340 ہے۔ چیک کریں کہ آپ کے بورڈ پر USB سے UART چپ کنورٹر کیا ہے کیونکہ آپ کو مطلوبہ ڈرائیورز انسٹال کرنے ہوں گے تاکہ آپ کا کمپیوٹر بورڈ کے ساتھ بات چیت کر سکے (اس بارے میں مزید معلومات بعد میں اس گائیڈ میں)۔
یہ بورڈ بورڈ کو دوبارہ شروع کرنے کے لیے RESET بٹن (EN کا لیبل لگایا جا سکتا ہے) اور بورڈ کو فلیشنگ موڈ میں رکھنے کے لیے ایک BOOT بٹن (کوڈ وصول کرنے کے لیے دستیاب) کے ساتھ بھی آتا ہے۔ نوٹ کریں کہ ہو سکتا ہے کچھ بورڈز میں BOOT بٹن نہ ہو۔
یہ بلٹ ان بلیو ایل ای ڈی کے ساتھ بھی آتا ہے جو اندرونی طور پر GPIO 2 سے منسلک ہوتا ہے۔ یہ LED کسی قسم کی بصری جسمانی پیداوار دینے کے لیے ڈیبگنگ کے لیے مفید ہے۔ یہاں ایک سرخ ایل ای ڈی بھی ہے جو آپ کے بورڈ کو بجلی فراہم کرنے پر روشن ہوتی ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ بورڈESP32 پن آؤٹ
ESP32 پیری فیرلز میں شامل ہیں:

  • 18 اینالاگ سے ڈیجیٹل کنورٹر (ADC) چینلز
  • 3 SPI انٹرفیس
  • 3 UART انٹرفیس
  • 2 I2C انٹرفیس
  • 16 PWM آؤٹ پٹ چینلز
  • 2 ڈیجیٹل سے اینالاگ کنورٹرز (DAC)
  • 2 I2S انٹرفیس
  • 10 Capacitive sensing GPIOs

ADC (اینالاگ سے ڈیجیٹل کنورٹر) اور DAC (ڈیجیٹل سے ینالاگ کنورٹر) کی خصوصیات مخصوص جامد پنوں کو تفویض کی گئی ہیں۔ تاہم، آپ فیصلہ کر سکتے ہیں کہ کون سے پن UART، I2C، SPI، PWM وغیرہ ہیں – آپ کو صرف انہیں کوڈ میں تفویض کرنے کی ضرورت ہے۔ یہ ESP32 چپ کے ملٹی پلیکسنگ فیچر کی وجہ سے ممکن ہے۔
اگرچہ آپ سافٹ ویئر پر پنوں کی خصوصیات کی وضاحت کر سکتے ہیں، تاہم مندرجہ ذیل تصویر میں دکھایا گیا ہے کہ بطور ڈیفالٹ پن تفویض کیے گئے ہیںLAFVIN ESP32 بنیادی سٹارٹر کٹ - ESP32 پن آؤٹمزید برآں، مخصوص خصوصیات کے ساتھ پن موجود ہیں جو انہیں کسی خاص پروجیکٹ کے لیے موزوں بناتے ہیں یا نہیں۔ مندرجہ ذیل جدول دکھاتا ہے کہ کن پنوں کو ان پٹ، آؤٹ پٹ کے طور پر استعمال کرنا بہتر ہے اور کن کن سے آپ کو محتاط رہنے کی ضرورت ہے۔
سبز رنگ میں نمایاں کردہ پن استعمال کرنے میں ٹھیک ہیں۔ پیلے رنگ میں نمایاں کیے گئے استعمال کرنے کے لیے ٹھیک ہیں، لیکن آپ کو توجہ دینے کی ضرورت ہے کیونکہ ان کا بنیادی طور پر بوٹ کے وقت غیر متوقع رویہ ہو سکتا ہے۔ سرخ رنگ میں نمایاں کردہ پنوں کو ان پٹ یا آؤٹ پٹ کے طور پر استعمال کرنے کی سفارش نہیں کی جاتی ہے۔

جی پی آئی او ان پٹ آؤٹ پٹ نوٹس
0 کھینچ لیا OK آؤٹ پٹ PWM سگنل بوٹ پر، فلیشنگ موڈ میں داخل ہونے کے لیے کم ہونا ضروری ہے۔
1 TX پن OK بوٹ پر ڈیبگ آؤٹ پٹ
2 OK OK آن بورڈ ایل ای ڈی سے منسلک ہے، فلیشنگ موڈ میں داخل ہونے کے لیے اسے تیرتا یا کم چھوڑنا چاہیے۔
3 OK RX پن بوٹ پر اعلی
4 OK OK
5 OK OK بوٹ، اسٹریپنگ پن پر PWM سگنل آؤٹ پٹ کرتا ہے۔
12 OK OK اگر اونچی کھینچی جائے تو بوٹ ناکام ہوجاتا ہے
13 OK OK
14 OK OK بوٹ پر PWM سگنل آؤٹ پٹ کرتا ہے۔
15 OK OK بوٹ، اسٹریپنگ پن پر PWM سگنل آؤٹ پٹ کرتا ہے۔
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK صرف ان پٹ
35 OK صرف ان پٹ
36 OK صرف ان پٹ
39 OK صرف ان پٹ

ESP32 GPIOs اور اس کے افعال کے مزید تفصیل اور گہرائی سے تجزیہ کے لیے پڑھنا جاری رکھیں۔
ان پٹ صرف پن
GPIOs 34 سے 39 GPIs ہیں - صرف ان پٹ پن۔ ان پنوں میں اندرونی پل اپ یا پل ڈاون ریزسٹر نہیں ہوتے ہیں۔ انہیں آؤٹ پٹ کے طور پر استعمال نہیں کیا جا سکتا، اس لیے ان پنوں کو صرف ان پٹ کے طور پر استعمال کریں:

  • جی پی آئی او 34
  • جی پی آئی او 35
  • جی پی آئی او 36
  • جی پی آئی او 39

SPI فلیش ESP-WROOM-32 پر مربوط ہے۔
GPIO 6 سے GPIO 11 کچھ ESP32 ترقیاتی بورڈز میں سامنے آئے ہیں۔ تاہم، یہ پن ESP-WROOM-32 چپ پر مربوط SPI فلیش سے جڑے ہوئے ہیں اور دوسرے استعمال کے لیے تجویز نہیں کیے گئے ہیں۔ لہذا، اپنے منصوبوں میں ان پنوں کا استعمال نہ کریں:

  • GPIO 6 (SCK/CLK)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

Capacitive touch GPIOs
ESP32 میں 10 اندرونی capacitive ٹچ سینسر ہیں۔ یہ کسی بھی چیز میں تغیرات کو محسوس کر سکتے ہیں جس میں برقی چارج ہوتا ہے، جیسے انسانی جلد۔ لہذا وہ انگلی سے GPIOs کو چھونے پر حوصلہ افزائی کی مختلف حالتوں کا پتہ لگاسکتے ہیں۔ ان پنوں کو آسانی سے capacitive پیڈ میں ضم کیا جا سکتا ہے اور مکینیکل بٹنوں کو تبدیل کیا جا سکتا ہے۔ ESP32 کو گہری نیند سے جگانے کے لیے Capacitive touch پنوں کا استعمال بھی کیا جا سکتا ہے۔ وہ اندرونی ٹچ سینسر ان GPIO سے جڑے ہوئے ہیں:

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

ڈیجیٹل کنورٹر کے مطابق (ADC)
ESP32 میں 18 x 12 بٹس ADC ان پٹ چینلز ہیں (جبکہ ESP8266 میں صرف 1x 10 بٹس ADC ہے)۔ یہ وہ GPIO ہیں جنہیں ADC اور متعلقہ چینلز کے طور پر استعمال کیا جا سکتا ہے:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

نوٹ: جب Wi-Fi استعمال ہوتا ہے تو ADC2 پن استعمال نہیں کیے جا سکتے۔ لہذا، اگر آپ Wi-Fi استعمال کر رہے ہیں اور آپ کو ADC2 GPIO سے قیمت حاصل کرنے میں پریشانی ہو رہی ہے، تو آپ اس کے بجائے ADC1 GPIO استعمال کرنے پر غور کر سکتے ہیں۔ اس سے آپ کا مسئلہ حل ہونا چاہیے۔
ADC ان پٹ چینلز میں 12 بٹ ریزولوشن ہوتا ہے۔ اس کا مطلب ہے کہ آپ 0 سے 4095 تک ینالاگ ریڈنگ حاصل کر سکتے ہیں، جس میں 0 0V اور 4095 سے 3.3V کے مساوی ہے۔ آپ اپنے چینلز کی ریزولوشن کوڈ اور ADC رینج پر بھی سیٹ کر سکتے ہیں۔
ESP32 ADC پنوں میں لکیری سلوک نہیں ہوتا ہے۔ آپ شاید 0 اور 0.1V، یا 3.2 اور 3.3V کے درمیان فرق نہیں کر پائیں گے۔ ADC پنوں کا استعمال کرتے وقت آپ کو اسے ذہن میں رکھنے کی ضرورت ہے۔ آپ کو مندرجہ ذیل اعداد و شمار میں دکھائے گئے رویے سے ملتا جلتا سلوک ملے گا۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - برتاؤڈیجیٹل سے ینالاگ کنورٹر (DAC)
ڈیجیٹل سگنلز کو اینالاگ والیوم میں تبدیل کرنے کے لیے ESP2 پر 8 x 32 بٹس DAC چینلز ہیں۔tagای سگنل آؤٹ پٹس۔ یہ DAC چینلز ہیں:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIOs
ESP32 پر RTC GPIO سپورٹ موجود ہے۔ جب ESP32 گہری نیند میں ہو تو RTC کم طاقت والے سب سسٹم کی طرف بھیجے گئے GPIOs کا استعمال کیا جا سکتا ہے۔ ان RTC GPIOs کو ESP32 کو گہری نیند سے جگانے کے لیے استعمال کیا جا سکتا ہے جب الٹرا لو
پاور (ULP) کو پروسیسر چل رہا ہے۔ مندرجہ ذیل GPIOs کو ایک بیرونی ویک اپ سورس کے طور پر استعمال کیا جا سکتا ہے۔

  • RTC_GPIO0 (GPIO36)‎
  • RTC_GPIO3 (GPIO39)‎
  • RTC_GPIO4 (GPIO34)‎
  • RTC_GPIO5 (GPIO35)‎
  • RTC_GPIO6 (GPIO25)‎
  • RTC_GPIO7 (GPIO26)‎
  • RTC_GPIO8 (GPIO33)‎
  • RTC_GPIO9 (GPIO32)‎
  • RTC_GPIO10 (GPIO4)‎
  • RTC_GPIO11 (GPIO0)‎
  • RTC_GPIO12 (GPIO2)‎
  • RTC_GPIO13 (GPIO15)‎
  • RTC_GPIO14 (GPIO13)‎
  • RTC_GPIO15 (GPIO12)‎
  • RTC_GPIO16 (GPIO14)‎
  • RTC_GPIO17 (GPIO27)‎

پی ڈبلیو ایم
ESP32 LED PWM کنٹرولر میں 16 آزاد چینلز ہیں جنہیں مختلف خصوصیات کے ساتھ PWM سگنلز بنانے کے لیے ترتیب دیا جا سکتا ہے۔ تمام پن جو آؤٹ پٹ کے طور پر کام کر سکتے ہیں PWM پنوں کے طور پر استعمال کیے جا سکتے ہیں (GPIOs 34 سے 39 PWM پیدا نہیں کر سکتے ہیں)۔
PWM سگنل سیٹ کرنے کے لیے، آپ کو کوڈ میں ان پیرامیٹرز کی وضاحت کرنے کی ضرورت ہے:

  • سگنل کی فریکوئنسی؛
  • ڈیوٹی سائیکل؛
  • پی ڈبلیو ایم چینل؛
  • GPIO جہاں آپ سگنل آؤٹ پٹ کرنا چاہتے ہیں۔

I2C
ESP32 میں دو I2C چینلز ہیں اور کسی بھی پن کو SDA یا SCL کے طور پر سیٹ کیا جا سکتا ہے۔ ESP32 کو Arduino IDE کے ساتھ استعمال کرتے وقت، پہلے سے طے شدہ I2C پن یہ ہیں:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

اگر آپ وائر لائبریری کا استعمال کرتے وقت دیگر پن استعمال کرنا چاہتے ہیں، تو آپ کو صرف کال کرنے کی ضرورت ہے:
Wire.begin(SDA، SCL)؛
ایس پی آئی
پہلے سے طے شدہ طور پر، SPI کے لیے پن میپنگ یہ ہے:

ایس پی آئی موسی ایم آئی ایس او سی ایل کے CS
وی ایس پی آئی جی پی آئی او 23 جی پی آئی او 19 جی پی آئی او 18 جی پی آئی او 5
HSPI جی پی آئی او 13 جی پی آئی او 12 جی پی آئی او 14 جی پی آئی او 15

رکاوٹیں
تمام GPIOs کو مداخلت کے طور پر ترتیب دیا جا سکتا ہے۔
پٹی پن
ESP32 چپ میں درج ذیل پٹے لگانے والے پن ہیں:

  • GPIO 0 (بوٹ موڈ میں داخل ہونے کے لیے کم ہونا چاہیے)
  • GPIO 2 (بوٹ کے دوران تیرتا یا کم ہونا چاہیے)
  • جی پی آئی او 4
  • GPIO 5 (بوٹ کے دوران زیادہ ہونا چاہیے)
  • GPIO 12 (بوٹ کے دوران کم ہونا چاہیے)
  • GPIO 15 (بوٹ کے دوران زیادہ ہونا چاہیے)

یہ ESP32 کو بوٹ لوڈر یا فلیشنگ موڈ میں ڈالنے کے لیے استعمال ہوتے ہیں۔ بلٹ ان USB/Serial کے ساتھ زیادہ تر ترقیاتی بورڈز پر، آپ کو ان پنوں کی حالت کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔ بورڈ چمکنے یا بوٹ موڈ کے لیے پنوں کو صحیح حالت میں رکھتا ہے۔ ESP32 بوٹ موڈ سلیکشن کے بارے میں مزید معلومات یہاں مل سکتی ہیں۔
تاہم، اگر آپ کے پاس ان پنوں سے منسلک آلات ہیں، تو آپ کو نیا کوڈ اپ لوڈ کرنے، نئے فرم ویئر کے ساتھ ESP32 کو چمکانے، یا بورڈ کو دوبارہ ترتیب دینے میں پریشانی ہو سکتی ہے۔ اگر آپ کے پاس کچھ پیری فیرلز اسٹریپنگ پنوں سے جڑے ہوئے ہیں اور آپ کو کوڈ اپ لوڈ کرنے یا ESP32 کو چمکانے میں پریشانی ہو رہی ہے، تو اس کی وجہ یہ ہو سکتی ہے کہ وہ پیری فیرلز ESP32 کو صحیح موڈ میں داخل ہونے سے روک رہے ہیں۔ صحیح سمت میں آپ کی رہنمائی کے لیے بوٹ موڈ سلیکشن دستاویزات کو پڑھیں۔ ری سیٹ کرنے، چمکنے، یا بوٹ کرنے کے بعد، وہ پن توقع کے مطابق کام کرتے ہیں۔
بوٹ پر ہائی پن
کچھ GPIOs بوٹ یا ری سیٹ پر اپنی حالت کو ہائی یا آؤٹ پٹ PWM سگنلز میں تبدیل کرتے ہیں۔
اس کا مطلب ہے کہ اگر آپ کے پاس ان GPIOs سے منسلک آؤٹ پٹ ہیں تو آپ کو غیر متوقع نتائج حاصل ہو سکتے ہیں جب ESP32 ری سیٹ ہو یا بوٹ ہو جائے۔

  • جی پی آئی او 1
  • جی پی آئی او 3
  • جی پی آئی او 5
  • GPIO 6 سے GPIO 11 (ESP32 مربوط SPI فلیش میموری سے منسلک – استعمال کرنے کی سفارش نہیں کی گئی)۔
  • جی پی آئی او 14
  • جی پی آئی او 15

فعال کریں (EN)
Enable (EN) 3.3V ریگولیٹر کا قابل پن ہے۔ اسے کھینچ لیا گیا ہے، لہذا 3.3V ریگولیٹر کو غیر فعال کرنے کے لیے زمین سے جڑیں۔ اس کا مطلب یہ ہے کہ آپ اپنے ESP32 کو دوبارہ شروع کرنے کے لیے پش بٹن سے منسلک اس پن کو استعمال کر سکتے ہیں، سابق کے لیےample
GPIO کرنٹ کھینچا گیا۔
ESP40 ڈیٹا شیٹ میں "تجویز کردہ آپریٹنگ کنڈیشنز" سیکشن کے مطابق فی GPIO کے لیے تیار کردہ مطلق زیادہ سے زیادہ کرنٹ 32mA ہے۔
ESP32 بلٹ ان ہال ایفیکٹ سینسر
ESP32 میں ایک بلٹ ان ہال ایفیکٹ سینسر بھی ہے جو اس کے گردونواح میں مقناطیسی میدان میں ہونے والی تبدیلیوں کا پتہ لگاتا ہے۔
ESP32 Arduino IDE
Arduino IDE کے لیے ایک ایڈ آن ہے جو آپ کو Arduino IDE اور اس کی پروگرامنگ زبان کا استعمال کرتے ہوئے ESP32 کو پروگرام کرنے کی اجازت دیتا ہے۔ اس ٹیوٹوریل میں ہم آپ کو دکھائیں گے کہ ESP32 بورڈ کو Arduino IDE میں کیسے انسٹال کرنا ہے چاہے آپ ونڈوز، میک OS X یا لینکس استعمال کر رہے ہوں۔
شرائط: Arduino IDE انسٹال ہے۔
اس انسٹالیشن کا طریقہ کار شروع کرنے سے پہلے، آپ کو اپنے کمپیوٹر پر Arduino IDE انسٹال کرنا ہوگا۔ Arduino IDE کے دو ورژن ہیں جنہیں آپ انسٹال کر سکتے ہیں: ورژن 1 اور ورژن 2۔
آپ درج ذیل لنک پر کلک کر کے Arduino IDE کو ڈاؤن لوڈ اور انسٹال کر سکتے ہیں۔ arduino.cc/en/Main/Software
ہم کس Arduino IDE ورژن کی سفارش کرتے ہیں؟ اس وقت، کچھ ہیں plugins ESP32 کے لیے (جیسے SPIFFS Fileسسٹم اپلوڈر پلگ ان) جو کہ ابھی تک Arduino 2 پر تعاون یافتہ نہیں ہے۔ لہذا، اگر آپ مستقبل میں SPIFFS پلگ ان استعمال کرنے کا ارادہ رکھتے ہیں، تو ہم لیگیسی ورژن 1.8.X کو انسٹال کرنے کی تجویز کرتے ہیں۔ اسے تلاش کرنے کے لیے آپ کو صرف Arduino سافٹ ویئر کے صفحے پر نیچے سکرول کرنے کی ضرورت ہے۔
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
اپنے Arduino IDE میں ESP32 بورڈ انسٹال کرنے کے لیے، ان اگلی ہدایات پر عمل کریں:

  1. اپنے Arduino IDE میں، پر جائیں۔ File> ترجیحاتLAFVIN ESP32 بنیادی سٹارٹر کٹ - ترجیحات
  2. درج ذیل کو "اضافی بورڈ مینیجر" میں درج کریں۔ URLs" فیلڈ:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
پھر، "OK" بٹن پر کلک کریں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - "OK" بٹننوٹ: اگر آپ کے پاس پہلے سے ہی ESP8266 بورڈز ہیں۔ URL، آپ کو الگ کر سکتے ہیں URLs کوما کے ساتھ مندرجہ ذیل ہے:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
بورڈز مینیجر کو کھولیں۔ ٹولز > بورڈ > بورڈز مینیجر پر جائیں…LAFVIN ESP32 بنیادی سٹارٹر کٹ - Espressifتلاش کریں۔ ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 بنیادی سٹارٹر کٹ - Espressifبس۔ اسے چند سیکنڈ کے بعد انسٹال کرنا چاہیے۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - انسٹال ہے۔

ٹیسٹ کوڈ اپ لوڈ کریں۔

ESP32 بورڈ کو اپنے کمپیوٹر سے لگائیں۔ آپ کے Arduino IDE کھلے کے ساتھ، ان اقدامات پر عمل کریں:

  1. ٹولز > بورڈ مینو میں اپنا بورڈ منتخب کریں (میرے معاملے میں یہ ESP32 DEV ماڈیول ہے)LAFVIN ESP32 بنیادی سٹارٹر کٹ - ٹولز بورڈ
  2. پورٹ کو منتخب کریں (اگر آپ کو اپنے Arduino IDE میں COM پورٹ نظر نہیں آتا ہے، تو آپ کو CP210x USB کو UART Bridge VCP ڈرائیورز پر انسٹال کرنے کی ضرورت ہے):LAFVIN ESP32 بنیادی سٹارٹر کٹ - UART برج
  3. مندرجہ ذیل سابق کو کھولیں۔ampکے تحت File > سابقamples > وائی فائی
    (ESP32) > وائی فائی اسکینLAFVIN ESP32 بنیادی اسٹارٹر کٹ - وائی فائی اسکینLAFVIN ESP32 بنیادی سٹارٹر کٹ - WiFiScan 1
  4. آپ کے Arduino IDE میں ایک نیا خاکہ کھلتا ہے:LAFVIN ESP32 بنیادی سٹارٹر کٹ - Arduino IDE
  5. Arduino IDE میں اپ لوڈ بٹن کو دبائیں۔ کوڈ کے مرتب ہونے اور آپ کے بورڈ پر اپ لوڈ ہونے تک چند سیکنڈ انتظار کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - بورڈ
  6. اگر سب کچھ توقع کے مطابق ہوا، تو آپ کو "اپ لوڈنگ ہو گیا" نظر آنا چاہیے۔ پیغامLAFVIN ESP32 بنیادی سٹارٹر کٹ - اپ لوڈنگ ہو گئی۔
  7. Arduino IDE سیریل مانیٹر کو 115200 کی بوڈ ریٹ پر کھولیں:LAFVIN ESP32 بنیادی اسٹارٹر کٹ - مانیٹر
  8. ESP32 آن بورڈ فعال بٹن کو دبائیں اور آپ کو اپنے ESP32 کے قریب دستیاب نیٹ ورکس کو نظر آنا چاہیے:LAFVIN ESP32 بنیادی سٹارٹر کٹ - فعال بٹن

خرابی کا سراغ لگانا

اگر آپ اپنے ESP32 پر ایک نیا خاکہ اپ لوڈ کرنے کی کوشش کرتے ہیں اور آپ کو یہ ایرر میسج ملتا ہے "ایک مہلک خرابی پیش آ گئی: ESP32 سے جڑنے میں ناکام: وقت ختم ہو گیا... کنیکٹ ہو رہا ہے..."۔ اس کا مطلب ہے کہ آپ کا ESP32 فلیشنگ/اپ لوڈنگ موڈ میں نہیں ہے۔
صحیح بورڈ کا نام اور COM منتخب کرنے کے بعد، ان اقدامات پر عمل کریں:
اپنے ESP32 بورڈ میں "BOOT" بٹن کو دبا کر رکھیںLAFVIN ESP32 بنیادی سٹارٹر کٹ - "بوٹ"

  • اپنا خاکہ اپ لوڈ کرنے کے لیے Arduino IDE میں "اپ لوڈ" بٹن دبائیں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - ICON 6
  • آپ کو "کنیکٹنگ…" دیکھنے کے بعد اپنے Arduino IDE میں پیغام، "BOOT" بٹن سے انگلی چھوڑیں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - "اپ لوڈنگ ہو گئی۔
  • اس کے بعد، آپ کو "اپ لوڈنگ مکمل" پیغام دیکھنا چاہیے۔
    بس۔ آپ کے ESP32 میں نیا خاکہ چلنا چاہیے۔ ESP32 کو دوبارہ شروع کرنے اور اپ لوڈ کردہ نیا خاکہ چلانے کے لیے "فعال کریں" بٹن کو دبائیں۔
    جب بھی آپ نیا خاکہ اپ لوڈ کرنا چاہیں گے تو آپ کو اس بٹن کی ترتیب کو دہرانا پڑے گا۔

پروجیکٹ 1 ESP32 ان پٹ آؤٹ پٹس

شروع کرنے کی اس گائیڈ میں آپ یہ سیکھیں گے کہ ڈیجیٹل ان پٹس کو کیسے پڑھنا ہے جیسے بٹن سوئچ اور ڈیجیٹل آؤٹ پٹس کو کنٹرول کرنا جیسے ESP32 کا استعمال کرتے ہوئے Arduino IDE کے ساتھ۔
شرطیں
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے۔ لہذا، یقینی بنائیں کہ آگے بڑھنے سے پہلے آپ کے پاس ESP32 بورڈز ایڈ آن انسٹال ہیں:

  • Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا

ESP32 ڈیجیٹل آؤٹ پٹس کو کنٹرول کریں۔
سب سے پہلے، آپ کو GPIO سیٹ کرنے کی ضرورت ہے جسے آپ آؤٹ پٹ کے طور پر کنٹرول کرنا چاہتے ہیں۔ pinMode() فنکشن کو مندرجہ ذیل طور پر استعمال کریں:
پن موڈ (GPIO، آؤٹ پٹ)؛
ڈیجیٹل آؤٹ پٹ کو کنٹرول کرنے کے لیے آپ کو صرف digitalWrite() فنکشن استعمال کرنے کی ضرورت ہے، جو بطور دلیل قبول کرتا ہے، GPIO (int نمبر) جس کا آپ حوالہ دے رہے ہیں، اور ریاست، یا تو HIGH یا LOW۔
ڈیجیٹل رائٹ (GPIO، STATE)؛
تمام GPIOs کو آؤٹ پٹ کے طور پر استعمال کیا جا سکتا ہے سوائے GPIOs 6 سے 11 (انٹیگریٹڈ SPI فلیش سے منسلک) اور GPIOs 34، 35، 36 اور 39 (ان پٹ صرف GPIOs)؛
ESP32 GPIO کے بارے میں مزید جانیں: ESP32 GPIO حوالہ گائیڈ
ESP32 ڈیجیٹل ان پٹ پڑھیں
سب سے پہلے، GPIO کو سیٹ کریں جسے آپ INPUT کے طور پر پڑھنا چاہتے ہیں، pinMode() فنکشن کو مندرجہ ذیل استعمال کرتے ہوئے:
پن موڈ (GPIO، ان پٹ)؛
ڈیجیٹل ان پٹ کو پڑھنے کے لیے، بٹن کی طرح، آپ digitalRead() فنکشن استعمال کرتے ہیں، جو بطور دلیل قبول کرتا ہے، GPIO (int نمبر) جس کا آپ حوالہ دے رہے ہیں۔
ڈیجیٹل ریڈ (GPIO)؛
تمام ESP32 GPIOs کو ان پٹ کے طور پر استعمال کیا جا سکتا ہے، سوائے GPIOs 6 سے 11 (انٹیگریٹڈ SPI فلیش سے منسلک)۔
ESP32 GPIO کے بارے میں مزید جانیں: ESP32 GPIO حوالہ گائیڈ
پروجیکٹ سابقample
آپ کو یہ بتانے کے لیے کہ ڈیجیٹل ان پٹس اور ڈیجیٹل آؤٹ پٹس کو کیسے استعمال کیا جائے، ہم ایک سادہ پروجیکٹ بنائیں گے۔ampایک پش بٹن اور ایل ای ڈی کے ساتھ۔ ہم پش بٹن کی حالت پڑھیں گے اور اس کے مطابق ایل ای ڈی کو روشن کریں گے جیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - پروجیکٹ Example

حصوں کی ضرورت ہے
یہاں حصوں کی ایک فہرست ہے جو آپ کو سرکٹ بنانے کی ضرورت ہے:

  • ESP32 DEVKIT V1
  • 5 ملی میٹر ایل ای ڈی
  • 220 اوہم ریزسٹر
  • دبانے والا بٹن
  • 10k اوہم ریزسٹر
  • بریڈ بورڈ
  • جمپر تاریں۔

اسکیمیٹک ڈایاگرام
آگے بڑھنے سے پہلے، آپ کو ایل ای ڈی اور پش بٹن کے ساتھ ایک سرکٹ کو جمع کرنے کی ضرورت ہے۔
ہم LED کو GPIO 5 سے اور پش بٹن کو GPIO سے جوڑیں گے۔ 4.LAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹک ڈایاگرامکوڈ
arduino IDE میں Project_1_ESP32_Inputs_Outputs.ino کوڈ کھولیںLAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈLAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 1کوڈ کیسے کام کرتا ہے۔
درج ذیل دو لائنوں میں، آپ پنوں کو تفویض کرنے کے لیے متغیرات بناتے ہیں:

LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ کام کرتا ہے۔بٹن GPIO 4 سے منسلک ہے اور LED GPIO 5 سے منسلک ہے۔ ESP32 کے ساتھ Arduino IDE استعمال کرتے وقت، 4 GPIO 4 سے اور 5 GPIO 5 سے مساوی ہے۔
اگلا، آپ بٹن کی حالت کو رکھنے کے لیے ایک متغیر بناتے ہیں۔ پہلے سے طے شدہ طور پر، یہ 0 ہے (دبایا نہیں گیا)۔
int buttonState = 0;
سیٹ اپ () میں، آپ بٹن کو بطور ان پٹ اور ایل ای ڈی کو آؤٹ پٹ کے طور پر شروع کرتے ہیں۔
اس کے لیے، آپ pinMode() فنکشن استعمال کرتے ہیں جو اس پن کو قبول کرتا ہے جس کا آپ حوالہ دے رہے ہیں، اور موڈ: INPUT یا OUTPUT۔
پن موڈ (بٹن پن، ان پٹ)؛
پن موڈ (لیڈ پن، آؤٹ پٹ)؛
لوپ () میں وہ جگہ ہے جہاں آپ بٹن کی حالت پڑھتے ہیں اور اسی کے مطابق ایل ای ڈی سیٹ کرتے ہیں۔
اگلی لائن میں، آپ بٹن کی حالت پڑھیں اور اسے بٹن اسٹیٹ متغیر میں محفوظ کریں۔
جیسا کہ ہم پہلے دیکھ چکے ہیں، آپ digitalRead() فنکشن استعمال کرتے ہیں۔
بٹن اسٹیٹ = ڈیجیٹل ریڈ (بٹن پن)؛
درج ذیل if بیان، چیک کرتا ہے کہ آیا بٹن کی حالت زیادہ ہے۔ اگر یہ ہے تو، یہ ڈیجیٹل رائٹ() فنکشن کا استعمال کرتے ہوئے ایل ای ڈی کو آن کرتا ہے جو کہ ledPin اور اسٹیٹ ہائی کو دلیل کے طور پر قبول کرتا ہے۔
اگر (بٹن اسٹیٹ == ہائی)LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ ورکس 1اگر بٹن کی حالت زیادہ نہیں ہے، تو آپ ایل ای ڈی کو بند کر دیتے ہیں۔ ڈیجیٹل رائٹ() فنکشن میں صرف LOW کو دوسری دلیل کے طور پر سیٹ کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - digitalWriteکوڈ اپ لوڈ کرنا
اپ لوڈ بٹن پر کلک کرنے سے پہلے، ٹولز > بورڈ پر جائیں، اور بورڈ کو منتخب کریں :DOIT ESP32 DEVKIT V1 بورڈ۔
ٹولز > پورٹ پر جائیں اور COM پورٹ کو منتخب کریں جس سے ESP32 منسلک ہے۔ پھر، اپ لوڈ بٹن دبائیں اور "اپ لوڈنگ ہو گیا" پیغام کا انتظار کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ICON 7نوٹ: اگر آپ کو ڈیبگنگ ونڈو پر بہت سارے نقطے نظر آتے ہیں اور "ESP32 سے جڑنے میں ناکام: پیکٹ ہیڈر کا انتظار کرنے کا وقت ختم ہو گیا ہے"، تو اس کا مطلب ہے کہ آپ کو ESP32 آن بورڈ BOOT دبانے کی ضرورت ہے۔ نقطوں کے بعد بٹن
ظاہر ہونا شروع کریں۔ خرابیوں کا سراغ لگانا

مظاہرہ

کوڈ اپ لوڈ کرنے کے بعد، اپنے سرکٹ کی جانچ کریں۔ جب آپ پش بٹن دبائیں گے تو آپ کی ایل ای ڈی روشن ہونی چاہیے:LAFVIN ESP32 بنیادی سٹارٹر کٹ - مظاہرہاور جب آپ اسے جاری کریں تو بند کردیں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - کی باری

پروجیکٹ 2 ESP32 اینالاگ ان پٹس

یہ پروجیکٹ دکھاتا ہے کہ Arduino IDE کا استعمال کرتے ہوئے ESP32 کے ساتھ اینالاگ ان پٹ کو کیسے پڑھا جائے۔
ینالاگ ریڈنگ متغیر ریزسٹرس جیسے پوٹینشیومیٹر، یا اینالاگ سینسر سے اقدار کو پڑھنے کے لیے مفید ہے۔
اینالاگ ان پٹ (ADC)
ESP32 کے ساتھ ینالاگ ویلیو پڑھنے کا مطلب ہے کہ آپ مختلف والیوم کی پیمائش کر سکتے ہیں۔tage کی سطح 0 V اور 3.3 V کے درمیان ہے۔
جلدtage ماپا جاتا ہے اس کے بعد 0 اور 4095 کے درمیان ایک قدر کو تفویض کیا جاتا ہے، جس میں 0 V 0 کے مساوی ہے، اور 3.3 V 4095 کے مساوی ہے۔ کوئی بھی والیومtage 0 V اور 3.3 V کے درمیان میں اسی قدر دی جائے گی۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ینالاگ ان پٹADC غیر لکیری ہے۔
مثالی طور پر، آپ ESP32 ADC پنوں کا استعمال کرتے وقت ایک لکیری رویے کی توقع کریں گے۔
تاہم، ایسا نہیں ہوتا۔ آپ کو جو کچھ ملے گا وہ ایک رویہ ہے جیسا کہ درج ذیل چارٹ میں دکھایا گیا ہے:LAFVIN ESP32 بنیادی اسٹارٹر کٹ - غیر لکیریاس رویے کا مطلب ہے کہ آپ کا ESP32 3.3 V سے 3.2 V میں فرق کرنے کے قابل نہیں ہے۔
آپ کو دونوں والیوم کے لیے ایک جیسی قیمت ملے گی۔tages: 4095۔
بہت کم والیوم کے لیے بھی ایسا ہی ہوتا ہے۔tage قدریں: 0 V اور 0.1 V کے لیے آپ کو ایک ہی قدر ملے گی: 0۔ ESP32 ADC پنوں کا استعمال کرتے وقت آپ کو اسے ذہن میں رکھنا ہوگا۔
analogRead() فنکشن
Arduino IDE کا استعمال کرتے ہوئے ESP32 کے ساتھ اینالاگ ان پٹ پڑھنا اتنا ہی آسان ہے جتنا analogRead() فنکشن کا استعمال کرنا۔ یہ بطور دلیل قبول کرتا ہے، GPIO جسے آپ پڑھنا چاہتے ہیں:
اینالاگ ریڈ (GPIO)؛
DEVKIT V15board (1 GPIO کے ساتھ ورژن) میں صرف 30 دستیاب ہیں۔
اپنے ESP32 بورڈ پن آؤٹ کو پکڑیں ​​اور ADC پنوں کو تلاش کریں۔ یہ نیچے کی تصویر میں سرخ بارڈر کے ساتھ نمایاں ہیں۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - بارڈران اینالاگ ان پٹ پنوں میں 12 بٹ ریزولوشن ہے۔ اس کا مطلب ہے کہ جب آپ اینالاگ ان پٹ پڑھتے ہیں تو اس کی رینج 0 سے 4095 تک مختلف ہو سکتی ہے۔
نوٹ: جب Wi-Fi استعمال کیا جائے تو ADC2 پن استعمال نہیں کیے جا سکتے۔ لہذا، اگر آپ Wi-Fi استعمال کر رہے ہیں اور آپ کو ADC2 GPIO سے قیمت حاصل کرنے میں پریشانی ہو رہی ہے، تو آپ اس کے بجائے ADC1 GPIO استعمال کرنے پر غور کر سکتے ہیں، اس سے آپ کا مسئلہ حل ہو جائے گا۔
یہ دیکھنے کے لیے کہ سب کچھ آپس میں کیسے جڑتا ہے، ہم ایک سادہ سا سابقہ ​​بنائیں گے۔ampپوٹینشیومیٹر سے اینالاگ ویلیو پڑھنے کے لیے۔
حصوں کی ضرورت ہے
اس سابق کے لیےampلی، آپ کو مندرجہ ذیل حصوں کی ضرورت ہے:

  • ESP32 DEVKIT V1 بورڈ
  • Potentiometer
  • بریڈ بورڈ
  • جمپر تاریں۔

یوجنابدق
اپنے ESP32 پر پوٹینومیٹر لگائیں۔ پوٹینشیومیٹر کا درمیانی پن GPIO 4 سے منسلک ہونا چاہیے۔ آپ درج ذیل اسکیمیٹک ڈایاگرام کو بطور حوالہ استعمال کر سکتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹککوڈ
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے:(اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
arduino IDE میں Project_2_ESP32_Inputs_Outputs.ino کوڈ کھولیںLAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 2یہ کوڈ صرف پوٹینومیٹر سے اقدار کو پڑھتا ہے اور ان اقدار کو سیریل مانیٹر میں پرنٹ کرتا ہے۔
کوڈ میں، آپ GPIO کی وضاحت کرتے ہوئے شروع کرتے ہیں جس سے پوٹینومیٹر منسلک ہے۔ اس میں سابقample، GPIO 4۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مثال کے طور پرampleسیٹ اپ () میں، 115200 کی بوڈ ریٹ پر سیریل کمیونیکیشن شروع کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مثال کے طور پرampلی 1لوپ() میں، potPin سے اینالاگ ان پٹ پڑھنے کے لیے analogRead() فنکشن استعمال کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مثال کے طور پرampلی 2آخر میں، سیریل مانیٹر میں پوٹینشیومیٹر سے پڑھی جانے والی اقدار کو پرنٹ کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مثال کے طور پرampلی 3اپنے ESP32 پر فراہم کردہ کوڈ اپ لوڈ کریں۔ یقینی بنائیں کہ آپ نے ٹولز مینو میں صحیح بورڈ اور COM پورٹ کا انتخاب کیا ہے۔
سابق کی جانچ کرناample
کوڈ کو اپ لوڈ کرنے اور ESP32 ری سیٹ بٹن کو دبانے کے بعد، 115200 کے باؤڈ ریٹ پر سیریل مانیٹر کھولیں۔آپ کو زیادہ سے زیادہ قیمت 4095 ملے گی اور کم از کم قیمت 0 ہے۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - زیادہ سے زیادہ قیمت

لپیٹنا

اس مضمون میں آپ نے سیکھا ہے کہ Arduino IDE کے ساتھ ESP32 کا استعمال کرتے ہوئے اینالاگ ان پٹ کو کیسے پڑھنا ہے۔ خلاصہ میں:

  • ESP32 DEVKIT V1 DOIT بورڈ (30 پنوں کے ساتھ ورژن) میں 15 ADC پن ہیں جنہیں آپ اینالاگ ان پٹ پڑھنے کے لیے استعمال کر سکتے ہیں۔
  • ان پنوں کی ریزولوشن 12 بٹس ہے، جس کا مطلب ہے کہ آپ 0 سے 4095 تک ویلیوز حاصل کر سکتے ہیں۔
  • Arduino IDE میں قدر پڑھنے کے لیے، آپ صرف analogRead() فنکشن استعمال کرتے ہیں۔
  • ESP32 ADC پنوں میں لکیری سلوک نہیں ہوتا ہے۔ آپ شاید 0 اور 0.1V، یا 3.2 اور 3.3V کے درمیان فرق نہیں کر پائیں گے۔ ADC پنوں کا استعمال کرتے وقت آپ کو اسے ذہن میں رکھنے کی ضرورت ہے۔

پروجیکٹ 3 ESP32 PWM (اینلاگ آؤٹ پٹ)

اس ٹیوٹوریل میں ہم آپ کو دکھائیں گے کہ Arduino IDE کا استعمال کرتے ہوئے ESP32 کے ساتھ PWM سگنل کیسے تیار کیے جائیں۔ بطور سابقampہم ایک سادہ سرکٹ بنائیں گے جو ESP32 کے LED PWM کنٹرولر کا استعمال کرتے ہوئے ایک LED کو مدھم کر دے گا۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - اینالاگ آؤٹ پٹESP32 ایل ای ڈی پی ڈبلیو ایم کنٹرولر
ESP32 میں 16 آزاد چینلز کے ساتھ ایک LED PWM کنٹرولر ہے جسے مختلف خصوصیات کے ساتھ PWM سگنلز بنانے کے لیے ترتیب دیا جا سکتا ہے۔
Arduino IDE کا استعمال کرتے ہوئے PWM کے ساتھ LED کو مدھم کرنے کے لیے آپ کو مندرجہ ذیل اقدامات کرنے ہوں گے۔

  1. سب سے پہلے، آپ کو ایک PWM چینل منتخب کرنے کی ضرورت ہے۔ 16 سے 0 تک 15 چینلز ہیں۔
  2. پھر، آپ کو PWM سگنل فریکوئنسی سیٹ کرنے کی ضرورت ہے۔ ایل ای ڈی کے لیے، 5000 ہرٹز کی فریکوئنسی استعمال کرنا ٹھیک ہے۔
  3. آپ کو سگنل کی ڈیوٹی سائیکل ریزولوشن بھی سیٹ کرنے کی ضرورت ہے: آپ کے پاس 1 سے 16 بٹس کی ریزولوشنز ہیں۔ ہم 8 بٹ ریزولوشن استعمال کریں گے، جس کا مطلب ہے کہ آپ 0 سے 255 کی قدر کا استعمال کرتے ہوئے LED چمک کو کنٹرول کر سکتے ہیں۔
  4.  اگلا، آپ کو یہ بتانے کی ضرورت ہے کہ سگنل کن GPIO یا GPIOs پر ظاہر ہوگا۔ اس کے لیے آپ درج ذیل فنکشن استعمال کریں گے۔
    ledcAttachPin (GPIO، چینل)
    یہ فنکشن دو دلائل کو قبول کرتا ہے۔ پہلا GPIO ہے جو سگنل کو آؤٹ پٹ کرے گا، اور دوسرا وہ چینل ہے جو سگنل تیار کرے گا۔
  5. آخر میں، PWM کا استعمال کرتے ہوئے LED چمک کو کنٹرول کرنے کے لیے، آپ درج ذیل فنکشن کا استعمال کرتے ہیں:

ledcWrite (چینل، ڈیوٹی سائیکل)
یہ فنکشن اس چینل کو دلیل کے طور پر قبول کرتا ہے جو PWM سگنل پیدا کر رہا ہے، اور ڈیوٹی سائیکل۔
حصوں کی ضرورت ہے
اس ٹیوٹوریل پر عمل کرنے کے لیے آپ کو ان حصوں کی ضرورت ہے:

  • ESP32 DEVKIT V1 بورڈ
  • 5MM ایل ای ڈی
  • 220 اوہم ریزسٹر
  •  بریڈ بورڈ
  • جمپر تاریں۔

یوجنابدق
اپنے ESP32 پر ایل ای ڈی وائر کریں جیسا کہ مندرجہ ذیل اسکیمیٹک ڈایاگرام میں ہے۔ ایل ای ڈی کو GPIO سے منسلک کیا جانا چاہئے۔ 4.LAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹکنوٹ: آپ اپنی مرضی کے مطابق کوئی بھی پن استعمال کر سکتے ہیں، جب تک کہ یہ آؤٹ پٹ کے طور پر کام کر سکے۔ تمام پن جو آؤٹ پٹ کے طور پر کام کر سکتے ہیں PWM پنوں کے طور پر استعمال کیے جا سکتے ہیں۔ ESP32 GPIO کے بارے میں مزید معلومات کے لیے، پڑھیں: ESP32 پن آؤٹ حوالہ: آپ کو کون سا GPIO پن استعمال کرنا چاہیے؟
کوڈ
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے:(اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
arduino IDE میں Project_3_ESP32_PWM.ino کوڈ کھولیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 3LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 4آپ اس پن کی وضاحت کرکے شروع کرتے ہیں جس سے ایل ای ڈی منسلک ہے۔ اس صورت میں ایل ای ڈی GPIO 4 سے منسلک ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 5پھر، آپ PWM سگنل کی خصوصیات کو سیٹ کرتے ہیں۔ آپ 5000 ہرٹز کی فریکوئنسی کی وضاحت کرتے ہیں، سگنل پیدا کرنے کے لیے چینل 0 کا انتخاب کریں، اور 8 بٹس کی ریزولوشن سیٹ کریں۔ مختلف PWM سگنلز بنانے کے لیے آپ ان سے مختلف دیگر خصوصیات کا انتخاب کر سکتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 6سیٹ اپ() میں، آپ کو LED PWM کو ان خصوصیات کے ساتھ کنفیگر کرنے کی ضرورت ہے جو آپ نے پہلے بیان کی ہیں ledcSetup() فنکشن کا استعمال کرتے ہوئے جو بطور دلیل، ledChannel، فریکوئنسی، اور ریزولیوشن کو قبول کرتا ہے، حسب ذیل:LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 8اگلا، آپ کو GPIO کا انتخاب کرنے کی ضرورت ہے جس سے آپ کو سگنل ملے گا۔ اس کے لیے ledcAttachPin() فنکشن کا استعمال کریں جو GPIO کو بطور دلیل قبول کرتا ہے جہاں آپ سگنل حاصل کرنا چاہتے ہیں، اور وہ چینل جو سگنل پیدا کر رہا ہے۔ اس میں سابقample، ہمیں ledPin GPIO میں سگنل ملے گا، جو GPIO 4 سے مساوی ہے۔ وہ چینل جو سگنل تیار کرتا ہے وہ ledChannel ہے، جو چینل 0 کے مساوی ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 9لوپ میں، آپ LED کی چمک کو بڑھانے کے لیے ڈیوٹی سائیکل کو 0 اور 255 کے درمیان مختلف کریں گے۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - چمکاور پھر، چمک کو کم کرنے کے لیے 255 اور 0 کے درمیان۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - چمک 1LED کی چمک کو سیٹ کرنے کے لیے، آپ کو صرف ledcWrite() فنکشن استعمال کرنے کی ضرورت ہے جو سگنل پیدا کرنے والے چینل اور ڈیوٹی سائیکل کو بطور دلیل قبول کرتا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - چمک 2جیسا کہ ہم 8 بٹ ریزولوشن استعمال کر رہے ہیں، ڈیوٹی سائیکل کو 0 سے 255 تک کی ویلیو کے ذریعے کنٹرول کیا جائے گا۔ نوٹ کریں کہ ledcWrite() فنکشن میں ہم وہ چینل استعمال کرتے ہیں جو سگنل پیدا کر رہا ہے، نہ کہ GPIO۔

سابق کی جانچ کرناample

کوڈ کو اپنے ESP32 پر اپ لوڈ کریں۔ یقینی بنائیں کہ آپ نے صحیح بورڈ اور COM پورٹ کا انتخاب کیا ہے۔ اپنے سرکٹ کو دیکھو۔ آپ کے پاس ایک مدھم ایل ای ڈی ہونی چاہیے جو چمک کو بڑھاتی اور کم کرتی ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - سابق کی جانچample

پروجیکٹ 4 ESP32 PIR موشن سینسر

یہ پروجیکٹ دکھاتا ہے کہ PIR موشن سینسر کا استعمال کرتے ہوئے ESP32 کے ساتھ حرکت کا کیسے پتہ لگایا جائے۔ جب حرکت کا پتہ چل جائے گا تو بزر الارم بجائے گا، اور پہلے سے طے شدہ وقت (جیسے 4 سیکنڈ) تک کسی حرکت کا پتہ نہ چلنے پر الارم بند کر دے گا۔
HC-SR501 موشن سینسر کیسے کام کرتا ہے۔
.LAFVIN ESP32 بنیادی سٹارٹر کٹ - موشن سینسر کام کرتا ہے۔HC-SR501 سینسر کا کام کرنے والا اصول حرکت پذیر آبجیکٹ پر انفراریڈ ریڈی ایشن کی تبدیلی پر مبنی ہے۔ HC-SR501 سینسر کے ذریعے پتہ لگانے کے لیے، آبجیکٹ کو دو تقاضوں کو پورا کرنا ضروری ہے:

  • آبجیکٹ انفراریڈ طریقے سے خارج کر رہا ہے۔
  • شے ہل رہی ہے یا ہل رہی ہے۔

تو:
اگر کوئی چیز انفراریڈ شعاع خارج کر رہی ہے لیکن حرکت نہیں کر رہی ہے (مثال کے طور پر، کوئی شخص بغیر حرکت کیے کھڑا ہے)، تو اس کا سینسر سے پتہ نہیں چلتا۔
اگر کوئی چیز حرکت کر رہی ہے لیکن انفراریڈ شعاع (جیسے روبوٹ یا گاڑی) خارج نہیں کر رہی ہے، تو اس کا سینسر سے پتہ نہیں چلتا ہے۔
ٹائمر پیش کر رہے ہیں۔
اس میں سابقample ہم ٹائمر بھی متعارف کروائیں گے۔ ہم چاہتے ہیں کہ حرکت کا پتہ چلنے کے بعد ایل ای ڈی پہلے سے متعین سیکنڈوں تک چلتی رہے۔ تاخیر() فنکشن استعمال کرنے کے بجائے جو آپ کے کوڈ کو روکتا ہے اور آپ کو سیکنڈوں کی ایک متعین تعداد تک کچھ اور کرنے کی اجازت نہیں دیتا ہے، ہمیں ٹائمر استعمال کرنا چاہیے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ٹائمر متعارف کروا رہا ہے۔تاخیر() فنکشن
آپ کو delay() فنکشن سے واقف ہونا چاہیے کیونکہ یہ بڑے پیمانے پر استعمال ہوتا ہے۔ یہ فنکشن استعمال کرنے میں کافی سیدھا ہے۔ یہ ایک واحد int نمبر کو بطور دلیل قبول کرتا ہے۔
یہ نمبر ملی سیکنڈ میں اس وقت کی نمائندگی کرتا ہے جب تک کہ پروگرام کو کوڈ کی اگلی لائن پر جانے تک انتظار کرنا پڑتا ہے۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - کوڈجب آپ تاخیر (1000) کرتے ہیں تو آپ کا پروگرام اس لائن پر 1 سیکنڈ کے لیے رک جاتا ہے۔
delay() ایک بلاکنگ فنکشن ہے۔ بلاکنگ فنکشنز پروگرام کو کچھ اور کرنے سے روکتے ہیں جب تک کہ وہ خاص کام مکمل نہ ہو جائے۔ اگر آپ کو ایک ہی وقت میں متعدد کاموں کو انجام دینے کی ضرورت ہے، تو آپ تاخیر() کا استعمال نہیں کر سکتے۔
زیادہ تر پروجیکٹس کے لیے آپ کو تاخیر کے استعمال سے گریز کرنا چاہیے اور اس کے بجائے ٹائمر استعمال کرنا چاہیے۔
ملیس () فنکشن
millis() نامی فنکشن کا استعمال کرتے ہوئے آپ ملی سیکنڈز کی تعداد واپس کر سکتے ہیں جو پروگرام کے شروع ہونے کے بعد سے گزر چکے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - پروگرام سب سے پہلے شروع ہوا۔وہ فنکشن کیوں مفید ہے؟ کیونکہ کچھ ریاضی کا استعمال کرکے، آپ آسانی سے تصدیق کر سکتے ہیں کہ آپ کے کوڈ کو بلاک کیے بغیر کتنا وقت گزر گیا ہے۔
حصوں کی ضرورت ہے
اس ٹیوٹوریل پر عمل کرنے کے لیے آپ کو درج ذیل حصوں کی ضرورت ہے۔

  • ESP32 DEVKIT V1 بورڈ
  • PIR موشن سینسر (HC-SR501)
  • ایکٹو بزر
  • جمپر تاریں۔
  • بریڈ بورڈ

یوجنابدقLAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹک 1نوٹ: ورکنگ والیومtagHC-SR501 کا e 5V ہے۔ اسے طاقت دینے کے لیے ون پن کا استعمال کریں۔
کوڈ
اس ٹیوٹوریل کے ساتھ آگے بڑھنے سے پہلے آپ کو اپنے Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا چاہیے۔ اگر آپ نے پہلے ہی نہیں کیا ہے تو Arduino IDE پر ESP32 انسٹال کرنے کے لیے درج ذیل ٹیوٹوریلز میں سے کسی ایک پر عمل کریں۔
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
arduino IDE میں Project_4_ESP32_PIR_Motion_Sensor.ino کوڈ کھولیں۔
مظاہرہ
کوڈ کو اپنے ESP32 بورڈ پر اپ لوڈ کریں۔ یقینی بنائیں کہ آپ نے صحیح بورڈ اور COM پورٹ کا انتخاب کیا ہے۔ کوڈ ریفرنس کے مراحل کو اپ لوڈ کریں۔
سیریل مانیٹر کو 115200 کے بوڈ ریٹ پر کھولیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مظاہرہ 1اپنا ہاتھ PIR سینسر کے سامنے رکھیں۔ بزر آن ہونا چاہیے، اور پیغام سیریل مانیٹر میں پرنٹ ہوتا ہے جس میں کہا جاتا ہے کہ "حرکت کا پتہ چلا! بزر الارم"۔
4 سیکنڈ کے بعد بزر کو بند کر دینا چاہیے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - buzzer

پروجیکٹ 5 ESP32 سوئچ Web سرور

اس پروجیکٹ میں آپ اسٹینڈ اسٹون بنائیں گے۔ web ESP32 کے ساتھ سرور جو Arduino IDE پروگرامنگ ماحول کا استعمال کرتے ہوئے آؤٹ پٹ (دو LEDs) کو کنٹرول کرتا ہے۔ دی web سرور موبائل ریسپانسیو ہے اور مقامی نیٹ ورک پر براؤزر کے طور پر کسی بھی ڈیوائس سے اس تک رسائی حاصل کی جا سکتی ہے۔ ہم آپ کو دکھائیں گے کہ اسے کیسے بنایا جائے۔ web سرور اور کس طرح کوڈ مرحلہ وار کام کرتا ہے۔
پروجیکٹ ختمview
اس منصوبے پر براہ راست جانے سے پہلے، یہ بتانا ضروری ہے کہ ہمارا کیا ہے۔ web سرور کرے گا، تاکہ بعد میں اقدامات پر عمل کرنا آسان ہو۔

  • دی web سرور جس پر آپ ESP32 GPIO 26 اور GPIO 27 سے منسلک دو LEDs کو کنٹرول کریں گے۔
  • آپ ESP32 تک رسائی حاصل کر سکتے ہیں۔ web مقامی نیٹ ورک میں براؤزر پر ESP32 IP ایڈریس ٹائپ کرکے سرور؛
  • اپنے بٹنوں پر کلک کرکے web سرور آپ کو فوری طور پر ہر ایل ای ڈی کی حالت تبدیل کر سکتے ہیں.

حصوں کی ضرورت ہے
اس ٹیوٹوریل کے لیے آپ کو درج ذیل حصوں کی ضرورت ہوگی:

  • ESP32 DEVKIT V1 بورڈ
  • 2x5 ملی میٹر ایل ای ڈی
  • 2x 200 اوہم ریزسٹر
  • بریڈ بورڈ
  • جمپر تاریں۔

یوجنابدق
سرکٹ کی تعمیر سے شروع کریں. دو LEDs کو ESP32 سے جوڑیں جیسا کہ مندرجہ ذیل اسکیمیٹک ڈایاگرام میں دکھایا گیا ہے - ایک LED GPIO 26 سے منسلک ہے، اور دوسری GPIO 27 سے۔
نوٹ: ہم 32 پنوں کے ساتھ ESP36 DEVKIT DOIT بورڈ استعمال کر رہے ہیں۔ سرکٹ کو جمع کرنے سے پہلے، اس بات کو یقینی بنائیں کہ آپ جس بورڈ کا استعمال کر رہے ہیں اس کا پن آؤٹ چیک کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹککوڈ
یہاں ہم کوڈ فراہم کرتے ہیں جو ESP32 بناتا ہے۔ web سرور کوڈ کھولیں Project_5_ESP32_Switch _Web_Server.ino arduino IDE میں، لیکن اسے ابھی اپ لوڈ نہ کریں۔ اسے آپ کے لیے کارآمد بنانے کے لیے آپ کو کچھ تبدیلیاں کرنے کی ضرورت ہے۔
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے:(اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
اپنے نیٹ ورک کی اسناد ترتیب دینا
آپ کو اپنے نیٹ ورک کی اسناد کے ساتھ درج ذیل لائنوں میں ترمیم کرنے کی ضرورت ہے: SSID اور پاس ورڈ۔ کوڈ پر اچھی طرح سے تبصرہ کیا گیا ہے کہ آپ کو کہاں تبدیلیاں کرنی چاہئیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - نیٹ ورک کی اسنادکوڈ اپ لوڈ کرنا
اب، آپ کوڈ اور اور اپ لوڈ کر سکتے ہیں۔ web سرور فوراً کام کرے گا۔
ESP32 پر کوڈ اپ لوڈ کرنے کے لیے اگلے مراحل پر عمل کریں:

  1. اپنے ESP32 بورڈ کو اپنے کمپیوٹر میں لگائیں۔
  2. Arduino IDE میں ٹولز > بورڈ میں اپنا بورڈ منتخب کریں (ہمارے معاملے میں ہم ESP32 DEVKIT DOIT بورڈ استعمال کر رہے ہیں)؛LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ اپ لوڈ کرنا
  3. ٹولز > پورٹ میں COM پورٹ کو منتخب کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ٹولز پورٹ
  4. Arduino IDE میں اپ لوڈ بٹن کو دبائیں اور کوڈ کے مرتب ہونے اور آپ کے بورڈ پر اپ لوڈ ہونے تک چند سیکنڈ انتظار کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ICON 7
  5. "اپ لوڈنگ مکمل" پیغام کا انتظار کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - اپ لوڈنگ ہو گئی 1

ESP IP ایڈریس تلاش کرنا
کوڈ اپ لوڈ کرنے کے بعد، سیریل مانیٹر کو 115200 کے بوڈ ریٹ پر کھولیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ESP IP ایڈریسESP32 EN بٹن دبائیں (ری سیٹ کریں)۔ ESP32 Wi-Fi سے جڑتا ہے، اور ESP IP ایڈریس کو سیریل مانیٹر پر آؤٹ پٹ کرتا ہے۔ اس IP ایڈریس کو کاپی کریں، کیونکہ آپ کو ESP32 تک رسائی کے لیے اس کی ضرورت ہے۔ web سرورLAFVIN ESP32 بنیادی سٹارٹر کٹ - web سرورتک رسائی حاصل کرنا Web سرور
تک رسائی حاصل کرنے کے لیے web سرور، اپنا براؤزر کھولیں، ESP32 IP ایڈریس پیسٹ کریں، اور آپ کو درج ذیل صفحہ نظر آئے گا۔
نوٹ: آپ کا براؤزر اور ESP32 ایک ہی LAN سے منسلک ہونا چاہیے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - تک رسائی حاصل کرنا Web سروراگر آپ سیریل مانیٹر پر ایک نظر ڈالتے ہیں، تو آپ دیکھ سکتے ہیں کہ پس منظر میں کیا ہو رہا ہے۔ ESP کو ایک نئے کلائنٹ سے HTTP درخواست موصول ہوتی ہے (اس صورت میں، آپ کا براؤزر)۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - HTTP درخواستآپ HTTP درخواست کے بارے میں دیگر معلومات بھی دیکھ سکتے ہیں۔
مظاہرہ
اب آپ جانچ کر سکتے ہیں کہ اگر آپ web سرور ٹھیک سے کام کر رہا ہے۔ ایل ای ڈی کو کنٹرول کرنے کے لیے بٹنوں پر کلک کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - پس منظرایک ہی وقت میں، آپ سیریل مانیٹر پر ایک نظر ڈال سکتے ہیں کہ پس منظر میں کیا ہو رہا ہے۔ سابق کے لیےample، جب آپ GPIO 26 کو آن کرنے کے لیے بٹن پر کلک کرتے ہیں، ESP32 کو /26/on پر ایک درخواست موصول ہوتی ہے۔ URL.LAFVIN ESP32 بنیادی سٹارٹر کٹ - URLجب ESP32 کو وہ درخواست موصول ہوتی ہے، تو یہ GPIO 26 سے منسلک LED کو آن کر دیتا ہے اور اپنی حالت کو اپ ڈیٹ کرتا ہے۔ web صفحہLAFVIN ESP32 بنیادی سٹارٹر کٹ - web صفحہGPIO 27 کا بٹن اسی طرح کام کرتا ہے۔ جانچ کریں کہ یہ ٹھیک سے کام کر رہا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - صحیح طریقے سے کام کر رہی ہے۔

کوڈ کیسے کام کرتا ہے۔

اس سیکشن میں کوڈ پر گہری نظر ڈالی جائے گی کہ یہ کیسے کام کرتا ہے۔
سب سے پہلے آپ کو وائی فائی لائبریری کو شامل کرنے کی ضرورت ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - وائی فائی لائبریریجیسا کہ پہلے ذکر کیا گیا ہے، آپ کو اپنا ssid اور پاس ورڈ درج ذیل لائنوں میں ڈبل کوٹس کے اندر داخل کرنے کی ضرورت ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ڈبل کوٹساس کے بعد، آپ نے اپنا سیٹ کیا web پورٹ 80 پر سرور۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - web سروردرج ذیل لائن HTTP درخواست کے ہیڈر کو ذخیرہ کرنے کے لیے ایک متغیر بناتی ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - HTTP درخواستاگلا، آپ اپنے آؤٹ پٹ کی موجودہ حالت کو ذخیرہ کرنے کے لیے معاون متغیرات بناتے ہیں۔ اگر آپ مزید آؤٹ پٹ شامل کرنا چاہتے ہیں اور اس کی حالت کو بچانا چاہتے ہیں تو آپ کو مزید متغیر بنانے کی ضرورت ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متغیراتآپ کو اپنے ہر آؤٹ پٹ کے لیے GPIO تفویض کرنے کی بھی ضرورت ہے۔ یہاں ہم GPIO 26 اور GPIO 27 استعمال کر رہے ہیں۔ آپ کوئی اور موزوں GPIO استعمال کر سکتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - دیگر موزوںسیٹ اپ()
اب، سیٹ اپ () میں چلتے ہیں۔ سب سے پہلے، ہم ڈیبگنگ کے مقاصد کے لیے 115200 کی بوڈ ریٹ پر سیریل کمیونیکیشن شروع کرتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مقاصدآپ اپنے GPIOs کو آؤٹ پٹ کے طور پر بھی متعین کرتے ہیں اور انہیں کم پر سیٹ کرتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - GPIOs بطور آؤٹ پٹدرج ذیل لائنیں Wi-Fi کنکشن WiFi.begin(ssid، پاس ورڈ) کے ساتھ شروع کرتی ہیں، کامیاب کنکشن کا انتظار کریں اور سیریل مانیٹر میں ESP IP ایڈریس پرنٹ کریں۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - سیریلLAFVIN ESP32 بنیادی سٹارٹر کٹ - سیریل 1لوپ()
لوپ() میں ہم پروگرام کرتے ہیں کہ جب کوئی نیا کلائنٹ کے ساتھ کنکشن قائم کرتا ہے تو کیا ہوتا ہے۔ web سرور
ESP32 ہمیشہ آنے والے کلائنٹس کو درج ذیل لائن کے ساتھ سن رہا ہے:LAFVIN ESP32 بنیادی اسٹارٹر کٹ - لوپجب کسی کلائنٹ سے درخواست موصول ہوتی ہے، تو ہم آنے والے ڈیٹا کو محفوظ کر لیں گے۔ اس کے بعد آنے والا while لوپ اس وقت تک چلتا رہے گا جب تک کلائنٹ منسلک رہے گا۔ ہم کوڈ کے مندرجہ ذیل حصے کو تبدیل کرنے کی سفارش نہیں کرتے جب تک کہ آپ کو یہ معلوم نہ ہو کہ آپ کیا کر رہے ہیں۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - بالکلLAFVIN ESP32 بنیادی سٹارٹر کٹ - بالکل 1LAFVIN ESP32 بنیادی سٹارٹر کٹ - بالکل 2if اور else بیانات کا اگلا حصہ چیک کرتا ہے کہ آپ کے میں کون سا بٹن دبایا گیا تھا۔ web صفحہ، اور اس کے مطابق آؤٹ پٹ کو کنٹرول کرتا ہے۔ جیسا کہ ہم پہلے دیکھ چکے ہیں، ہم مختلف پر ایک درخواست کرتے ہیں۔ URLs دبائے گئے بٹن پر منحصر ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - بٹن دبایا گیا۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - بٹن دبایا گیا 1سابق کے لیےample، اگر آپ نے GPIO 26 ON بٹن دبایا ہے، ESP32 کو /26/ON پر ایک درخواست موصول ہوتی ہے۔ URL (ہم دیکھ سکتے ہیں کہ سیریل مانیٹر پر HTTP ہیڈر پر وہ معلومات)۔ لہذا، ہم چیک کر سکتے ہیں کہ آیا ہیڈر میں اظہار GET /26/on ہے۔ اگر اس میں شامل ہے تو، ہم آؤٹ پٹ 26 اسٹیٹ متغیر کو آن میں تبدیل کرتے ہیں، اور ESP32 LED کو آن کر دیتا ہے۔
یہ دوسرے بٹنوں کے لیے بھی اسی طرح کام کرتا ہے۔ لہذا، اگر آپ مزید آؤٹ پٹ شامل کرنا چاہتے ہیں، تو آپ کو ان کو شامل کرنے کے لیے کوڈ کے اس حصے میں ترمیم کرنی چاہیے۔
ایچ ٹی ایم ایل کی نمائش web صفحہ
اگلی چیز جو آپ کو کرنے کی ضرورت ہے، وہ تخلیق کرنا ہے۔ web صفحہ ESP32 آپ کے براؤزر کو کچھ HTML کوڈ کے ساتھ جواب بھیجے گا web صفحہ
دی web اس اظہار کلائنٹ کا استعمال کرتے ہوئے کلائنٹ کو صفحہ بھیجا جاتا ہے۔println()۔ آپ کو وہ درج کرنا چاہیے جو آپ کلائنٹ کو بطور دلیل بھیجنا چاہتے ہیں۔
پہلی چیز جو ہمیں بھیجنی چاہیے وہ ہمیشہ درج ذیل لائن ہوتی ہے، جو اس بات کی نشاندہی کرتی ہے کہ ہم HTML بھیج رہے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - HTML بھیجناپھر، مندرجہ ذیل لائن بناتا ہے web کسی بھی میں ذمہ دار صفحہ web براؤزرLAFVIN ESP32 بنیادی سٹارٹر کٹ - web براؤزراور فیویکون پر درخواستوں کو روکنے کے لیے درج ذیل کا استعمال کیا جاتا ہے۔ - آپ کو اس لائن کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - client.println

اسٹائل کرنا Web صفحہ

اگلا، ہمارے پاس بٹنوں کو اسٹائل کرنے کے لیے کچھ سی ایس ایس ٹیکسٹ ہے۔ web صفحہ کی ظاہری شکل
ہم Helvetica فونٹ کا انتخاب کرتے ہیں، مواد کو بلاک کے طور پر ظاہر کرنے اور مرکز میں منسلک کرنے کی وضاحت کرتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - اسٹائلنگ Web صفحہہم اپنے بٹنوں کو #4CAF50 رنگ، بغیر بارڈر کے، سفید رنگ میں متن، اور اس پیڈنگ کے ساتھ: 16px 40px کے ساتھ اسٹائل کرتے ہیں۔ ہم نے ٹیکسٹ ڈیکوریشن کو کسی پر بھی سیٹ نہیں کیا، فونٹ کا سائز، مارجن، اور کرسر کو پوائنٹر پر متعین کیا۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - پوائنٹرہم دوسرے بٹن کے لیے سٹائل کی بھی وضاحت کرتے ہیں، بٹن کی تمام خصوصیات کے ساتھ جو ہم پہلے بیان کر چکے ہیں، لیکن ایک مختلف رنگ کے ساتھ۔ یہ آف بٹن کا انداز ہوگا۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - client.println 1

ترتیب دینا Web صفحہ اول کی سرخی
اگلی لائن میں آپ اپنی پہلی سرخی سیٹ کر سکتے ہیں۔ web صفحہ یہاں ہمارے پاس "ESP32 ہے۔ Web سرور"، لیکن آپ اس متن کو اپنی پسند کے مطابق تبدیل کر سکتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - Web صفحہ کی سرخیبٹن اور متعلقہ ریاست کو ظاہر کرنا
پھر، آپ GPIO 26 موجودہ حالت کو ظاہر کرنے کے لیے ایک پیراگراف لکھتے ہیں۔ جیسا کہ آپ دیکھ سکتے ہیں کہ ہم output26State متغیر استعمال کرتے ہیں، تاکہ یہ متغیر تبدیل ہونے پر ریاست فوری طور پر اپ ڈیٹ ہوجائے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متغیر تبدیلیاںپھر، ہم GPIO کی موجودہ حالت کے لحاظ سے، آن یا آف بٹن ڈسپلے کرتے ہیں۔ اگر GPIO کی موجودہ حالت آف ہے، تو ہم ON بٹن دکھاتے ہیں، اگر نہیں، تو ہم آف بٹن دکھاتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - آف بٹن ڈسپلے کریں۔ہم GPIO 27 کے لیے وہی طریقہ استعمال کرتے ہیں۔
کنکشن بند کرنا
آخر میں، جب جواب ختم ہوتا ہے، ہم ہیڈر متغیر کو صاف کرتے ہیں، اور کلائنٹ کے ساتھ client.stop() کے ساتھ کنکشن روک دیتے ہیں۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - کنکشن بند کرنا

لپیٹنا

اس ٹیوٹوریل میں ہم نے آپ کو a بنانے کا طریقہ دکھایا ہے۔ web ESP32 کے ساتھ سرور۔ ہم نے آپ کو ایک سادہ سابقہ ​​دکھایا ہے۔ample جو دو ایل ای ڈی کو کنٹرول کرتا ہے، لیکن خیال یہ ہے کہ ان ایل ای ڈیز کو ریلے سے تبدیل کیا جائے، یا کسی اور آؤٹ پٹ کو آپ کنٹرول کرنا چاہتے ہیں۔

پروجیکٹ 6 آرجیبی ایل ای ڈی Web سرور

اس پروجیکٹ میں ہم آپ کو دکھائیں گے کہ کس طرح ESP32 بورڈ کا استعمال کرتے ہوئے RGB LED کو دور سے کنٹرول کیا جائے۔ web رنگ چنندہ کے ساتھ سرور۔
پروجیکٹ ختمview
شروع کرنے سے پہلے، آئیے دیکھتے ہیں کہ یہ پروجیکٹ کیسے کام کرتا ہے:LAFVIN ESP32 بنیادی سٹارٹر کٹ - پروجیکٹ ختمview

  • ای ایس پی 32 web سرور رنگ چننے والا دکھاتا ہے۔
  • جب آپ کسی رنگ کا انتخاب کرتے ہیں، تو آپ کا براؤزر ایک پر درخواست کرتا ہے۔ URL جس میں منتخب رنگ کے R، G، اور B پیرامیٹرز ہوتے ہیں۔
  • آپ کا ESP32 درخواست وصول کرتا ہے اور ہر رنگ کے پیرامیٹر کی قدر کو تقسیم کرتا ہے۔
  • پھر، یہ GPIOs کو متعلقہ قیمت کے ساتھ PWM سگنل بھیجتا ہے جو RGB LED کو کنٹرول کر رہے ہیں۔

آرجیبی ایل ای ڈی کیسے کام کرتی ہیں؟
ایک عام کیتھوڈ RGB LED میں، تینوں LEDs ایک منفی کنکشن (کیتھوڈ) کا اشتراک کرتے ہیں۔ کٹ میں شامل سبھی کامن کیتھوڈ RGB ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - RGB LEDs کام کرتے ہیں۔مختلف رنگ کیسے بنائیں؟
RGB LED کے ساتھ آپ یقیناً سرخ، سبز اور نیلی روشنی پیدا کر سکتے ہیں، اور ہر LED کی شدت کو ترتیب دے کر، آپ دوسرے رنگ بھی پیدا کر سکتے ہیں۔
سابق کے لیےampلی، خالصتاً نیلی روشنی پیدا کرنے کے لیے، آپ نیلی ایل ای ڈی کو سب سے زیادہ شدت پر اور سبز اور سرخ ایل ای ڈی کو سب سے کم شدت پر سیٹ کریں گے۔ سفید روشنی کے لیے، آپ تینوں ایل ای ڈی کو سب سے زیادہ شدت پر سیٹ کریں گے۔
رنگوں کو ملانا
دوسرے رنگ پیدا کرنے کے لیے، آپ تینوں رنگوں کو مختلف شدتوں میں ملا سکتے ہیں۔ ہر ایل ای ڈی کی شدت کو ایڈجسٹ کرنے کے لیے آپ PWM سگنل استعمال کر سکتے ہیں۔
چونکہ ایل ای ڈی ایک دوسرے کے بہت قریب ہیں، ہماری آنکھیں انفرادی طور پر تین رنگوں کے بجائے رنگوں کے امتزاج کا نتیجہ دیکھتی ہیں۔
رنگوں کو یکجا کرنے کا طریقہ جاننے کے لیے، درج ذیل چارٹ پر ایک نظر ڈالیں۔
یہ رنگوں کی آمیزش کا سب سے آسان چارٹ ہے، لیکن آپ کو اندازہ دیتا ہے کہ یہ کیسے کام کرتا ہے اور مختلف رنگ کیسے تیار کیے جاتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مختلف رنگحصوں کی ضرورت ہے
اس منصوبے کے لئے آپ کو مندرجہ ذیل حصوں کی ضرورت ہے:

  • ESP32 DEVKIT V1 بورڈ
  • آرجیبی ایل ای ڈی
  • 3x 220 اوہم مزاحم
  • جمپر تاریں۔
  • بریڈ بورڈ

یوجنابدقLAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹککوڈ
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے:(اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)

  • Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا

سرکٹ کو جمع کرنے کے بعد، کوڈ کھولیں
پروجیکٹ_6_RGB_LED_Webarduino IDE میں _Server.ino۔
کوڈ اپ لوڈ کرنے سے پہلے، اپنے نیٹ ورک کی اسناد داخل کرنا نہ بھولیں تاکہ ESP آپ کے مقامی نیٹ ورک سے منسلک ہو سکے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مقامی نیٹ ورککوڈ کیسے کام کرتا ہے۔
ESP32 خاکہ WiFi.h لائبریری کا استعمال کرتا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - WiFi.h لائبریریدرج ذیل لائنیں درخواست سے R، G، اور B پیرامیٹرز کو رکھنے کے لیے سٹرنگ متغیرات کی وضاحت کرتی ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - String redStringاگلے چار متغیرات کو بعد میں HTTP درخواست کو ڈی کوڈ کرنے کے لیے استعمال کیا جاتا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - HTTP درخواستGPIOs کے لیے تین متغیرات بنائیں جو پٹی R، G، اور B پیرامیٹرز کو کنٹرول کریں گے۔ اس صورت میں ہم GPIO 13، GPIO 12، اور GPIO 14 استعمال کر رہے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - GPIOs کی ضرورت ہے۔ان GPIOs کو PWM سگنلز کو آؤٹ پٹ کرنے کی ضرورت ہے، لہذا ہمیں پہلے PWM خصوصیات کو ترتیب دینے کی ضرورت ہے۔ PWM سگنل فریکوئنسی کو 5000 Hz پر سیٹ کریں۔ پھر، ہر رنگ کے لیے ایک PWM چینل منسلک کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ہر رنگاور آخر میں، PWM چینلز کی ریزولوشن کو 8 بٹ پر سیٹ کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - PWM چینلزسیٹ اپ () میں، PWM کی خصوصیات PWM چینلز کو تفویض کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - PWM چینلزPWM چینلز کو متعلقہ GPIO کے ساتھ منسلک کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متعلقہ GPIOsدرج ذیل کوڈ سیکشن آپ میں رنگ چننے والے کو دکھاتا ہے۔ web صفحہ اور آپ کے منتخب کردہ رنگ کی بنیاد پر درخواست کرتا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - اٹھایاLAFVIN ESP32 بنیادی سٹارٹر کٹ - client.printlnLAFVIN ESP32 بنیادی سٹارٹر کٹ - client.println 1جب آپ رنگ چنتے ہیں، تو آپ کو درج ذیل فارمیٹ کے ساتھ ایک درخواست موصول ہوتی ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مندرجہ ذیل فارمیٹ

لہذا، ہمیں R، G، اور B پیرامیٹرز حاصل کرنے کے لیے اس سٹرنگ کو تقسیم کرنے کی ضرورت ہے۔ پیرامیٹرز کو redString، greenString، اور blueString متغیر میں محفوظ کیا جاتا ہے اور ان کی قدریں 0 اور 255 کے درمیان ہوسکتی ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ہیڈرLAFVIN ESP32 بنیادی سٹارٹر کٹ - ہیڈر 1ESP32 کے ساتھ پٹی کو کنٹرول کرنے کے لیے، ledcWrite() فنکشن کا استعمال کریں تاکہ HTTP سے ڈی کوڈ شدہ اقدار کے ساتھ PWM سگنل تیار کریں۔ درخواستLAFVIN ESP32 بنیادی سٹارٹر کٹ - HTTP درخواست 1نوٹ: ESP32 کے ساتھ PWM کے بارے میں مزید جانیں: پروجیکٹ 3 ESP32 PWM (اینلاگ آؤٹ پٹ)
ESP8266 کے ساتھ پٹی کو کنٹرول کرنے کے لیے، ہمیں صرف استعمال کرنے کی ضرورت ہے۔
analogWrite() فنکشن HTPP درخواست سے ڈی کوڈ کردہ اقدار کے ساتھ PWM سگنلز تیار کرنے کے لیے۔
analogWrite(redPin, redString.toInt())؛
analogWrite(greenPin, greenString.toInt())؛
analogWrite(bluePin, blueString.toInt())
چونکہ ہمیں سٹرنگ متغیر میں اقدار ملتی ہیں، ہمیں toInt() طریقہ استعمال کرتے ہوئے ان کو عدد میں تبدیل کرنے کی ضرورت ہے۔
مظاہرہ
اپنے نیٹ ورک کی اسناد داخل کرنے کے بعد، صحیح بورڈ اور COM پورٹ کو منتخب کریں اور کوڈ کو اپنے ESP32 پر اپ لوڈ کریں۔ کوڈ ریفرنس کے مراحل کو اپ لوڈ کریں۔
اپ لوڈ کرنے کے بعد، سیریل مانیٹر کو 115200 کے باؤڈ ریٹ پر کھولیں اور ESP Enable/Reset بٹن دبائیں۔ آپ کو بورڈ کا آئی پی ایڈریس ملنا چاہیے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - وہی LANاپنا براؤزر کھولیں اور ESP IP ایڈریس داخل کریں۔ اب، RGB LED کے لیے رنگ منتخب کرنے کے لیے رنگ چننے والے کا استعمال کریں۔
اس کے بعد، آپ کو "رنگ تبدیل کریں" کے بٹن کو دبانے کی ضرورت ہے تاکہ رنگ اثر انداز ہو۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - RGB LEDRGB LED کو بند کرنے کے لیے، سیاہ رنگ منتخب کریں۔
سب سے مضبوط رنگ (رنگ چننے والے کے اوپری حصے میں)، وہ ہیں جو بہتر نتائج پیدا کریں گے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - بہتر نتائج

پروجیکٹ 7 ESP32 ریلے Web سرور

ESP32 کے ساتھ ریلے کا استعمال AC گھریلو آلات کو دور سے کنٹرول کرنے کا ایک بہترین طریقہ ہے۔ یہ ٹیوٹوریل بتاتا ہے کہ ESP32 کے ساتھ ریلے ماڈیول کو کیسے کنٹرول کیا جائے۔
ہم اس پر ایک نظر ڈالیں گے کہ ریلے ماڈیول کیسے کام کرتا ہے، ریلے کو ESP32 سے کیسے جوڑنا ہے اور ایک web ریلے کو دور سے کنٹرول کرنے کے لیے سرور۔
ریلے کا تعارف
ریلے ایک برقی طور پر چلنے والا سوئچ ہے اور کسی دوسرے سوئچ کی طرح، اسے آن یا آف کیا جا سکتا ہے، کرنٹ کو گزرنے دیتا ہے یا نہیں۔ اسے کم والیوم سے کنٹرول کیا جا سکتا ہے۔tages، جیسے ESP3.3 GPIOs کے ذریعہ فراہم کردہ 32V اور ہمیں ہائی والیوم کو کنٹرول کرنے کی اجازت دیتا ہے۔tages جیسے 12V، 24V یا مین والیومtage (یورپ میں 230V اور امریکہ میں 120V)۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متعارف کرایا جا رہا ہےبائیں جانب، ہائی والیوم کو جوڑنے کے لیے تین ساکٹ کے دو سیٹ ہیں۔tages، اور پن دائیں طرف (low-voltage) ESP32 GPIOs سے جڑیں۔
مینز جلد۔tagای کنکشنLAFVIN ESP32 بنیادی سٹارٹر کٹ - مینز والیومtagای کنکشنپچھلی تصویر میں دکھائے گئے ریلے ماڈیول میں دو کنیکٹر ہیں، ہر ایک میں تین ساکٹ ہیں: عام (COM)، عام طور پر بند (NC)، اور عام طور پر کھلا (NO)۔

  • COM: اس کرنٹ کو جوڑیں جسے آپ کنٹرول کرنا چاہتے ہیں (مینز والیومtagای).
  • NC (عام طور پر بند): عام طور پر بند کنفیگریشن اس وقت استعمال ہوتی ہے جب آپ چاہتے ہیں کہ ریلے کو بطور ڈیفالٹ بند کیا جائے۔ NC ہیں COM پن جڑے ہوئے ہیں، یعنی کرنٹ بہہ رہا ہے جب تک کہ آپ ESP32 سے ریلے ماڈیول کو سرکٹ کھولنے اور کرنٹ کے بہاؤ کو روکنے کے لیے سگنل نہ بھیجیں۔
  • NO (عام طور پر کھلا): عام طور پر کھلی ترتیب دوسری طرح سے کام کرتی ہے: NO اور COM پنوں کے درمیان کوئی تعلق نہیں ہے، لہذا سرکٹ ٹوٹ جاتا ہے جب تک کہ آپ ESP32 سے سرکٹ کو بند کرنے کے لیے سگنل نہ بھیجیں۔

کنٹرول پنLAFVIN ESP32 بنیادی سٹارٹر کٹ - کنٹرول پنکم والیومtagای سائیڈ میں چار پنوں کا سیٹ اور تین پنوں کا سیٹ ہے۔ پہلا سیٹ ماڈیول کو پاور اپ کرنے کے لیے VCC اور GND پر مشتمل ہے، اور بالترتیب نیچے اور اوپر والے ریلے کو کنٹرول کرنے کے لیے ان پٹ 1 (IN1) اور ان پٹ 2 (IN2) پر مشتمل ہے۔
اگر آپ کے ریلے ماڈیول میں صرف ایک چینل ہے، تو آپ کے پاس صرف ایک IN پن ہوگا۔ اگر آپ کے پاس چار چینلز ہیں، تو آپ کے پاس چار IN پن ہوں گے، وغیرہ۔
آپ جو سگنل IN پنوں کو بھیجتے ہیں، اس سے یہ طے ہوتا ہے کہ ریلے فعال ہے یا نہیں۔ ریلے اس وقت متحرک ہوتا ہے جب ان پٹ تقریباً 2V سے نیچے جاتا ہے۔ اس کا مطلب ہے کہ آپ کے پاس درج ذیل منظرنامے ہوں گے:

  • عام طور پر بند کنفیگریشن (NC):
  • ہائی سگنل - کرنٹ بہہ رہا ہے۔
  • کم سگنل - کرنٹ نہیں بہہ رہا ہے۔
  • عام طور پر اوپن کنفیگریشن (NO):
  • ہائی سگنل - کرنٹ نہیں بہہ رہا ہے۔
  • کم سگنل - بہاؤ میں کرنٹ

آپ کو عام طور پر بند کنفیگریشن کا استعمال کرنا چاہیے جب کرنٹ زیادہ تر وقت بہہ رہا ہو، اور آپ اسے کبھی کبھار ہی روکنا چاہتے ہیں۔
عام طور پر کھلی ترتیب کا استعمال کریں جب آپ چاہتے ہیں کہ کرنٹ کبھی کبھار جاری رہے (مثال کے طور پرample، al کو آن کریں۔amp کبھی کبھار)۔
بجلی کی فراہمی کا انتخابLAFVIN ESP32 بنیادی سٹارٹر کٹ - بجلی کی فراہمی کا انتخابپنوں کا دوسرا سیٹ GND، VCC، اور JD-VCC پنوں پر مشتمل ہے۔
JD-VCC پن ریلے کے برقی مقناطیس کو طاقت دیتا ہے۔ نوٹ کریں کہ ماڈیول میں ایک جمپر کیپ ہے جو VCC اور JD-VCC پنوں کو جوڑتا ہے۔ جو یہاں دکھایا گیا ہے وہ پیلا ہے، لیکن آپ کا رنگ مختلف ہو سکتا ہے۔
جمپر کیپ آن کے ساتھ، VCC اور JD-VCC پن جڑے ہوئے ہیں۔ اس کا مطلب ہے کہ ریلے برقی مقناطیس براہ راست ESP32 پاور پن سے چلتا ہے، لہذا ریلے ماڈیول اور ESP32 سرکٹس ایک دوسرے سے جسمانی طور پر الگ تھلگ نہیں ہیں۔
جمپر کیپ کے بغیر، آپ کو JD-VCC پن کے ذریعے ریلے کے برقی مقناطیس کو طاقت دینے کے لیے ایک آزاد طاقت کا ذریعہ فراہم کرنے کی ضرورت ہے۔ یہ کنفیگریشن ماڈیول کے بلٹ ان اوپٹوکوپلر کے ساتھ ESP32 سے ریلے کو جسمانی طور پر الگ کر دیتی ہے، جو برقی اسپائکس کی صورت میں ESP32 کو پہنچنے والے نقصان کو روکتی ہے۔
یوجنابدقLAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹکانتباہ: اعلی والیوم کا استعمالtage بجلی کی فراہمی سنگین چوٹ کا سبب بن سکتی ہے۔
لہذا، ہائی سپلائی والیوم کے بجائے 5 ملی میٹر ایل ای ڈی استعمال کی جاتی ہیں۔tagتجربے میں ای بلب۔ اگر آپ مینز والیوم سے واقف نہیں ہیں۔tage کسی سے پوچھیں جو آپ کی مدد کرنے والا ہے۔ ESP کو پروگرام کرتے وقت یا اپنے سرکٹ کی وائرنگ کرتے وقت یقینی بنائیں کہ مینز والیوم سے سب کچھ منقطع ہے۔tage.LAFVIN ESP32 بنیادی سٹارٹر کٹ - مینز والیومtageESP32 کے لیے لائبریری کی تنصیب
اس کی تعمیر کے لیے web سرور، ہم ESPAsync استعمال کرتے ہیں۔Webسرور لائبریری اور AsyncTCP لائبریری۔
ESPAsync انسٹال کرناWebسرور لائبریری
انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں۔ ESPAsyncWebسرور لائبریری:

  1. ESPAsync ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔Webسرور لائبریری۔ آپ کو ہونا چاہئے
    آپ کے ڈاؤن لوڈز فولڈر میں زپ فولڈر
  2. .zip فولڈر کو ان زپ کریں اور آپ کو ESPAsync ملنا چاہیے۔Webسرور-ماسٹر فولڈر
  3. ESPAsync سے اپنے فولڈر کا نام تبدیل کریں۔WebESPAsync کے لیے سرور-ماسٹرWebسرور
  4. ESPAsync کو منتقل کریں۔Webآپ کے Arduino IDE انسٹالیشن لائبریریوں کے فولڈر میں سرور فولڈر

متبادل طور پر، اپنے Arduino IDE میں، آپ Sketch > Include پر جا سکتے ہیں۔
لائبریری > .ZIP لائبریری شامل کریں… اور وہ لائبریری منتخب کریں جسے آپ نے ابھی ڈاؤن لوڈ کیا ہے۔
ESP32 کے لیے AsyncTCP لائبریری کو انسٹال کرنا
دی ESPAsyncWebسرور لائبریری کی ضرورت ہے۔ AsyncTCP کام کرنے کے لئے لائبریری. پیروی کریں۔
اس لائبریری کو انسٹال کرنے کے اگلے مراحل:

  1. AsyncTCP لائبریری کو ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔ آپ کو اپنے ڈاؤن لوڈز فولڈر میں .zip فولڈر ہونا چاہیے۔
  2. زپ فولڈر کو ان زپ کریں اور آپ کو AsyncTCP-master فولڈر ملنا چاہیے۔
    1. اپنے فولڈر کا نام AsyncTCP-master سے AsyncTCP میں تبدیل کریں۔
    3. AsyncTCP فولڈر کو اپنے Arduino IDE انسٹالیشن لائبریری فولڈر میں منتقل کریں۔
    4. آخر میں، اپنا Arduino IDE دوبارہ کھولیں۔

متبادل طور پر، اپنے Arduino IDE میں، آپ Sketch > Include پر جا سکتے ہیں۔
لائبریری > .ZIP لائبریری شامل کریں… اور وہ لائبریری منتخب کریں جسے آپ نے ابھی ڈاؤن لوڈ کیا ہے۔
کوڈ
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے:(اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
مطلوبہ لائبریریوں کو انسٹال کرنے کے بعد، پروجیکٹ_7_ESP32_Relay_ کوڈ کھولیں۔Webarduino IDE میں _Server.ino۔
کوڈ اپ لوڈ کرنے سے پہلے، اپنے نیٹ ورک کی اسناد داخل کرنا نہ بھولیں تاکہ ESP آپ کے مقامی نیٹ ورک سے منسلک ہو سکے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ocal نیٹ ورکمظاہرہ
ضروری تبدیلیاں کرنے کے بعد، کوڈ کو اپنے ESP32 پر اپ لوڈ کریں۔ کوڈ ریفرنس کے مراحل کو اپ لوڈ کریں۔
سیریل مانیٹر کو 115200 کے باؤڈ ریٹ پر کھولیں اور اس کا IP ایڈریس حاصل کرنے کے لیے ESP32 EN بٹن کو دبائیں۔ پھر، اپنے مقامی نیٹ ورک میں ایک براؤزر کھولیں اور ESP32 IP ایڈریس ٹائپ کریں web سرور
سیریل مانیٹر کو 115200 کے باؤڈ ریٹ پر کھولیں اور اس کا IP ایڈریس حاصل کرنے کے لیے ESP32 EN بٹن کو دبائیں۔ پھر، اپنے مقامی نیٹ ورک میں ایک براؤزر کھولیں اور ESP32 IP ایڈریس ٹائپ کریں web سرورLAFVIN ESP32 بنیادی سٹارٹر کٹ - web سرورنوٹ: آپ کا براؤزر اور ESP32 ایک ہی LAN سے منسلک ہونا چاہیے۔
آپ کو دو بٹنوں کے ساتھ مندرجہ ذیل کچھ ملنا چاہئے جیسا کہ آپ نے اپنے کوڈ میں ریلے کی تعداد کی وضاحت کی ہے۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - اسمارٹ فوناب، آپ اپنے سمارٹ فون کا استعمال کرتے ہوئے اپنے ریلے کو کنٹرول کرنے کے لیے بٹنوں کا استعمال کر سکتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - اسمارٹ فون 1

پروجیکٹ_8_آؤٹ پٹ_اسٹیٹ_سائیکرونائزیشن_ Web_سرور

یہ پروجیکٹ دکھاتا ہے کہ ای ایس پی 32 یا ای ایس پی 8266 آؤٹ پٹس کو کس طرح کنٹرول کرنا ہے۔ web سرور اور ایک جسمانی بٹن بیک وقت۔ آؤٹ پٹ اسٹیٹ کو اپ ڈیٹ کیا جاتا ہے۔ web صفحہ چاہے اسے فزیکل بٹن کے ذریعے تبدیل کیا گیا ہو یا web سرور
پروجیکٹ ختمview
آئیے اس پر ایک سرسری نظر ڈالتے ہیں کہ پروجیکٹ کیسے کام کرتا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - پروجیکٹ ختمviewESP32 یا ESP8266 میزبانی کرتا ہے۔ web سرور جو آپ کو آؤٹ پٹ کی حالت کو کنٹرول کرنے کی اجازت دیتا ہے۔

  • موجودہ آؤٹ پٹ اسٹیٹ پر ظاہر ہوتا ہے۔ web سرور
  • ESP ایک فزیکل پش بٹن سے بھی جڑا ہوا ہے جو اسی آؤٹ پٹ کو کنٹرول کرتا ہے۔
  • اگر آپ فزیکل puhsbutton کا استعمال کرتے ہوئے آؤٹ پٹ سٹیٹ کو تبدیل کرتے ہیں، تو اس کی موجودہ حالت کو بھی اپ ڈیٹ کر دیا جاتا ہے۔ web سرور

خلاصہ یہ کہ یہ پروجیکٹ آپ کو ایک کا استعمال کرتے ہوئے اسی آؤٹ پٹ کو کنٹرول کرنے کی اجازت دیتا ہے۔ web سرور اور ایک پش بٹن بیک وقت۔ جب بھی آؤٹ پٹ کی حالت بدلتی ہے، web سرور کو اپ ڈیٹ کیا گیا ہے۔
حصوں کی ضرورت ہے
یہاں حصوں کی ایک فہرست ہے جو آپ کو سرکٹ بنانے کی ضرورت ہے:

  • ESP32 DEVKIT V1 بورڈ
  • 5 ملی میٹر ایل ای ڈی
  • 220 اوہم ریزسٹر
  • دبانے والا بٹن
  • 10k اوہم ریزسٹر
  • بریڈ بورڈ
  • جمپر تاریں۔

یوجنابدقLAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹک 1ESP32 کے لیے لائبریری کی تنصیب
اس کی تعمیر کے لیے web سرور، ہم ESPAsync استعمال کرتے ہیں۔Webسرور لائبریری اور AsyncTCP لائبریری۔ (اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
ESPAsync انسٹال کرناWebسرور لائبریری
ESPAsync انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں۔Webسرور لائبریری:

  1. ESPAsync ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔Webسرور لائبریری۔ آپ کو ہونا چاہئے
    آپ کے ڈاؤن لوڈز فولڈر میں زپ فولڈر
  2. .zip فولڈر کو ان زپ کریں اور آپ کو ESPAsync ملنا چاہیے۔Webسرور-ماسٹر فولڈر
  3. ESPAsync سے اپنے فولڈر کا نام تبدیل کریں۔WebESPAsync کے لیے سرور-ماسٹرWebسرور
  4. ESPAsync کو منتقل کریں۔Webآپ کے Arduino IDE انسٹالیشن لائبریریوں کے فولڈر میں سرور فولڈر
    متبادل طور پر، اپنے Arduino IDE میں، آپ Sketch > Include پر جا سکتے ہیں۔
    لائبریری > .ZIP لائبریری شامل کریں… اور وہ لائبریری منتخب کریں جسے آپ نے ابھی ڈاؤن لوڈ کیا ہے۔

ESP32 کے لیے AsyncTCP لائبریری کو انسٹال کرنا
ESPAsyncWebسرور لائبریری کو کام کرنے کے لیے AsyncTCP لائبریری کی ضرورت ہوتی ہے۔ اس لائبریری کو انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں:

  1. AsyncTCP لائبریری کو ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔ آپ کو اپنے ڈاؤن لوڈز فولڈر میں .zip فولڈر ہونا چاہیے۔
  2. زپ فولڈر کو ان زپ کریں اور آپ کو AsyncTCP-master فولڈر ملنا چاہیے۔
  3. اپنے فولڈر کا نام AsyncTCP-master سے AsyncTCP رکھ دیں۔
  4. AsyncTCP فولڈر کو اپنے Arduino IDE انسٹالیشن لائبریری فولڈر میں منتقل کریں۔
  5. آخر میں، اپنا Arduino IDE دوبارہ کھولیں۔
    متبادل طور پر، اپنے Arduino IDE میں، آپ Sketch > Include پر جا سکتے ہیں۔
    لائبریری > .ZIP لائبریری شامل کریں… اور وہ لائبریری منتخب کریں جسے آپ نے ابھی ڈاؤن لوڈ کیا ہے۔

کوڈ
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے:(اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
مطلوبہ لائبریریوں کو انسٹال کرنے کے بعد، کوڈ کو کھولیں۔
پروجیکٹ_8_آؤٹ پٹ_اسٹیٹ_سائیکرونائزیشن_Webarduino IDE میں _Server.ino۔
کوڈ اپ لوڈ کرنے سے پہلے، اپنے نیٹ ورک کی اسناد داخل کرنا نہ بھولیں تاکہ ESP آپ کے مقامی نیٹ ورک سے منسلک ہو سکے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ

کوڈ کیسے کام کرتا ہے۔

بٹن اسٹیٹ اور آؤٹ پٹ اسٹیٹ
ledState متغیر ایل ای ڈی آؤٹ پٹ سٹیٹ رکھتا ہے۔ پہلے سے طے شدہ طور پر، جب web سرور شروع ہوتا ہے، یہ کم ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ کام کرتا ہے۔

بٹن اسٹیٹ اور لاسٹ بٹن اسٹیٹ کا استعمال اس بات کا پتہ لگانے کے لیے کیا جاتا ہے کہ آیا پش بٹن دبایا گیا تھا یا نہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - دبایا گیا تھا۔بٹن (web سرور)
ہم نے index_html متغیر پر بٹن بنانے کے لیے HTML کو شامل نہیں کیا۔
اس کی وجہ یہ ہے کہ ہم اسے موجودہ ایل ای ڈی حالت کے لحاظ سے تبدیل کرنے کے قابل ہونا چاہتے ہیں جسے پش بٹن سے بھی تبدیل کیا جا سکتا ہے۔
لہذا، ہم نے بٹن %BUTTONPLACEHOLDER% کے لیے ایک پلیس ہولڈر بنایا ہے جسے بعد میں کوڈ پر بٹن بنانے کے لیے HTML متن سے بدل دیا جائے گا (یہ پروسیسر() فنکشن میں ہوتا ہے)۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - 1 دبایا گیا تھا۔پروسیسر()
پروسیسر() فنکشن ایچ ٹی ایم ایل ٹیکسٹ پر کسی بھی پلیس ہولڈر کو حقیقی قدروں سے بدل دیتا ہے۔ سب سے پہلے، یہ چیک کرتا ہے کہ آیا ایچ ٹی ایم ایل کے متن میں کوئی ہے یا نہیں۔
پلیس ہولڈرز %BUTTONPLACEHOLDER%۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - پروسیسرپھر، theoutputState() فنکشن کو کال کریں جو موجودہ آؤٹ پٹ اسٹیٹ کو لوٹاتا ہے۔ ہم اسے outputStateValue متغیر میں محفوظ کرتے ہیں۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - آؤٹ پٹ اسٹیٹاس کے بعد، صحیح حالت کے ساتھ بٹن کو ظاہر کرنے کے لیے HTML ٹیکسٹ بنانے کے لیے اس قدر کا استعمال کریں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 4HTTP GET آؤٹ پٹ اسٹیٹ کو تبدیل کرنے کی درخواست (جاوا اسکرپٹ)
جب آپ بٹن دباتے ہیں، تو ٹوگل چیک باکس() فنکشن کہا جاتا ہے۔ یہ فنکشن مختلف پر درخواست کرے گا۔ URLایل ای ڈی کو آن یا آف کرنے کے لیے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - جاوا اسکرپٹایل ای ڈی کو آن کرنے کے لیے، یہ /update?state=1 پر درخواست کرتا ہے۔ URL:LAFVIN ESP32 بنیادی سٹارٹر کٹ - element.checkedبصورت دیگر، یہ /update?state=0 پر درخواست کرتا ہے۔ URL.
اسٹیٹ کو اپ ڈیٹ کرنے کے لیے HTTP GET درخواست (جاوا اسکرپٹ)
پر آؤٹ پٹ اسٹیٹ کو اپ ڈیٹ رکھنے کے لیے web سرور، ہم مندرجہ ذیل فنکشن کو کال کرتے ہیں جو /state پر نئی درخواست کرتا ہے۔ URL ہر سیکنڈLAFVIN ESP32 بنیادی اسٹارٹر کٹ - اپ ڈیٹ اسٹیٹLAFVIN ESP32 بنیادی سٹارٹر کٹ - اپ ڈیٹ اسٹیٹ 1درخواستوں کو ہینڈل کریں۔
پھر، ہمیں یہ سنبھالنے کی ضرورت ہے کہ جب ESP32 یا ESP8266 کو ان پر درخواستیں موصول ہوتی ہیں URLs.
جب روٹ پر درخواست موصول ہوتی ہے /URL، ہم HTML صفحہ کے ساتھ ساتھ پروسیسر بھیجتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - درخواستوں کو ہینڈل کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ہینڈل درخواستیں 1درج ذیل سطریں چیک کرتی ہیں کہ آیا آپ کو /update?state=1 یا /update?state=0 پر کوئی درخواست موصول ہوئی ہے۔ URL اور اس کے مطابق ledState کو تبدیل کرتا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ledStateLAFVIN ESP32 بنیادی سٹارٹر کٹ - inputParamجب /state پر درخواست موصول ہوتی ہے۔ URL، ہم موجودہ آؤٹ پٹ حالت بھیجتے ہیں:LAFVIN ESP32 بنیادی اسٹارٹر کٹ - آؤٹ پٹ اسٹیٹلوپ()
لوپ() میں، ہم پش بٹن کو ڈیباؤنس کرتے ہیں اور ledState کی قدر کے لحاظ سے LED کو آن یا آف کرتے ہیں۔ متغیرLAFVIN ESP32 بنیادی سٹارٹر کٹ - لوپ 1مظاہرہ
کوڈ کو اپنے ESP32 بورڈ پر اپ لوڈ کریں۔ کوڈ کے حوالے کے مراحل کو اپ لوڈ کریں۔
پھر، 115200 کے باؤڈ ریٹ پر سیریل مانیٹر کھولیں۔ IP ایڈریس حاصل کرنے کے لیے آن بورڈ EN/RST بٹن کو دبائیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مظاہرہاپنے مقامی نیٹ ورک پر ایک براؤزر کھولیں، اور ESP IP ایڈریس ٹائپ کریں۔ آپ کو تک رسائی حاصل ہونی چاہئے۔ web سرور جیسا کہ ذیل میں دکھایا گیا ہے۔
نوٹ: آپ کا براؤزر اور ESP32 ایک ہی LAN سے منسلک ہونا چاہیے۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - براؤزرآپ بٹن کو ٹوگل کر سکتے ہیں۔ web ایل ای ڈی کو آن کرنے کے لیے سرور۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - web 1 سرورآپ اسی ایل ای ڈی کو فزیکل پش بٹن سے بھی کنٹرول کر سکتے ہیں۔ اس کی حالت ہمیشہ پر خود بخود اپ ڈیٹ ہوجائے گی۔ web سرور

پروجیکٹ 9 ESP32 DHT11 Web سرور

اس پروجیکٹ میں، آپ سیکھیں گے کہ ایک غیر مطابقت پذیر ESP32 کیسے بنایا جائے۔ web DHT11 والا سرور جو Arduino IDE کا استعمال کرتے ہوئے درجہ حرارت اور نمی دکھاتا ہے۔
شرطیں
دی web سرور کو ریفریش کرنے کی ضرورت کے بغیر ہم خود بخود ریڈنگ کو اپ ڈیٹ کریں گے۔ web صفحہ
اس منصوبے کے ساتھ آپ سیکھیں گے:

  • DHT سینسر سے درجہ حرارت اور نمی کیسے پڑھیں؛
  • ایک غیر مطابقت پذیر بنائیں web سرور کا استعمال کرتے ہوئے ESPAsyncWebسرور لائبریری;
  • سینسر ریڈنگ کو ریفریش کیے بغیر خود بخود اپ ڈیٹ کریں۔ web صفحہ

غیر مطابقت پذیر Web سرور
کی تعمیر کے لئے web سرور ہم استعمال کریں گے۔ ESPAsyncWebسرور لائبریری جو ایک غیر مطابقت پذیر بنانے کا ایک آسان طریقہ فراہم کرتا ہے۔ web سرور ایک متضاد تعمیر کرنا web سرور کے پاس کئی ایڈون ہیں۔tages جیسا کہ لائبریری GitHub صفحہ میں ذکر کیا گیا ہے، جیسے:

  • "ایک ہی وقت میں ایک سے زیادہ کنکشن ہینڈل کریں"؛
  • "جب آپ جواب بھیجتے ہیں، تو آپ فوری طور پر دوسرے کنکشنز کو سنبھالنے کے لیے تیار ہوتے ہیں جب کہ سرور پس منظر میں جواب بھیجنے کا خیال رکھتا ہے"؛
  • "سادہ ٹیمپلیٹ پروسیسنگ انجن ٹیمپلیٹس کو ہینڈل کرنے کے لیے"؛

حصوں کی ضرورت ہے
اس ٹیوٹوریل کو مکمل کرنے کے لیے آپ کو درج ذیل حصوں کی ضرورت ہے:

  • ESP32 ترقیاتی بورڈ
  • ڈی ایچ ٹی 11 ماڈیول
  • بریڈ بورڈ
  • جمپر تاریں۔

یوجنابدقLAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹک 2لائبریریوں کی تنصیب
آپ کو اس پروجیکٹ کے لیے کچھ لائبریریاں انسٹال کرنے کی ضرورت ہے:

ڈی ایچ ٹی سینسر لائبریری کی تنصیب
Arduino IDE کا استعمال کرتے ہوئے DHT سینسر سے پڑھنے کے لیے، آپ کو انسٹال کرنے کی ضرورت ہے۔ ڈی ایچ ٹی سینسر لائبریری. لائبریری کو انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں۔

  1. DHT سینسر لائبریری کو ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔ آپ کو اپنے ڈاؤن لوڈز فولڈر میں .zip فولڈر ہونا چاہیے۔
  2. زپ فولڈر کو ان زپ کریں اور آپ کو DHT-sensor-library-master فولڈر ملنا چاہیے۔
  3. اپنے فولڈر کا نام DHT-sensor-library-master سے DHT_sensor میں تبدیل کریں۔
  4. DHT_sensor فولڈر کو اپنے Arduino IDE انسٹالیشن لائبریری فولڈر میں منتقل کریں۔
  5. آخر میں، اپنا Arduino IDE دوبارہ کھولیں۔

Adafruit یونیفائیڈ سینسر ڈرائیور کو انسٹال کرنا
آپ کو بھی انسٹال کرنے کی ضرورت ہے۔ Adafruit یونیفائیڈ سینسر ڈرائیور لائبریری DHT سینسر کے ساتھ کام کرنا۔ لائبریری کو انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں۔

  1. Adafruit Unified Sensor لائبریری کو ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔ آپ کو اپنے ڈاؤن لوڈز فولڈر میں .zip فولڈر ہونا چاہیے۔
  2. زپ فولڈر کو ان زپ کریں اور آپ کو Adafruit_sensor-master فولڈر ملنا چاہیے۔
  3. اپنے فولڈر کا نام Adafruit_sensor-master سے Adafruit_sensor میں تبدیل کریں۔
  4. Adafruit_sensor فولڈر کو اپنے Arduino IDE انسٹالیشن لائبریری فولڈر میں منتقل کریں۔
  5. آخر میں، اپنا Arduino IDE دوبارہ کھولیں۔

ESPAsync انسٹال کرناWebسرور لائبریری

انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں۔ ESPAsyncWebسرور لائبریری:

  1. ESPAsync ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔Webسرور لائبریری۔ آپ کو ہونا چاہئے
    آپ کے ڈاؤن لوڈز فولڈر میں زپ فولڈر
  2. زپ فولڈر کو ان زپ کریں اور آپ کو کرنا چاہئے۔
    ESPAsync حاصل کریں۔Webسرور-ماسٹر فولڈر
  3. ESPAsync سے اپنے فولڈر کا نام تبدیل کریں۔WebESPAsync کے لیے سرور-ماسٹرWebسرور
  4. ESPAsync کو منتقل کریں۔Webآپ کے Arduino IDE انسٹالیشن لائبریریوں کے فولڈر میں سرور فولڈر

ESP32 کے لیے Async TCP لائبریری کو انسٹال کرنا
دی ESPAsyncWebسرور لائبریری کی ضرورت ہے۔ AsyncTCP کام کرنے کے لئے لائبریری. اس لائبریری کو انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں:

  1. AsyncTCP لائبریری کو ڈاؤن لوڈ کرنے کے لیے یہاں کلک کریں۔ آپ کو اپنے ڈاؤن لوڈز فولڈر میں .zip فولڈر ہونا چاہیے۔
  2. زپ فولڈر کو ان زپ کریں اور آپ کو AsyncTCP-master فولڈر ملنا چاہیے۔
  3. اپنے فولڈر کا نام AsyncTCP-master سے AsyncTCP رکھ دیں۔
  4. AsyncTCP فولڈر کو اپنے Arduino IDE انسٹالیشن لائبریری فولڈر میں منتقل کریں۔
  5. آخر میں، اپنا Arduino IDE دوبارہ کھولیں۔

کوڈ
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے:(اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
Arduino IDE میں ESP32 ایڈ آن انسٹال کرنا
مطلوبہ لائبریریوں کو انسٹال کرنے کے بعد، کوڈ کو کھولیں۔
پروجیکٹ_9_ESP32_DHT11_Webarduino IDE میں _Server.ino۔
کوڈ اپ لوڈ کرنے سے پہلے، اپنے نیٹ ورک کی اسناد داخل کرنا نہ بھولیں تاکہ ESP آپ کے مقامی نیٹ ورک سے منسلک ہو سکے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈکوڈ کیسے کام کرتا ہے۔
مندرجہ ذیل پیراگراف میں ہم وضاحت کریں گے کہ کوڈ کیسے کام کرتا ہے۔ اگر آپ مزید جاننا چاہتے ہیں تو پڑھتے رہیں یا حتمی نتیجہ دیکھنے کے لیے ڈیموسٹریشن سیکشن پر جائیں۔
لائبریریاں درآمد کرنا
پہلے، مطلوبہ لائبریریاں درآمد کریں۔ وائی ​​فائی، ESPAsyncWebبنانے کے لیے سرور اور ESPAsyncTCP کی ضرورت ہے۔ web سرور Adafruit_Sensor اور DHT لائبریریوں کو DHT11 یا DHT22 سینسر سے پڑھنے کی ضرورت ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - لائبریریوں کو درآمد کرناLAFVIN ESP32 بنیادی اسٹارٹر کٹ - کوڈ کیسے کام کرتا ہے۔متغیرات کی تعریف
GPIO کی وضاحت کریں جس سے DHT ڈیٹا پن منسلک ہے۔ اس صورت میں، یہ GPIO 4 سے منسلک ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متغیرات کی تعریفپھر، DHT سینسر کی قسم منتخب کریں جسے آپ استعمال کر رہے ہیں۔ ہمارے سابق میںampلی، ہم DHT22 استعمال کر رہے ہیں۔ اگر آپ کسی اور قسم کا استعمال کر رہے ہیں، تو آپ کو صرف اپنے سینسر کو غیر تبصرہ کرنے اور باقی سبھی پر تبصرہ کرنے کی ضرورت ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متغیرات کی تعریف 1

DHT آبجیکٹ کو اس قسم اور پن کے ساتھ انسٹینٹیٹ کریں جس کی ہم نے پہلے وضاحت کی ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متغیرات کی تعریف 2ایک Async بنائیںWebپورٹ 80 پر سرور آبجیکٹ۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - متغیرات کی تعریف 3درجہ حرارت اور نمی کے افعال پڑھیں
ہم نے دو فنکشن بنائے ہیں: ایک درجہ حرارت کو پڑھنے کے لیے ہم نے دو فنکشن بنائے ہیں: ایک درجہ حرارت کو پڑھنے کے لیے (readDHTTemperature()) اور دوسرا نمی کو پڑھنا (readDHTHumidity())۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - readDHTHhumidityLAFVIN ESP32 بنیادی اسٹارٹر کٹ - سینسر ریڈنگسینسر ریڈنگ حاصل کرنا اتنا ہی آسان ہے جتنا کہ سینسر ریڈنگ حاصل کرنا اتنا ہی آسان ہے جتنا dht آبجیکٹ پر readTemperature() اور readHumidity() طریقے استعمال کرنا۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - آبجیکٹہمارے پاس ایک شرط بھی ہے جو سنسر ریڈنگ حاصل کرنے میں ناکام ہونے کی صورت میں دو ڈیش (–) لوٹاتا ہے۔LAFVIN ESP32 بنیادی اسٹارٹر کٹ - ریڈنگریڈنگ کو سٹرنگ ٹائپ کے طور پر واپس کیا جاتا ہے۔ فلوٹ کو سٹرنگ میں تبدیل کرنے کے لیے، String() فنکشن استعمال کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - سٹرنگپہلے سے طے شدہ طور پر، ہم درجہ حرارت کو سیلسیس ڈگری میں پڑھ رہے ہیں۔ فارن ہائیٹ ڈگری میں درجہ حرارت حاصل کرنے کے لیے، سیلسیس میں درجہ حرارت پر تبصرہ کریں اور فارن ہائیٹ میں درجہ حرارت کو غیر کمنٹ کریں، تاکہ آپ کے پاس درج ذیل چیزیں ہوں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - فارن ہائیٹLAFVIN ESP32 بنیادی سٹارٹر کٹ - فارن ہائیٹ 1کوڈ اپ لوڈ کریں۔
اب، اپنے ESP32 پر کوڈ اپ لوڈ کریں۔ یقینی بنائیں کہ آپ نے صحیح بورڈ اور COM پورٹ کا انتخاب کیا ہے۔ کوڈ ریفرنس کے مراحل کو اپ لوڈ کریں۔
اپ لوڈ کرنے کے بعد، 115200 کے باؤڈ ریٹ پر سیریل مانیٹر کھولیں۔ ESP32 ری سیٹ بٹن دبائیں۔ ESP32 آئی پی ایڈریس سیریل میں پرنٹ کیا جانا چاہئے مانیٹرLAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ اپ لوڈ کریں۔مظاہرہ
ایک براؤزر کھولیں اور ESP32 IP ایڈریس ٹائپ کریں۔ آپ کا web سرور کو تازہ ترین سینسر ریڈنگ دکھانی چاہیے۔
نوٹ: آپ کا براؤزر اور ESP32 ایک ہی LAN سے منسلک ہونا چاہیے۔
نوٹ کریں کہ درجہ حرارت اور نمی کی ریڈنگز کو ریفریش کرنے کی ضرورت کے بغیر خود بخود اپ ڈیٹ ہوجاتا ہے۔ web صفحہLAFVIN ESP32 بنیادی سٹارٹر کٹ - مظاہرہ 1

پروجیکٹ_10_ESP32_OLED_Display

یہ پروجیکٹ دکھاتا ہے کہ Arduino IDE کا استعمال کرتے ہوئے ESP0.96 کے ساتھ 1306 انچ SSD32 OLED ڈسپلے کا استعمال کیسے کریں۔
0.96 انچ OLED ڈسپلے پیش کر رہا ہے۔
دی OLED ڈسپلے جسے ہم اس ٹیوٹوریل میں استعمال کریں گے وہ SSD1306 ماڈل ہے: ایک مونو کلر، 0.96 انچ ڈسپلے 128×64 پکسلز کے ساتھ جیسا کہ درج ذیل تصویر میں دکھایا گیا ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - OLEDDisplayOLED ڈسپلے کو بیک لائٹ کی ضرورت نہیں ہوتی ہے، جس کے نتیجے میں تاریک ماحول میں بہت اچھا کنٹراسٹ ہوتا ہے۔ مزید برآں، اس کے پکسلز توانائی صرف اس وقت استعمال کرتے ہیں جب وہ آن ہوتے ہیں، اس لیے OLED ڈسپلے دیگر ڈسپلے کے مقابلے میں کم پاور استعمال کرتا ہے۔
چونکہ OLED ڈسپلے I2C کمیونیکیشن پروٹوکول کا استعمال کرتا ہے، وائرنگ بہت آسان ہے۔ آپ درج ذیل جدول کو بطور حوالہ استعمال کر سکتے ہیں۔

OLED پن ESP32
ون 3.3V
جی این ڈی جی این ڈی
ایس سی ایل جی پی آئی او 22
ایس ڈی اے جی پی آئی او 21

یوجنابدقLAFVIN ESP32 بنیادی سٹارٹر کٹ - اسکیمیٹکSSD1306 OLED لائبریری - ESP32 انسٹال کرنا
ESP32 کے ساتھ OLED ڈسپلے کو کنٹرول کرنے کے لیے کئی لائبریریاں دستیاب ہیں۔
اس ٹیوٹوریل میں ہم دو Adafruit لائبریریوں کا استعمال کریں گے: Adafruit_SSD1306 لائبریری اور Adafruit_GFX لائبریری.
ان لائبریریوں کو انسٹال کرنے کے لیے اگلے مراحل پر عمل کریں۔

  1. اپنا Arduino IDE کھولیں اور Sketch > Include Library > Manage Library پر جائیں۔ لائبریری مینیجر کو کھولنا چاہیے۔
  2. سرچ باکس میں "SSD1306" ٹائپ کریں اور Adafruit سے SSD1306 لائبریری انسٹال کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - OLEDLibrary-
  3. Adafruit سے SSD1306 لائبریری انسٹال کرنے کے بعد، سرچ باکس میں "GFX" ٹائپ کریں اور لائبریری انسٹال کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - لائبریری
  4. لائبریریوں کو انسٹال کرنے کے بعد، اپنے Arduino IDE کو دوبارہ شروع کریں۔

کوڈ
مطلوبہ لائبریریوں کو انسٹال کرنے کے بعد، arduino IDE میں Project_10_ESP32_OLED_Display.ino کھولیں۔ کوڈ
ہم ESP32 کو Arduino IDE کا استعمال کرتے ہوئے پروگرام کریں گے، اس لیے آگے بڑھنے سے پہلے یقینی بنائیں کہ آپ کے پاس ESP32 ایڈ آن انسٹال ہے: (اگر آپ یہ مرحلہ پہلے ہی کر چکے ہیں، تو آپ اگلے مرحلے پر جا سکتے ہیں۔)
Arduino IDE میں ESP32 ایڈ آن انسٹال کرناLAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 1LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 2LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 3کوڈ کیسے کام کرتا ہے۔
لائبریریاں درآمد کرنا
سب سے پہلے، آپ کو ضروری لائبریریوں کو درآمد کرنے کی ضرورت ہے. I2C استعمال کرنے کے لیے وائر لائبریری اور ڈسپلے پر لکھنے کے لیے Adafruit لائبریری: Adafruit_GFX اور Adafruit_SSD1306۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ ورکس 1LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ ورکس 2OLED ڈسپلے شروع کریں۔
پھر، آپ اپنی OLED چوڑائی اور اونچائی کی وضاحت کرتے ہیں۔ اس میں سابقampلی، ہم 128×64 OLED ڈسپلے استعمال کر رہے ہیں۔ اگر آپ دوسرے سائز استعمال کر رہے ہیں، تو آپ اسے SCREEN_WIDTH، اور SCREEN_HEIGHT متغیرات میں تبدیل کر سکتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - OLED ڈسپلےپھر، I2C کمیونیکیشن پروٹوکول (&Wire) کے ساتھ پہلے بیان کردہ چوڑائی اور اونچائی کے ساتھ ڈسپلے آبجیکٹ کو شروع کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مواصلاتی پروٹوکول(-1) پیرامیٹر کا مطلب ہے کہ آپ کے OLED ڈسپلے میں RESET پن نہیں ہے۔ اگر آپ کے OLED ڈسپلے میں RESET پن ہے، تو اسے GPIO سے منسلک ہونا چاہیے۔ اس صورت میں، آپ کو پیرامیٹر کے طور پر GPIO نمبر پاس کرنا چاہیے۔
سیٹ اپ () میں، ڈیبگنگ کے مقاصد کے لیے سیریل مانیٹر کو 115200 کے باؤڈ راؤٹ پر شروع کریں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - مقاصدOLED ڈسپلے کو start() طریقہ کے ساتھ درج ذیل کریں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - display.beginLAFVIN ESP32 بنیادی سٹارٹر کٹ - Serial.printlnیہ ٹکڑا سیریل مانیٹر پر ایک پیغام بھی پرنٹ کرتا ہے، اگر ہم ڈسپلے سے منسلک نہیں ہو پاتے ہیں۔

LAFVIN ESP32 بنیادی سٹارٹر کٹ - Serial.println 1اگر آپ مختلف OLED ڈسپلے استعمال کر رہے ہیں، تو آپ کو OLED ایڈریس تبدیل کرنے کی ضرورت پڑ سکتی ہے۔ ہمارے معاملے میں، پتہ 0x3C ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - پتہڈسپلے شروع کرنے کے بعد، دو سیکنڈ کی تاخیر شامل کریں، تاکہ OLED کے پاس متن لکھنے سے پہلے شروع کرنے کے لیے کافی وقت ہو:LAFVIN ESP32 بنیادی سٹارٹر کٹ - تاخیرڈسپلے صاف کریں، فونٹ کا سائز، رنگ سیٹ کریں اور متن لکھیں۔
ڈسپلے کو شروع کرنے کے بعد، clearDisplay() طریقہ سے ڈسپلے بفر کو صاف کریں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - ڈسپلے

متن لکھنے سے پہلے، آپ کو متن کا سائز، رنگ اور OLED میں متن کو کہاں ظاہر کیا جائے گا، سیٹ کرنا ہوگا۔
setTextSize() طریقہ استعمال کرکے فونٹ کا سائز سیٹ کریں:LAFVIN ESP32 بنیادی سٹارٹر کٹ - ڈسپلے 1فونٹ کا رنگ setTextColor() طریقہ سے سیٹ کریں:
WHITE سفید فونٹ اور سیاہ پس منظر سیٹ کرتا ہے۔
اس پوزیشن کی وضاحت کریں جہاں سیٹ کرسر(x،y) طریقہ استعمال کرتے ہوئے متن شروع ہوتا ہے۔ اس صورت میں، ہم متن کو (0,0) کوآرڈینیٹس سے شروع کرنے کے لیے سیٹ کر رہے ہیں – اوپر بائیں کونے میں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - setTextColor 1آخر میں، آپ مندرجہ ذیل کے طور پر، println() طریقہ استعمال کرتے ہوئے متن کو ڈسپلے پر بھیج سکتے ہیں۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - کوڈ 5اس کے بعد، آپ کو سکرین پر ٹیکسٹ ظاہر کرنے کے لیے display() طریقہ کو کال کرنے کی ضرورت ہے۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - ڈسپلے

Adafruit OLED لائبریری متن کو آسانی سے سکرول کرنے کے لیے مفید طریقے فراہم کرتی ہے۔

  • startscrollright(0x00, 0x0F): متن کو بائیں سے دائیں سکرول کریں۔
  • startscrollleft(0x00, 0x0F): متن کو دائیں سے بائیں سکرول کریں۔
  • startscrolldiagright(0x00, 0x07): بائیں نیچے کونے سے دائیں اوپری کونے تک اسکرول ٹیکسٹ startscrolldiagleft(0x00, 0x07): دائیں نیچے کونے سے بائیں اوپری کونے تک اسکرول ٹیکسٹ

کوڈ اپ لوڈ کریں۔
اب، کوڈ کو اپنے ESP32 پر اپ لوڈ کریں۔ کوڈ ریفرنس کے مراحل کو اپ لوڈ کریں۔
کوڈ اپ لوڈ کرنے کے بعد، OLED سکرولنگ ٹیکسٹ ڈسپلے کرے گا۔LAFVIN ESP32 بنیادی سٹارٹر کٹ - سکرولنگ ٹیکسٹLAFVIN لوگو

دستاویزات / وسائل

LAFVIN ESP32 بنیادی سٹارٹر کٹ [پی ڈی ایف] ہدایات دستی
ESP32 بنیادی سٹارٹر کٹ، ESP32، بنیادی سٹارٹر کٹ، سٹارٹر کٹ

حوالہ جات

ایک تبصرہ چھوڑیں۔

آپ کا ای میل پتہ شائع نہیں کیا جائے گا۔ مطلوبہ فیلڈز نشان زد ہیں۔ *