LAFVIN لوگوESP32 بنيادي اسٽارٽر
کٽ

پيڪنگ جي فهرست

LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پيڪنگ لسٽ

ESP32 جو تعارف

ESP32 ۾ نوان آهيو؟ هتي شروع ڪريو! ESP32 ايسپريسف پاران تيار ڪيل گهٽ قيمت ۽ گهٽ طاقت واري سسٽم آن اي چپ (SoC) مائڪرو ڪنٽرولرز جو هڪ سلسلو آهي جنهن ۾ وائي فائي ۽ بلوٽوٿ وائرليس صلاحيتون ۽ ڊبل ڪور پروسيسر شامل آهن. جيڪڏهن توهان ESP8266 کان واقف آهيو، ته ESP32 ان جو جانشين آهي، جيڪو ڪيترن ئي نون خاصيتن سان ڀريل آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ESP32 تعارفESP32 وضاحتون
جيڪڏهن توهان ٿورو وڌيڪ ٽيڪنيڪل ۽ مخصوص حاصل ڪرڻ چاهيو ٿا، ته توهان ESP32 جي هيٺ ڏنل تفصيلي وضاحتن تي هڪ نظر وجهي سگهو ٿا (ذريعو: http://esp32.net/) - وڌيڪ تفصيل لاءِ، ڊيٽا شيٽ چيڪ ڪريو):

  • وائرليس ڪنيڪٽوٽي وائي فائي: HT150.0 سان 40 Mbps ڊيٽا جي شرح
  • بلوٽوٿ: BLE (بلوٽوٿ گھٽ توانائي) ۽ بلوٽوٿ ڪلاسڪ
  • پروسيسر: ٽينسيليڪا ايڪسٽينسا ڊول-ڪور 32-بٽ LX6 مائڪرو پروسيسر، 160 يا 240 ميگا هرٽز تي هلندڙ
  • ياداشت:
  • روم: 448 KB (بوٽنگ ۽ ڪور ڪمن لاءِ)
  • ايس آر اي ايم: 520 ڪي بي (ڊيٽا ۽ هدايتن لاءِ)
  • آر ٽي سي فاس ايس آر اي ايم: 8 ڪي بي (ڊيپ سليپ موڊ مان آر ٽي سي بوٽ دوران ڊيٽا اسٽوريج ۽ مکيه سي پي يو لاءِ)
  • آر ٽي سي سست ايس آر اي ايم: 8 ڪي بي (ڊيپ سليپ موڊ دوران ڪو پروسيسر تائين رسائي لاءِ) اي فيوز: 1 ڪي بيٽ (جن مان 256 بِٽ سسٽم لاءِ استعمال ڪيا ويا آهن (ايم اي سي ايڊريس ۽ چپ ڪنفيگريشن) ۽ باقي 768 بِٽ ڪسٽمر ايپليڪيشنن لاءِ محفوظ آهن، جن ۾ فليش انڪرپشن ۽ چپ آئي ڊي شامل آهن)

ايمبيڊڊ فليش: فليش اندروني طور تي 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 ڪنورشن استعمال ڪري سگهو ٿا، مثال طورampلي، گهري ننڊ دوران.
پردي جي ان پٽ/آئوٽ پُٽ:

  • ڊي ايم اي سان پردي جو انٽرفيس جنهن ۾ ڪيپيسٽو ٽچ شامل آهي
  • ADCs (اينالاگ کان ڊجيٽل ڪنورٽر)
  • ڊي اي سي (ڊجيٽل کان اينالاگ ڪنورٽر)
  • 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 MHz تائين
رام 512 KB
پنن 30 (ماڊل تي منحصر)
پردي ڪيپيسٽو ٽچ، اي ڊي سي (اينالاگ کان ڊجيٽل ڪنورٽر)، ڊي اي سي (ڊجيٽل کان اينالاگ ڪنورٽر)، 12 سي (انٽر-انٽيگريٽيڊ سرڪٽ)، يو اي آر ٽي (يونيورسل ايسينڪرونس رسيور/ٽرانسميٽر)، سي اين 2.0 (ڪنٽرولر ايريا نيٽ ورڪ)، ايس پي آءِ (سيريل پيريفرل انٽرفيس)، 12 ايس (انٽيگريٽيڊ انٽر-آئي سي)
آواز)، RMII (گهٽايل ميڊيا-آزاد انٽرفيس)، PWM (پلس ويڊٿ ماڊوليشن)، ۽ وڌيڪ.
بلٽ ان بٽڻ ري سيٽ ۽ بوٽ بٽڻ
بلٽ ان ايل اي ڊيز بلٽ ان نيرو ايل اي ڊي GPIO2 سان ڳنڍيل آهي؛ بلٽ ان ڳاڙهي ايل اي ڊي جيڪا ڏيکاري ٿي ته بورڊ کي طاقت ڏني پئي وڃي.
USB کان UART
پل
سي پي 2102

LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ESP32 DEVKITاهو هڪ مائڪرو يو ايس بي انٽرفيس سان گڏ اچي ٿو جيڪو توهان ڪوڊ اپلوڊ ڪرڻ يا پاور لاڳو ڪرڻ لاءِ بورڊ کي پنهنجي ڪمپيوٽر سان ڳنڍڻ لاءِ استعمال ڪري سگهو ٿا.
اهو CP2102 چپ (USB کان UART) استعمال ڪري ٿو جيڪو توهان جي ڪمپيوٽر سان COM پورٽ ذريعي سيريل انٽرفيس استعمال ڪندي رابطو ڪري ٿو. هڪ ٻيو مشهور چپ CH340 آهي. چيڪ ڪريو ته توهان جي بورڊ تي USB کان UART چپ ڪنورٽر ڇا آهي ڇو ته توهان کي گهربل ڊرائيور انسٽال ڪرڻ جي ضرورت پوندي ته جيئن توهان جو ڪمپيوٽر بورڊ سان رابطو ڪري سگهي (ان بابت وڌيڪ معلومات بعد ۾ هن گائيڊ ۾).
هي بورڊ بورڊ کي ٻيهر شروع ڪرڻ لاءِ هڪ RESET بٽڻ (جنهن کي EN ليبل ڪري سگهجي ٿو) ۽ بورڊ کي فليشنگ موڊ ۾ رکڻ لاءِ هڪ BOOT بٽڻ سان گڏ اچي ٿو (ڪوڊ حاصل ڪرڻ لاءِ دستياب آهي). نوٽ ڪريو ته ڪجهه بورڊن ۾ BOOT بٽڻ نه هوندو.
ان ۾ هڪ بلٽ ان نيرو ايل اي ڊي پڻ شامل آهي جيڪو اندروني طور تي GPIO 2 سان ڳنڍيل آهي. هي ايل اي ڊي ڊيبگنگ لاءِ ڪارآمد آهي ته جيئن ڪنهن قسم جو بصري جسماني آئوٽ پُٽ ڏئي سگهجي. هڪ ڳاڙهي ايل اي ڊي پڻ آهي جيڪا بورڊ کي بجلي فراهم ڪرڻ تي روشن ٿئي ٿي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بورڊESP32 پن آئوٽ
ESP32 پردي ۾ شامل آهن:

  • 18 اينالاگ کان ڊجيٽل ڪنورٽر (ADC) چينلز
  • 3 ايس پي آءِ انٽرفيس
  • 3 UART انٽرفيس
  • 2 I2C انٽرفيس
  • 16 PWM آئوٽ پٽ چينل
  • 2 ڊجيٽل کان اينالاگ ڪنورٽرز (ڊي اي سي)
  • 2 I2S انٽرفيس
  • 10 ڪيپيسٽو سينسنگ GPIOs

ADC (اينالاگ کان ڊجيٽل ڪنورٽر) ۽ DAC (ڊجيٽل کان اينالاگ ڪنورٽر) خاصيتون مخصوص جامد پنن کي تفويض ڪيون ويون آهن. جڏهن ته، توهان فيصلو ڪري سگهو ٿا ته ڪهڙا پن UART، I2C، SPI، PWM، وغيره آهن - توهان کي صرف انهن کي ڪوڊ ۾ تفويض ڪرڻ جي ضرورت آهي. اهو ESP32 چپ جي ملٽي پلڪسنگ خاصيت جي ڪري ممڪن آهي.
جيتوڻيڪ توهان سافٽ ويئر تي پنن جي خاصيتن کي بيان ڪري سگهو ٿا، پر هيٺ ڏنل شڪل ۾ ڏيکاريل پن ڊفالٽ طور تي مقرر ڪيا ويا آهن.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ESP32 پن آئوٽان کان علاوه، اهڙا پن آهن جن ۾ مخصوص خاصيتون آهن جيڪي انهن کي ڪنهن خاص منصوبي لاءِ مناسب يا نه بڻائين ٿيون. هيٺ ڏنل جدول ڏيکاري ٿو ته ڪهڙا پن ان پٽ، آئوٽ پُٽ طور استعمال ڪرڻ لاءِ بهترين آهن ۽ ڪهڙن کي توهان کي محتاط رهڻ جي ضرورت آهي.
سائي رنگ ۾ نمايان ٿيل پن استعمال ڪرڻ لاءِ ٺيڪ آهن. پيلي رنگ ۾ نمايان ٿيل پن استعمال ڪرڻ لاءِ ٺيڪ آهن، پر توهان کي ڌيان ڏيڻ جي ضرورت آهي ڇاڪاڻ ته انهن ۾ خاص طور تي بوٽ تي هڪ غير متوقع رويو ٿي سگهي ٿو. ڳاڙهي رنگ ۾ نمايان ٿيل پنن کي ان پٽ يا آئوٽ پُٽ طور استعمال ڪرڻ جي سفارش نه ڪئي وئي آهي.

جي پي اي او ان پٽ ٻاھر نوٽس
0 مٿي کنيو ويو OK بوٽ تي PWM سگنل آئوٽ پُٽ ڪري ٿو، فليشنگ موڊ ۾ داخل ٿيڻ لاءِ گهٽ هجڻ گهرجي
1 TX پن OK بوٽ تي ڊيبگ آئوٽ پُٽ
2 OK OK آن بورڊ LED سان ڳنڍيل، فليشنگ موڊ ۾ داخل ٿيڻ لاءِ ان کي تري ۾ يا گهٽ رکڻ گهرجي.
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 آهن - صرف ان پٽ پن. انهن پنن ۾ اندروني پل-اپ يا پل-ڊائون ريزسٽر نه آهن. انهن کي آئوٽ پُٽ طور استعمال نٿو ڪري سگهجي، تنهن ڪري انهن پنن کي صرف ان پٽ طور استعمال ڪريو:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

ESP-WROOM-32 تي SPI فليش ضم ٿيل
GPIO 6 کان GPIO 11 تائين ڪجھ ESP32 ڊولپمينٽ بورڊن ۾ بي نقاب ٿيل آهن. جڏهن ته، اهي پن ESP-WROOM-32 چپ تي مربوط SPI فليش سان ڳنڍيل آهن ۽ ٻين استعمالن لاءِ سفارش نه ڪيا ويا آهن. تنهن ڪري، انهن پنن کي پنهنجن منصوبن ۾ استعمال نه ڪريو:

  • جي پي آءِ او 6 (ايس سي ڪي/سي ايل ڪي)
  • جي پي آءِ او 7 (ايس ڊي او/ايس ڊي 0)
  • جي پي آءِ او 8 (ايس ڊي آءِ/ايس ڊي 1)
  • جي پي آءِ او 9 (ايس ايڇ ڊي/ايس ڊي 2)
  • جي پي آءِ او 10 (ايس ڊبليو پي/ايس ڊي 3)
  • جي پي آءِ او 11 (سي ايس سي/سي ايم ڊي)

ڪيپيسٽو ٽچ GPIOs
ESP32 ۾ 10 اندروني ڪيپيسٽو ٽچ سينسر آهن. اهي ڪنهن به شيءِ ۾ تبديلين کي محسوس ڪري سگهن ٿا جيڪو برقي چارج رکي ٿو، جهڙوڪ انساني چمڙي. تنهن ڪري اهي آڱر سان GPIOs کي ڇهڻ وقت پيدا ٿيندڙ تبديلين کي ڳولي سگهن ٿا. انهن پنن کي آساني سان ڪيپيسٽو پيڊ ۾ ضم ڪري سگهجي ٿو ۽ ميڪيڪل بٽڻن کي تبديل ڪري سگهجي ٿو. ڪيپيسٽو ٽچ پنن کي ESP32 کي گهري ننڊ مان جاڳائڻ لاءِ پڻ استعمال ڪري سگهجي ٿو. اهي اندروني ٽچ سينسر انهن GPIOs سان ڳنڍيل آهن:

  • ٽي0 (جي پي آءِ او 4)
  • ٽي1 (جي پي آءِ او 0)
  • ٽي2 (جي پي آءِ او 2)
  • ٽي3 (جي پي آءِ او 15)
  • ٽي4 (جي پي آءِ او 13)
  • ٽي5 (جي پي آءِ او 12)
  • ٽي6 (جي پي آءِ او 14)
  • ٽي7 (جي پي آءِ او 27)
  • ٽي8 (جي پي آءِ او 33)
  • ٽي9 (جي پي آءِ او 32)

اينالاگ جي طرف ڊجيٽل ڪنورٽر (ADC)
ESP32 ۾ 18 x 12 بِٽ ADC ان پٽ چينل آهن (جڏهن ته ESP8266 ۾ صرف 1x 10 بِٽ ADC آهن). اهي GPIO آهن جيڪي ADC ۽ لاڳاپيل چينلن طور استعمال ڪري سگهجن ٿا:

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

نوٽ: جڏهن وائي فائي استعمال ڪيو وڃي ته ADC2 پن استعمال نٿا ڪري سگهجن. تنهن ڪري، جيڪڏهن توهان وائي فائي استعمال ڪري رهيا آهيو ۽ توهان کي 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 بنيادي اسٽارٽر ڪٽ - روييڊجيٽل کان اينالاگ ڪنورٽر (ڊي اي سي)
ESP2 تي 8 x 32 بِٽ DAC چينل آهن جيڪي ڊجيٽل سگنلن کي اينالاگ وول ۾ تبديل ڪن ٿا.tagاي سگنل آئوٽ پُٽ. اهي ڊي اي سي چينل آهن:

  • ڊي اي سي 1 (جي پي آءِ او 25)
  • ڊي اي سي 2 (جي پي آءِ او 26)

آر ٽي سي جي پي آءِ اوز
ESP32 تي RTC GPIO سپورٽ موجود آهي. RTC گھٽ طاقت واري سب سسٽم ڏانهن روٽ ٿيل GPIOs استعمال ڪري سگھجن ٿا جڏهن ESP32 ڊيپ سليپ ۾ هجي. اهي RTC GPIOs ESP32 کي ڊيپ سليپ مان جاڳائڻ لاءِ استعمال ڪري سگھجن ٿا جڏهن الٽرا لو
پاور (ULP) ڪو-پروسيسر هلي رهيو آهي. هيٺيان GPIOs کي ٻاهرين جاڳڻ جي ذريعن طور استعمال ڪري سگهجي ٿو.

  • آر ٽي سي_جي پي آءِ او 0 (جي پي آءِ او 36)
  • آر ٽي سي_جي پي آءِ او 3 (جي پي آءِ او 39)
  • آر ٽي سي_جي پي آءِ او 4 (جي پي آءِ او 34)
  • آر ٽي سي_جي پي آءِ او 5 (جي پي آءِ او 35)
  • آر ٽي سي_جي پي آءِ او 6 (جي پي آءِ او 25)
  • آر ٽي سي_جي پي آءِ او 7 (جي پي آءِ او 26)
  • آر ٽي سي_جي پي آءِ او 8 (جي پي آءِ او 33)
  • آر ٽي سي_جي پي آءِ او 9 (جي پي آءِ او 32)
  • آر ٽي سي_جي پي آءِ او 10 (جي پي آءِ او 4)
  • آر ٽي سي_جي پي آءِ او 11 (جي پي آءِ او 0)
  • آر ٽي سي_جي پي آءِ او 12 (جي پي آءِ او 2)
  • آر ٽي سي_جي پي آءِ او 13 (جي پي آءِ او 15)
  • آر ٽي سي_جي پي آءِ او 14 (جي پي آءِ او 13)
  • آر ٽي سي_جي پي آءِ او 15 (جي پي آءِ او 12)
  • آر ٽي سي_جي پي آءِ او 16 (جي پي آءِ او 14)
  • آر ٽي سي_جي پي آءِ او 17 (جي پي آءِ او 27)

پي ڊبليو ايم
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)

جيڪڏهن توهان وائر لائبريري استعمال ڪندي ٻيا پن استعمال ڪرڻ چاهيو ٿا، ته توهان کي صرف ڪال ڪرڻ جي ضرورت آهي:
وائر.بيگن (ايس ڊي اي، ايس سي ايل)؛
SPI
ڊفالٽ طور، SPI لاءِ پن ميپنگ آهي:

SPI موسي ميسو CLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

interrupts
سڀ GPIOs کي مداخلت جي طور تي ترتيب ڏئي سگھجي ٿو.
پٽي ڪرڻ واري پنن
ESP32 چپ ۾ هيٺيان اسٽريپنگ پن آهن:

  • GPIO 0 (بوٽ موڊ ۾ داخل ٿيڻ لاءِ گهٽ هجڻ گهرجي)
  • GPIO 2 (بوٽ دوران ترندڙ يا گهٽ هجڻ گهرجي)
  • GPIO 4
  • GPIO 5 (بوٽ دوران هاءِ هجڻ گهرجي)
  • GPIO 12 (بوٽ دوران گهٽ هجڻ گهرجي)
  • GPIO 15 (بوٽ دوران هاءِ هجڻ گهرجي)

اهي ESP32 کي بوٽ لوڊر يا فليشنگ موڊ ۾ رکڻ لاءِ استعمال ڪيا ويندا آهن. بلٽ ان USB/سيريل سان گھڻن ڊولپمينٽ بورڊن تي، توهان کي انهن پنن جي حالت بابت پريشان ٿيڻ جي ضرورت ناهي. بورڊ پنن کي فليشنگ يا بوٽ موڊ لاءِ صحيح حالت ۾ رکي ٿو. ESP32 بوٽ موڊ جي چونڊ بابت وڌيڪ معلومات هتي ملي سگهي ٿي.
جڏهن ته، جيڪڏهن توهان وٽ انهن پنن سان پيري فيرلز ڳنڍيل آهن، ته توهان کي نئون ڪوڊ اپلوڊ ڪرڻ، نئين فرم ويئر سان ESP32 کي فليش ڪرڻ، يا بورڊ کي ري سيٽ ڪرڻ ۾ ڏکيائي ٿي سگهي ٿي. جيڪڏهن توهان وٽ ڪجهه پيري فيرلز اسٽريپنگ پنن سان ڳنڍيل آهن ۽ توهان کي ڪوڊ اپلوڊ ڪرڻ يا ESP32 کي فليش ڪرڻ ۾ ڏکيائي ٿي رهي آهي، ته اهو ٿي سگهي ٿو ڇاڪاڻ ته اهي پيري فيرلز ESP32 کي صحيح موڊ ۾ داخل ٿيڻ کان روڪي رهيا آهن. صحيح هدايت ۾ توهان جي رهنمائي ڪرڻ لاءِ بوٽ موڊ سليڪشن دستاويز پڙهو. ري سيٽ ڪرڻ، فليش ڪرڻ، يا بوٽ ڪرڻ کان پوءِ، اهي پن توقع مطابق ڪم ڪن ٿا.
بوٽ تي پنن کي اوچو ڪريو
ڪجھ GPIOs پنھنجي حالت کي HIGH ۾ تبديل ڪن ٿا يا بوٽ يا ري سيٽ تي PWM سگنل آئوٽ پُٽ ڪن ٿا.
ان جو مطلب اهو آهي ته جيڪڏهن توهان وٽ انهن GPIOs سان آئوٽ پُٽ ڳنڍيل آهن ته توهان کي ESP32 جي ري سيٽ يا بوٽ ٿيڻ تي غير متوقع نتيجا ملي سگهن ٿا.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 کان GPIO 11 تائين (ESP32 انٽيگريٽڊ SPI فليش ميموري سان ڳنڍيل - استعمال ڪرڻ جي سفارش نه ڪئي وئي آهي).
  • GPIO 14
  • GPIO 15

فعال ڪريو (EN)
اينيبل (EN) 3.3V ريگيوليٽر جو اينيبل پن آهي. اهو مٿي کنيو ويو آهي، تنهن ڪري 3.3V ريگيوليٽر کي غير فعال ڪرڻ لاءِ گرائونڊ سان ڳنڍيو. ان جو مطلب آهي ته توهان پنهنجي ESP32 کي ٻيهر شروع ڪرڻ لاءِ پش بٽڻ سان ڳنڍيل هن پن کي استعمال ڪري سگهو ٿا، مثال طورampلي.
GPIO ڪرنٽ ڪڍيو ويو
ESP40 ڊيٽا شيٽ ۾ "سفارش ٿيل آپريٽنگ حالتون" سيڪشن جي مطابق، في GPIO ٺاهيل مطلق وڌ ۾ وڌ ڪرنٽ 32mA آهي.
ESP32 بلٽ ان هال اثر سينسر
ESP32 ۾ هڪ بلٽ ان هال اثر سينسر پڻ آهي جيڪو ان جي چوڌاري مقناطيسي ميدان ۾ تبديلين کي ڳولي ٿو.
ESP32 آرڊينو IDE
آرڊينو آئي ڊي اي لاءِ هڪ ايڊ آن آهي جيڪو توهان کي آرڊينو آئي ڊي اي ۽ ان جي پروگرامنگ ٻولي استعمال ڪندي ESP32 پروگرام ڪرڻ جي اجازت ڏئي ٿو. هن سبق ۾ اسين توهان کي ڏيکارينداسين ته آرڊينو آئي ڊي اي ۾ ESP32 بورڊ ڪيئن انسٽال ڪجي، ڇا توهان ونڊوز، ميڪ او ايس ايڪس يا لينڪس استعمال ڪري رهيا آهيو.
ضروري شرطون: Arduino IDE انسٽال ٿيل
هن انسٽاليشن جي طريقيڪار کي شروع ڪرڻ کان اڳ، توهان کي پنهنجي ڪمپيوٽر تي Arduino IDE انسٽال ڪرڻ جي ضرورت آهي. Arduino IDE جا ٻه نسخا آهن جيڪي توهان انسٽال ڪري سگهو ٿا: ورجن 1 ۽ ورجن 2.
توهان هيٺ ڏنل لنڪ تي ڪلڪ ڪري Arduino IDE ڊائون لوڊ ۽ انسٽال ڪري سگهو ٿا: arduino.cc/en/مين/سافٽ ويئر
اسان ڪهڙي 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 بنيادي اسٽارٽر ڪٽ - "ٺيڪ" بٽڻنوٽ: جيڪڏهن توهان وٽ اڳ ۾ ئي 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 بنيادي اسٽارٽر ڪٽ - ايسپريسفڳولھيو ESP32 ۽ "ESP32 by Espressif Systems" لاءِ انسٽال بٽڻ دٻايو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ايسپريسفبس اهو آهي. اهو ڪجهه سيڪنڊن کان پوءِ انسٽال ٿي ويندو.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 > مثالampوائي فائي > وائي فائي
    (ESP32) > وائي فائي اسڪينLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - وائي فائي اسڪينLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - وائي فائي اسڪين 1
  4. توهان جي Arduino IDE ۾ هڪ نئون اسڪيچ کلي ٿو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - Arduino IDE
  5. آرڊينو IDE ۾ اپلوڊ بٽڻ کي دٻايو. ڪجھ سيڪنڊ انتظار ڪريو جيستائين ڪوڊ ڪمپائل ٿئي ۽ توهان جي بورڊ تي اپلوڊ ٿئي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بورڊ
  6. جيڪڏهن سڀ ڪجهه توقع مطابق ٿيو، ته توهان کي "اپ لوڊ ٿي ويو" پيغام ڏسڻ گهرجي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اپلوڊنگ مڪمل ٿي وئي
  7. آرڊينو IDE سيريل مانيٽر کي 115200 جي بوڊ ريٽ تي کوليو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مانيٽر
  8. ESP32 آن بورڊ Enable بٽڻ کي دٻايو ۽ توهان کي پنهنجي ESP32 جي ويجهو موجود نيٽ ورڪ نظر ايندا:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - فعال بٽڻ

مشڪلاتون

جيڪڏهن توهان پنهنجي ESP32 تي هڪ نئون اسڪيچ اپلوڊ ڪرڻ جي ڪوشش ڪندا آهيو ۽ توهان کي هي غلطي جو پيغام ملندو آهي "هڪ موتمار غلطي ٿي وئي: ESP32 سان ڳنڍڻ ۾ ناڪام: وقت ختم ٿي ويو... ڳنڍڻ...". ان جو مطلب آهي ته توهان جو ESP32 فليشنگ/اپ لوڊنگ موڊ ۾ ناهي.
صحيح بورڊ جو نالو ۽ COM por چونڊڻ کان پوءِ، انهن قدمن تي عمل ڪريو:
پنهنجي ESP32 بورڊ ۾ "BOOT" بٽڻ کي دٻايو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - "بوٽ"

  • پنهنجو اسڪيچ اپلوڊ ڪرڻ لاءِ Arduino IDE ۾ "اپلوڊ" بٽڻ دٻايو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - آئڪون 6
  • جڏهن توهان پنهنجي Arduino IDE ۾ "Connecting...." پيغام ڏسندا، ته "BOOT" بٽڻ تان آڱر ڇڏايو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - “اپ لوڊ ٿي ويو”
  • ان کان پوءِ، توهان کي "اپ لوڊ ٿي ويو" پيغام ڏسڻ گهرجي.
    بس اهو ئي آهي. توهان جي ESP32 ۾ نئون اسڪيچ هلندڙ هجڻ گهرجي. ESP32 کي ٻيهر شروع ڪرڻ ۽ نئين اپلوڊ ٿيل اسڪيچ کي هلائڻ لاءِ "ENABLE" بٽڻ کي دٻايو.
    جڏهن به توهان نئون اسڪيچ اپلوڊ ڪرڻ چاهيو ٿا ته توهان کي اهو بٽڻ جو تسلسل ورجائڻو پوندو.

پروجيڪٽ 1 ESP32 ان پٽ آئوٽ پُٽ

هن شروعاتي گائيڊ ۾ توهان سکندا ته ڪيئن ڊجيٽل ان پٽ پڙهڻ جهڙوڪ بٽڻ سوئچ ۽ ڊجيٽل آئوٽ پُٽ کي ڪنٽرول ڪرڻ جهڙوڪ LED Arduino IDE سان ESP32 استعمال ڪندي.
شرطون
اسين ESP32 کي Arduino IDE استعمال ڪندي پروگرام ڪنداسين. تنهن ڪري، پڪ ڪريو ته توهان اڳتي وڌڻ کان اڳ ESP32 بورڊ ايڊ آن انسٽال ٿيل آهن:

  • Arduino IDE ۾ ESP32 ايڊ آن انسٽال ڪرڻ

ESP32 ڪنٽرول ڊجيٽل آئوٽ پُٽ
پهرين، توهان کي اهو GPIO سيٽ ڪرڻ جي ضرورت آهي جنهن کي توهان OUTPUT طور ڪنٽرول ڪرڻ چاهيو ٿا. pinMode() فنڪشن کي هيٺ ڏنل طور استعمال ڪريو:
پن موڊ (GPIO، آئوٽ پُٽ)؛
ڊجيٽل آئوٽ پُٽ کي ڪنٽرول ڪرڻ لاءِ توهان کي صرف digitalWrite() فنڪشن استعمال ڪرڻ جي ضرورت آهي، جيڪو دليلن جي طور تي قبول ڪري ٿو، GPIO (int نمبر) جنهن جو توهان حوالو ڏئي رهيا آهيو، ۽ حالت، يا ته HIGH يا LOW.
ڊجيٽل رائٽ (جي پي آءِ او، اسٽيٽ)؛
سڀئي GPIOs آئوٽ پُٽ طور استعمال ڪري سگھجن ٿا سواءِ GPIOs 6 کان 11 (انٽيگريٽڊ SPI فليش سان ڳنڍيل) ۽ GPIOs 34، 35، 36 ۽ 39 (صرف ان پٽ GPIOs)؛
ESP32 GPIOs بابت وڌيڪ سکو: ESP32 GPIO ريفرنس گائيڊ
ESP32 ڊجيٽل ان پٽ پڙهو
پهرين، هيٺ ڏنل pinMode() فنڪشن استعمال ڪندي، GPIO کي INPUT طور سيٽ ڪريو جيڪو توهان پڙهڻ چاهيو ٿا:
پن موڊ (GPIO، ان پٽ)؛
ڊجيٽل ان پٽ پڙهڻ لاءِ، هڪ بٽڻ وانگر، توهان digitalRead() فنڪشن استعمال ڪندا آهيو، جيڪو دليل طور قبول ڪري ٿو، GPIO (int نمبر) جنهن جو توهان حوالو ڏئي رهيا آهيو.
ڊجيٽل ريڊ (GPIO)؛
سڀئي ESP32 GPIOs ان پٽ طور استعمال ڪري سگھجن ٿا، سواءِ GPIOs 6 کان 11 (انٽيگريٽڊ SPI فليش سان ڳنڍيل).
ESP32 GPIOs بابت وڌيڪ سکو: ESP32 GPIO ريفرنس گائيڊ
پروجيڪٽ Example
توهان کي ڊجيٽل ان پٽ ۽ ڊجيٽل آئوٽ پُٽ استعمال ڪرڻ ڏيکارڻ لاءِ، اسين هڪ سادو منصوبو ٺاهينداسين جيئنampهڪ پش بٽڻ ۽ هڪ ايل اي ڊي سان. اسين پش بٽڻ جي حالت پڙهنداسين ۽ هيٺ ڏنل شڪل ۾ ڏيکاريل مطابق ايل اي ڊي کي روشن ڪنداسين.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پروجيڪٽ ايڪسample

حصا گهربل
هتي سرڪٽ ٺاهڻ لاءِ گهربل حصن جي هڪ فهرست آهي:

  • اي ايس پي 32 ڊيوڪٽ وي 1
  • 5 ملي ايم ايل اي ڊي
  • 220 Ohm مزاحمتي
  • پش پٽن
  • 10k Ohm مزاحمتي
  • مانيءَ جو تختو
  • جمپر تار

اسڪيمي ڊاگرام
اڳتي وڌڻ کان اڳ، توهان کي هڪ LED ۽ هڪ پش بٽڻ سان هڪ سرڪٽ گڏ ڪرڻ جي ضرورت آهي.
اسين 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؛
سيٽ اپ() ۾، توهان بٽڻ کي ان پٽ جي طور تي شروع ڪندا آهيو، ۽ LED کي آئوٽ پٽ جي طور تي.
ان لاءِ، توهان pinMode() فنڪشن استعمال ڪندا آهيو جيڪو ان پن کي قبول ڪندو آهي جنهن جو توهان حوالو ڏئي رهيا آهيو، ۽ موڊ: INPUT يا OUTPUT.
پن موڊ (بٽن پن، انپٽ)؛
پن موڊ (ليڊ پن، آئوٽ پُٽ)؛
لوپ () ۾ توهان بٽڻ جي حالت پڙهندا آهيو ۽ ان مطابق LED سيٽ ڪندا آهيو.
ايندڙ لائن ۾، توهان بٽڻ جي حالت پڙهو ۽ ان کي بٽڻ اسٽيٽ متغير ۾ محفوظ ڪريو.
جيئن اسان اڳ ۾ ڏٺو آهي، توهان digitalRead() فنڪشن استعمال ڪندا آهيو.
بٽڻ اسٽيٽ = ڊجيٽل ريڊ (بٽن پن)؛
هيٺ ڏنل if بيان، چيڪ ڪري ٿو ته ڇا بٽڻ جي حالت HIGH آهي. جيڪڏهن اهو آهي، ته اهو digitalWrite() فنڪشن استعمال ڪندي LED کي آن ڪري ٿو جيڪو ledPin کي دليل طور قبول ڪري ٿو، ۽ حالت HIGH.
جيڪڏهن (بٽن اسٽيٽ == هاءِ)LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ ورڪس 1جيڪڏهن بٽڻ جي حالت وڌيڪ نه آهي، ته توهان LED کي بند ڪريو. صرف digitalWrite() فنڪشن ۾ ٻئي دليل جي طور تي LOW سيٽ ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڊجيٽل رائٽڪوڊ اپ لوڊ ڪندي
اپلوڊ بٽڻ تي ڪلڪ ڪرڻ کان اڳ، ٽولز > بورڊ ڏانهن وڃو، ۽ بورڊ چونڊيو: DOIT ESP32 DEVKIT V1 بورڊ.
ٽولز > پورٽ ڏانهن وڃو ۽ COM پورٽ چونڊيو جنهن سان ESP32 ڳنڍيل آهي. پوءِ، اپلوڊ بٽڻ کي دٻايو ۽ "اپ لوڊ ٿي ويو" پيغام جو انتظار ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - آئڪون 7نوٽ: جيڪڏهن توهان ڊيبگنگ ونڊو تي ڪيترائي نقطا (ڳنڍجي رهيا آهن...__...__) ۽ "ESP32 سان ڳنڍڻ ۾ ناڪام: پيڪٽ هيڊر جي انتظار ۾ وقت ختم" پيغام ڏسندا، ته ان جو مطلب آهي ته توهان کي نقطن کان پوءِ ESP32 آن بورڊ بوٽ بٽڻ کي دٻائڻ جي ضرورت آهي.
ظاهر ٿيڻ شروع ڪريو. مسئلو حل ڪرڻ

مظاهرو

ڪوڊ اپلوڊ ڪرڻ کان پوءِ، پنهنجي سرڪٽ کي جانچيو. جڏهن توهان پش بٽڻ دٻايو ٿا ته توهان جي LED روشن ٿيڻ گهرجي:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مظاهرو۽ جڏهن توهان ان کي ڇڏي ڏيو ته بند ڪريو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - موڙ

پروجيڪٽ 2 ESP32 اينالاگ ان پٽ

هي پروجيڪٽ ڏيکاري ٿو ته آرڊينو IDE استعمال ڪندي ESP32 سان اينالاگ ان پٽ ڪيئن پڙهجن.
اينالاگ ريڊنگ پوٽينٽيوميٽر، يا اينالاگ سينسرز جهڙن متغير مزاحمتن مان قدر پڙهڻ لاءِ ڪارآمد آهي.
اينالاگ ان پٽ (ADC)
ESP32 سان اينالاگ ويليو پڙهڻ جو مطلب آهي ته توهان مختلف واليوم کي ماپي سگهو ٿاtag0 V ۽ 3.3 V جي وچ ۾ e سطحون.
جلدtagپوءِ ماپيل e کي 0 ۽ 4095 جي وچ ۾ هڪ قدر سان لڳايو ويندو آهي، جنهن ۾ 0 V 0 سان ملندو آهي، ۽ 3.3 V 4095 سان ملندو آهي. ڪو به وولٽtag0 V ۽ 3.3 V جي وچ ۾ e کي وچ ۾ لاڳاپيل قدر ڏني ويندي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اينالاگ ان پٽADC غير لڪير آهي
مثالي طور تي، توهان ESP32 ADC پنن کي استعمال ڪندي هڪ لڪير واري رويي جي توقع ڪندا.
جڏهن ته، اهو نٿو ٿئي. توهان کي جيڪو ملندو اهو هڪ رويو آهي جيئن هيٺ ڏنل چارٽ ۾ ڏيکاريل آهي:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - غير لڪيرهن رويي جو مطلب آهي ته توهان جو ESP32 3.3 V کي 3.2 V کان ڌار ڪرڻ جي قابل ناهي.
توهان ٻنهي واليم لاءِ ساڳي قيمت حاصل ڪندا.tagايس: 4095.
تمام گهٽ وولٽ لاءِ به ساڳيو ئي ٿيندو آهي.tage ويليوز: 0 V ۽ 0.1 V لاءِ توهان کي ساڳي ويليوز ملندي: 0. توهان کي ESP32 ADC پنن کي استعمال ڪندي هن کي ذهن ۾ رکڻ جي ضرورت آهي.
اينالاگ ريڊ() فنڪشن
Arduino IDE استعمال ڪندي ESP32 سان اينالاگ ان پٽ پڙهڻ analogRead() فنڪشن استعمال ڪرڻ جيترو آسان آهي. اهو دليل طور قبول ڪري ٿو، GPIO جيڪو توهان پڙهڻ چاهيو ٿا:
اينالاگ ريڊ (GPIO)؛
DEVKIT V15board (1 GPIOs سان ورجن) ۾ صرف 30 موجود آهن.
پنھنجو ESP32 بورڊ پن آئوٽ وٺو ۽ ADC پنن کي ڳوليو. ھيٺ ڏنل شڪل ۾ اھي ڳاڙھي بارڊر سان نمايان ٿيل آھن.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بارڊرانهن اينالاگ ان پٽ پنن ۾ 12-بٽ ريزوليوشن آهي. ان جو مطلب آهي ته جڏهن توهان اينالاگ ان پٽ پڙهندا آهيو، ته ان جي حد 0 کان 4095 تائين مختلف ٿي سگهي ٿي.
نوٽ: وائي فائي استعمال ٿيڻ تي ADC2 پن استعمال نٿا ڪري سگهجن. تنهن ڪري، جيڪڏهن توهان وائي فائي استعمال ڪري رهيا آهيو ۽ توهان کي ADC2 GPIO کان قدر حاصل ڪرڻ ۾ ڏکيائي ٿي رهي آهي، ته پوءِ توهان ان جي بدران ADC1 GPIO استعمال ڪرڻ تي غور ڪري سگهو ٿا، اهو توهان جي مسئلي کي حل ڪرڻ گهرجي.
ڏسڻ لاءِ ته سڀ ڪجهه ڪيئن هڪٻئي سان ڳنڍيل آهي، اسين هڪ سادو سابقه ٺاهينداسينampپوٽينشيوميٽر مان اينالاگ ويليو پڙهڻ لاءِ.
حصا گهربل
ان لاءِ اڳوڻيampها، توهان کي هيٺين حصن جي ضرورت آهي:

  • ESP32 DEVKIT V1 بورڊ
  • ماھر
  • مانيءَ جو تختو
  • جمپر تار

اسڪيمي
پنهنجي ESP32 سان هڪ پوٽينشيوميٽر وائر ڪريو. پوٽينشيوميٽر وچين پن کي GPIO 4 سان ڳنڍيل هجڻ گهرجي. توهان هيٺ ڏنل اسڪيميٽڪ ڊاگرام کي ريفرنس طور استعمال ڪري سگهو ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽڪڪوڊ
اسين ESP32 کي Arduino IDE استعمال ڪندي پروگرام ڪنداسين، تنهن ڪري پڪ ڪريو ته توهان اڳتي وڌڻ کان اڳ ESP32 ايڊ آن انسٽال ڪيو آهي: (جيڪڏهن توهان هي قدم اڳ ۾ ئي ڪري چڪا آهيو، ته توهان ايندڙ قدم تي وڃي سگهو ٿا.)
Arduino IDE ۾ ESP32 ايڊ آن انسٽال ڪرڻ
arduino IDE ۾ Project_2_ESP32_Inputs_Outputs.ino ڪوڊ کوليو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 2هي ڪوڊ صرف پوٽينٽيوميٽر مان قدرن کي پڙهي ٿو ۽ انهن قدرن کي سيريل مانيٽر ۾ پرنٽ ڪري ٿو.
ڪوڊ ۾، توهان GPIO کي بيان ڪندي شروع ڪريو جنهن سان پوٽينشيوميٽر ڳنڍيل آهي. هن مثال ۾ampلي، جي پي آءِ او 4.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اڳوڻيampleسيٽ اپ() ۾، 115200 جي بوڊ ريٽ تي سيريل ڪميونيڪيشن شروع ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اڳوڻيampلي 1لوپ() ۾، پوٽ پن مان اينالاگ ان پٽ پڙهڻ لاءِ اينالاگ ريڊ() فنڪشن استعمال ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اڳوڻيampلي 2آخرڪار، سيريل مانيٽر ۾ پوٽينٽيوميٽر مان پڙهيل قدرن کي پرنٽ ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اڳوڻيampلي 3پنهنجي ESP32 تي ڏنل ڪوڊ اپلوڊ ڪريو. پڪ ڪريو ته توهان ٽولز مينيو ۾ صحيح بورڊ ۽ COM پورٽ چونڊيو آهي.
اڳوڻي جي جانچample
ڪوڊ اپلوڊ ڪرڻ ۽ ESP32 ري سيٽ بٽڻ کي دٻائڻ کان پوءِ، سيريل مانيٽر کي 115200 جي باڊ ريٽ تي کوليو. پوٽينٽيوميٽر کي گھمايو ۽ ڏسو ته قدر ڪيئن بدلجن ٿا.وڌ ۾ وڌ قدر جيڪا توهان کي ملندي اها 4095 آهي ۽ گهٽ ۾ گهٽ قدر 0 آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - وڌ ۾ وڌ قدر

وڍڻ

هن آرٽيڪل ۾ توهان سکيو آهي ته آرڊينو 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 LED PWM ڪنٽرولر
ESP32 ۾ 16 آزاد چينلن سان گڏ هڪ LED PWM ڪنٽرولر آهي جيڪو مختلف خاصيتن سان PWM سگنل پيدا ڪرڻ لاءِ ترتيب ڏئي سگهجي ٿو.
هتي اهي قدم آهن جيڪي توهان کي Arduino IDE استعمال ڪندي PWM سان LED کي مدھم ڪرڻ لاءِ عمل ڪرڻو پوندو:

  1. پهرين، توهان کي هڪ PWM چينل چونڊڻ جي ضرورت آهي. 16 کان 0 تائين 15 چينل آهن.
  2. پوءِ، توهان کي PWM سگنل فريڪوئنسي سيٽ ڪرڻ جي ضرورت آهي. هڪ LED لاءِ، 5000 Hz جي فريڪوئنسي استعمال ڪرڻ لاءِ ٺيڪ آهي.
  3. توهان کي سگنل جي ڊيوٽي سائيڪل ريزوليوشن کي پڻ سيٽ ڪرڻ جي ضرورت آهي: توهان وٽ 1 کان 16 بِٽ ريزوليوشن آهن. اسان 8-بِٽ ريزوليوشن استعمال ڪنداسين، جنهن جو مطلب آهي ته توهان 0 کان 255 تائين ويليو استعمال ڪندي LED چمڪ کي ڪنٽرول ڪري سگهو ٿا.
  4.  اڳيون، توهان کي اهو بيان ڪرڻو پوندو ته ڪهڙي GPIO يا GPIOs تي سگنل ظاهر ٿيندو. ان لاءِ توهان هيٺ ڏنل فنڪشن استعمال ڪندا:
    ليڊ سي اٽيچ پن (GPIO، چينل)
    هي فنڪشن ٻه دليل قبول ڪري ٿو. پهريون GPIO آهي جيڪو سگنل آئوٽ پُٽ ڪندو، ۽ ٻيو چينل آهي جيڪو سگنل پيدا ڪندو.
  5. آخرڪار، PWM استعمال ڪندي LED چمڪ کي ڪنٽرول ڪرڻ لاءِ، توهان هيٺ ڏنل فنڪشن استعمال ڪريو ٿا:

ليڊ سي رائٽ (چينل، ڊيوٽي سائيڪل)
هي فنڪشن دليلن جي طور تي چينل کي قبول ڪري ٿو جيڪو PWM سگنل پيدا ڪري رهيو آهي، ۽ ڊيوٽي سائيڪل.
حصا گهربل
هن سبق جي پيروي ڪرڻ لاءِ توهان کي انهن حصن جي ضرورت پوندي:

  • ESP32 DEVKIT V1 بورڊ
  • 5mm LED
  • 220 Ohm مزاحمتي
  •  مانيءَ جو تختو
  • جمپر تار

اسڪيمي
هيٺ ڏنل اسڪيميٽڪ ڊاگرام وانگر پنهنجي ESP32 سان هڪ LED وائر ڪريو. LED کي GPIO سان ڳنڍيل هجڻ گهرجي. 4.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽڪنوٽ: توهان ڪنهن به پن کي استعمال ڪري سگهو ٿا، جيستائين اهو آئوٽ پُٽ طور ڪم ڪري سگهي ٿو. سڀئي پن جيڪي آئوٽ پُٽ طور ڪم ڪري سگهن ٿا، انهن کي PWM پن طور استعمال ڪري سگهجي ٿو. ESP32 GPIOs بابت وڌيڪ معلومات لاءِ، پڙهو: ESP32 پن آئوٽ حوالو: توهان کي ڪهڙا GPIO پن استعمال ڪرڻ گهرجن؟
ڪوڊ
اسين ESP32 کي Arduino IDE استعمال ڪندي پروگرام ڪنداسين، تنهن ڪري پڪ ڪريو ته توهان اڳتي وڌڻ کان اڳ ESP32 ايڊ آن انسٽال ڪيو آهي: (جيڪڏهن توهان هي قدم اڳ ۾ ئي ڪري چڪا آهيو، ته توهان ايندڙ قدم تي وڃي سگهو ٿا.)
Arduino IDE ۾ ESP32 ايڊ آن انسٽال ڪرڻ
arduino IDE ۾ Project_3_ESP32_PWM.ino ڪوڊ کوليو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 3LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 4توهان ان پن جي وضاحت سان شروع ڪريو جنهن سان LED ڳنڍيل آهي. هن صورت ۾ LED GPIO 4 سان ڳنڍيل آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 5پوءِ، توهان PWM سگنل پراپرٽيز سيٽ ڪريو ٿا. توهان 5000 Hz جي فريڪوئنسي بيان ڪريو ٿا، سگنل پيدا ڪرڻ لاءِ چينل 0 چونڊيو ٿا، ۽ 8 بِٽس جو ريزوليوشن سيٽ ڪريو ٿا. توهان مختلف PWM سگنل پيدا ڪرڻ لاءِ ٻيون پراپرٽيز چونڊي سگهو ٿا، انهن کان مختلف.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 6سيٽ اپ() ۾، توهان کي LED PWM کي انهن خاصيتن سان ترتيب ڏيڻ جي ضرورت آهي جيڪي توهان اڳ ۾ بيان ڪيون آهن ledcSetup() فنڪشن استعمال ڪندي جيڪو دليلن، ledChannel، فريڪوئنسي، ۽ ريزوليوشن طور قبول ڪري ٿو، هيٺ ڏنل طور تي:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 8اڳيون، توهان کي اهو GPIO چونڊڻو پوندو جتان توهان سگنل حاصل ڪندا. ان لاءِ ledcAttachPin() فنڪشن استعمال ڪريو جيڪو دليلن طور GPIO کي قبول ڪري ٿو جتي توهان سگنل حاصل ڪرڻ چاهيو ٿا، ۽ اهو چينل جيڪو سگنل پيدا ڪري رهيو آهي. هن مثال ۾ampلي، اسان کي 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 پورٽ چونڊيو آهي. پنهنجي سرڪٽ کي ڏسو. توهان وٽ هڪ ڊمر LED هجڻ گهرجي جيڪا روشني وڌائي ۽ گهٽائي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ايڪس جي جانچample

پروجيڪٽ 4 ESP32 PIR موشن سينسر

هي پروجيڪٽ ڏيکاري ٿو ته PIR موشن سينسر استعمال ڪندي ESP32 سان حرڪت کي ڪيئن معلوم ڪجي. بزر حرڪت جي سڃاڻپ ٿيڻ تي الارم وڄائيندو، ۽ مقرر وقت (جهڙوڪ 4 سيڪنڊن) لاءِ ڪابه حرڪت نه ملڻ تي الارم بند ڪندو.
HC-SR501 موشن سينسر ڪيئن ڪم ڪندو آهي
.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - موشن سينسر ڪم ڪري ٿوHC-SR501 سينسر جو ڪم ڪندڙ اصول حرڪت ڪندڙ شيءِ تي انفراريڊ شعاع جي تبديلي تي ٻڌل آهي. HC-SR501 سينسر پاران معلوم ڪرڻ لاءِ، شيءِ کي ٻه گهرجون پوريون ڪرڻ گهرجن:

  • هي شيءِ انفراريڊ طريقي سان خارج ڪري رهي آهي.
  • شيءِ حرڪت ڪري رهي آهي يا لرز رهي آهي

سو:
جيڪڏهن ڪا شيءِ انفراريڊ شعاع خارج ڪري رهي آهي پر NoT حرڪت ڪري رهي آهي (مثال طور، ڪو ماڻهو بغير حرڪت جي بيٺو آهي)، ته اهو سينسر پاران NoT ڳوليو ويندو آهي.
جيڪڏهن ڪا شيءِ حرڪت ڪري رهي آهي پر NoT انفراريڊ شعاع خارج ڪري رهي آهي (مثال طور، روبوٽ يا گاڏي)، ته ان کي سينسر نه ڳولي سگهندو.
ٽائمرز جو تعارف
هن ۾ اڳوڻيampاسان ٽائمر پڻ متعارف ڪرائينداسين. اسان چاهيون ٿا ته حرڪت جي سڃاڻپ کان پوءِ LED هڪ مقرر ٿيل سيڪنڊن لاءِ آن رهي. هڪ ڊيلي () فنڪشن استعمال ڪرڻ جي بدران جيڪو توهان جي ڪوڊ کي بلاڪ ڪري ٿو ۽ توهان کي هڪ مقرر ٿيل سيڪنڊن لاءِ ٻيو ڪجهه ڪرڻ جي اجازت نٿو ڏئي، اسان کي هڪ ٽائمر استعمال ڪرڻ گهرجي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ٽائمرز جو تعارفڊيلي () فنڪشن
توهان کي delay() فنڪشن کان واقف هجڻ گهرجي ڇاڪاڻ ته اهو وڏي پيماني تي استعمال ٿيندو آهي. هي فنڪشن استعمال ڪرڻ بلڪل سادو آهي. اهو هڪ سنگل انٽ نمبر کي دليل طور قبول ڪري ٿو.
هي انگ ملي سيڪنڊن ۾ اهو وقت ظاهر ڪري ٿو جيڪو پروگرام کي ڪوڊ جي ايندڙ لائن تي وڃڻ تائين انتظار ڪرڻو پوندو آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊجڏهن توهان delay(1000) ڪندا آهيو ته توهان جو پروگرام ان لائن تي 1 سيڪنڊ لاءِ روڪي ٿو.
ڊيلي() هڪ بلاڪنگ فنڪشن آهي. بلاڪنگ فنڪشن هڪ پروگرام کي ٻيو ڪجهه ڪرڻ کان روڪيندا آهن جيستائين اهو خاص ڪم مڪمل نه ٿئي. جيڪڏهن توهان کي هڪ ئي وقت ۾ ڪيترائي ڪم ڪرڻ جي ضرورت آهي، ته توهان ڊيلي() استعمال نٿا ڪري سگهو.
گھڻن منصوبن لاءِ توهان کي دير استعمال ڪرڻ کان پاسو ڪرڻ گهرجي ۽ ان جي بدران ٽائمر استعمال ڪرڻ گهرجي.
مليس() فنڪشن
millis() نالي هڪ فنڪشن استعمال ڪندي توهان پروگرام جي پهرين شروعات کان وٺي گذري ويل ملي سيڪنڊن جو تعداد واپس ڪري سگهو ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پروگرام پهريون ڀيرو شروع ٿيواهو فنڪشن ڇو ڪارآمد آهي؟ ڇاڪاڻ ته ڪجهه رياضي استعمال ڪندي، توهان آساني سان تصديق ڪري سگهو ٿا ته توهان جي ڪوڊ کي بلاڪ ڪرڻ کان سواءِ ڪيترو وقت گذري ويو آهي.
حصا گهربل
هن سبق جي پيروي ڪرڻ لاءِ توهان کي هيٺيان حصا گهرجن

  • ESP32 DEVKIT V1 بورڊ
  • پير موشن سينسر (HC-SR501)
  • فعال بزز
  • جمپر تار
  • مانيءَ جو تختو

اسڪيميLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽ 1نوٽ: ڪم ڪندڙ حجمtagHC-SR501 جو e 5V آهي. ان کي پاور ڏيڻ لاءِ Vin پن استعمال ڪريو.
ڪوڊ
هن سبق سان اڳتي وڌڻ کان اڳ، توهان کي پنهنجي 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 بنيادي اسٽارٽر ڪٽ - بزر

پروجيڪٽ 5 ESP32 سوئچ Web سرور

هن منصوبي ۾ توهان هڪ الڳ الڳ ٺاهيندا web سرور هڪ ESP32 سان جيڪو Arduino IDE پروگرامنگ ماحول استعمال ڪندي آئوٽ پُٽ (ٻه LEDs) کي ڪنٽرول ڪري ٿو. web سرور موبائل جوابده آهي ۽ ڪنهن به ڊوائيس سان رسائي ڪري سگهجي ٿو جيڪو مقامي نيٽ ورڪ تي برائوزر جي طور تي هجي. اسان توهان کي ڏيکارينداسين ته ڪيئن ٺاهيو web سرور ۽ ڪوڊ ڪيئن ڪم ڪري ٿو، قدم بہ قدم.
پروجيڪٽ ختمview
سڌو سنئون منصوبي تي وڃڻ کان اڳ، اهو بيان ڪرڻ ضروري آهي ته اسان ڇا ڪريون ٿا web سرور ڪندو، ته جيئن بعد ۾ قدمن تي عمل ڪرڻ آسان ٿئي.

  • جي web جيڪو سرور توهان ٺاهيندا اهو ESP32 GPIO 26 ۽ GPIO 27 سان ڳنڍيل ٻن LEDs کي ڪنٽرول ڪندو آهي؛
  • توهان ESP32 تائين رسائي ڪري سگهو ٿا web مقامي نيٽ ورڪ ۾ برائوزر تي ESP32 IP پتو ٽائيپ ڪندي سرور؛
  • توهان جي بٽڻن تي ڪلڪ ڪندي web سرور سان توهان فوري طور تي هر LED جي حالت تبديل ڪري سگهو ٿا.

حصا گهربل
هن سبق لاءِ توهان کي هيٺين حصن جي ضرورت پوندي:

  • ESP32 DEVKIT V1 بورڊ
  • 2x 5 ملي ايم ايل اي ڊي
  • 2x 200 Ohm ريزسٽر
  • مانيءَ جو تختو
  • جمپر تار

اسڪيمي
سرڪٽ ٺاهڻ سان شروع ڪريو. هيٺ ڏنل اسڪيميٽڪ ڊاگرام ۾ ڏيکاريل ٻن LEDs کي ESP32 سان ڳنڍيو - هڪ LED GPIO 26 سان ڳنڍيل آهي، ۽ ٻيو GPIO 27 سان.
نوٽ: اسين 32 پنن سان ESP36 DEVKIT DOIT بورڊ استعمال ڪري رهيا آهيون. سرڪٽ کي گڏ ڪرڻ کان اڳ، پڪ ڪريو ته توهان جيڪو بورڊ استعمال ڪري رهيا آهيو ان جي پن آئوٽ کي چيڪ ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽڪڪوڊ
هتي اسان اهو ڪوڊ مهيا ڪريون ٿا جيڪو ESP32 ٺاهي ٿو. web سرور. ڪوڊ کوليو Project_5_ESP32_Switch _Webarduino IDE ۾ _Server.ino، پر اڃا تائين ان کي اپلوڊ نه ڪيو. ان کي توهان لاءِ ڪم ڪرڻ لاءِ توهان کي ڪجهه تبديليون ڪرڻ جي ضرورت آهي.
اسين ESP32 کي Arduino IDE استعمال ڪندي پروگرام ڪنداسين، تنهن ڪري پڪ ڪريو ته توهان اڳتي وڌڻ کان اڳ ESP32 ايڊ آن انسٽال ڪيو آهي: (جيڪڏهن توهان هي قدم اڳ ۾ ئي ڪري چڪا آهيو، ته توهان ايندڙ قدم تي وڃي سگهو ٿا.)
Arduino IDE ۾ ESP32 ايڊ آن انسٽال ڪرڻ
توهان جي نيٽ ورڪ سندون مقرر ڪرڻ
توهان کي پنهنجي نيٽ ورڪ سندون سان هيٺ ڏنل لائينن کي تبديل ڪرڻ جي ضرورت آهي: SSID ۽ پاسورڊ. ڪوڊ چڱي طرح تبصرو ڪيو ويو آهي ته توهان کي ڪٿي تبديليون ڪرڻ گهرجن.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - نيٽ ورڪ سندونڪوڊ اپ لوڊ ڪندي
هاڻي، توهان ڪوڊ اپلوڊ ڪري سگهو ٿا ۽ ۽ web سرور سڌو ڪم ڪندو.
ESP32 تي ڪوڊ اپلوڊ ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو:

  1. پنھنجي ESP32 بورڊ کي پنھنجي ڪمپيوٽر ۾ لڳايو؛
  2. Arduino IDE ۾ Tools > Board ۾ پنھنجو بورڊ چونڊيو (اسان جي صورت ۾ اسين ESP32 DEVKIT DOIT بورڊ استعمال ڪري رھيا آھيون)؛LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ اپ لوڊ ڪرڻ
  3. ٽولز > پورٽ ۾ COM پورٽ چونڊيو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ٽولز پورٽ
  4. آرڊينو IDE ۾ اپلوڊ بٽڻ کي دٻايو ۽ ڪجهه سيڪنڊ انتظار ڪريو جڏهن ڪوڊ ڪمپائل ٿئي ۽ توهان جي بورڊ تي اپلوڊ ٿئي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - آئڪون 7
  5. "اپ لوڊ ٿي ويو" پيغام جو انتظار ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اپلوڊنگ مڪمل 1

ESP IP پتو ڳولڻ
ڪوڊ اپلوڊ ڪرڻ کان پوءِ، سيريل مانيٽر کي 115200 جي بوڊ ريٽ تي کوليو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ESP IP پتوESP32 EN بٽڻ دٻايو (ري سيٽ ڪريو). ESP32 وائي فائي سان ڳنڍجي ٿو، ۽ سيريل مانيٽر تي ESP IP پتو آئوٽ پُٽ ڪري ٿو. ان IP پتي کي ڪاپي ڪريو، ڇاڪاڻ ته توهان کي ESP32 تائين رسائي حاصل ڪرڻ لاءِ ان جي ضرورت آهي. web سرورLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - web سرورتائين رسائي Web سرور
تائين رسائي حاصل ڪرڻ لاء web سرور تي ڪلڪ ڪريو، پنهنجو برائوزر کوليو، ESP32 IP پتو پيسٽ ڪريو، ۽ توهان کي هيٺ ڏنل صفحو نظر ايندو.
نوٽ: توهان جو برائوزر ۽ ESP32 ساڳئي LAN سان ڳنڍيل هجڻ گهرجن.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - رسائي حاصل ڪرڻ Web سرورجيڪڏهن توهان سيريل مانيٽر تي نظر وجهو ٿا، ته توهان ڏسي سگهو ٿا ته پس منظر ۾ ڇا ٿي رهيو آهي. ESP هڪ نئين ڪلائنٽ (هن صورت ۾، توهان جو برائوزر) کان HTTP درخواست وصول ڪري ٿو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - HTTP درخواستتوهان HTTP درخواست بابت ٻي معلومات پڻ ڏسي سگهو ٿا.
مظاهرو
هاڻي توهان جانچ ڪري سگهو ٿا جيڪڏهن توهان جي web سرور صحيح ڪم ڪري رهيو آهي. LEDs کي ڪنٽرول ڪرڻ لاءِ بٽڻن تي ڪلڪ ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پس منظرساڳئي وقت، توهان سيريل مانيٽر تي هڪ نظر وجهي سگهو ٿا ته پس منظر ۾ ڇا ٿي رهيو آهي. مثال طورampلي، جڏهن توهان GPIO 26 کي آن ڪرڻ لاءِ بٽڻ تي ڪلڪ ڪندا آهيو، ESP32 کي /26/on تي هڪ درخواست ملي ٿي. URL.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - URLجڏهن ESP32 کي اها درخواست ملي ٿي، ته اهو GPIO 26 سان ڳنڍيل LED کي آن ڪري ٿو ۽ ان جي حالت کي اپڊيٽ ڪري ٿو. web صفحو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - web صفحوGPIO 27 لاءِ بٽڻ ساڳئي طرح ڪم ڪري ٿو. جانچ ڪريو ته اهو صحيح ڪم ڪري رهيو آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - صحيح ڪم ڪري رهيو آهي

ڪوڊ ڪيئن ڪم ڪندو آهي

هن حصي ۾، اسان ڪوڊ تي هڪ ويجهي نظر وجهنداسين ته اهو ڪيئن ڪم ڪري ٿو.
پهرين ڳالهه جيڪا توهان کي ڪرڻ جي ضرورت آهي اها آهي وائي فائي لائبريري شامل ڪرڻ.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - وائي فائي لائبريريجيئن اڳ ذڪر ڪيو ويو آهي، توهان کي ڊبل ڪوٽس اندر هيٺين لائينن ۾ پنهنجو ايس ايس آءِ ڊي ۽ پاسورڊ داخل ڪرڻ جي ضرورت آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڊبل ڪوٽسپوءِ، توهان پنهنجو مقرر ڪيو web سرور کي پورٽ 80 تي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - web سرورهيٺ ڏنل لائن HTTP درخواست جي هيڊر کي ذخيرو ڪرڻ لاءِ هڪ متغير ٺاهي ٿي:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - HTTPrequestاڳيون، توهان پنهنجي آئوٽ پُٽ جي موجوده حالت کي محفوظ ڪرڻ لاءِ معاون متغير ٺاهيندا آهيو. جيڪڏهن توهان وڌيڪ آئوٽ پُٽ شامل ڪرڻ ۽ ان جي حالت کي محفوظ ڪرڻ چاهيو ٿا، ته توهان کي وڌيڪ متغير ٺاهڻ جي ضرورت آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - متغيرتوهان کي پنهنجي هر آئوٽ پُٽ کي هڪ GPIO پڻ تفويض ڪرڻ جي ضرورت آهي. هتي اسين GPIO 26 ۽ GPIO 27 استعمال ڪري رهيا آهيون. توهان ڪنهن به ٻئي مناسب GPIO استعمال ڪري سگهو ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ٻيو مناسبسيٽ اپ ڪريو()
هاڻي، اچو ته سيٽ اپ () ۾ وڃون. پهرين، اسان ڊيبگنگ جي مقصدن لاءِ 115200 جي باڊ ريٽ تي سيريل ڪميونيڪيشن شروع ڪريون ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مقصدتوهان پنهنجي GPIOs کي OUTPUTs طور پڻ بيان ڪريو ۽ انهن کي گهٽ تي سيٽ ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - GPIOs بطور آئوٽ پُٽهيٺيون لائينون WiFi.begin(ssid، پاسورڊ) سان وائي فائي ڪنيڪشن شروع ڪن ٿيون، ڪامياب ڪنيڪشن جو انتظار ڪريو ۽ سيريل مانيٽر ۾ ESP IP پتو پرنٽ ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - سيريلLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - سيريل 1لوپ ()
لوپ() ۾ اسين پروگرام ڪريون ٿا ته ڇا ٿيندو آهي جڏهن هڪ نئون ڪلائنٽ سان ڪنيڪشن قائم ڪندو آهي web سرور
ESP32 هميشه ايندڙ گراهڪن لاءِ هيٺ ڏنل لائن سان ٻڌي رهيو آهي:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - لوپجڏهن ڪنهن ڪلائنٽ کان درخواست ملي ٿي، ته اسان ايندڙ ڊيٽا محفوظ ڪنداسين. ايندڙ وقت وارو لوپ هلندو رهندو جيستائين ڪلائنٽ ڳنڍيل رهندو. اسان ڪوڊ جي هيٺين حصي کي تبديل ڪرڻ جي سفارش نٿا ڪريون جيستائين توهان کي خبر نه هجي ته توهان ڇا ڪري رهيا آهيو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بلڪلLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بلڪل 1LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بلڪل 2جيڪڏهن ۽ ٻيا بيانن جو ايندڙ حصو چيڪ ڪري ٿو ته توهان جي web صفحو، ۽ ان مطابق آئوٽ پُٽ کي ڪنٽرول ڪري ٿو. جيئن اسان اڳ ۾ ڏٺو آهي، اسان مختلف تي درخواست ڪندا آهيون URLبٽڻ دٻائڻ تي منحصر آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بٽڻ دٻايو ويوLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - بٽڻ دٻايو 1مثال طورampلي، جيڪڏهن توهان GPIO 26 ON بٽڻ دٻايو آهي، ته ESP32 کي /26/ON تي هڪ درخواست ملي ٿي. URL (اسين سيريل مانيٽر تي HTTP هيڊر تي اها معلومات ڏسي سگهون ٿا). تنهن ڪري، اسان چيڪ ڪري سگهون ٿا ته هيڊر ۾ GET /26/on اظهار شامل آهي يا نه. جيڪڏهن اهو شامل آهي، ته اسان output26state متغير کي ON ۾ تبديل ڪريون ٿا، ۽ ESP32 LED کي آن ڪري ٿو.
هي ٻين بٽڻن لاءِ به ساڳيو ڪم ڪري ٿو. تنهن ڪري، جيڪڏهن توهان وڌيڪ آئوٽ پُٽ شامل ڪرڻ چاهيو ٿا، ته توهان کي ڪوڊ جي هن حصي کي شامل ڪرڻ لاءِ تبديل ڪرڻ گهرجي.
HTML ڏيکاريندي web صفحو
ايندڙ ڪم جيڪو توهان کي ڪرڻو آهي، اهو آهي ٺاهڻ web صفحو. ESP32 توهان جي برائوزر کي ڪجهه HTML ڪوڊ سان جواب موڪليندو ته جيئن web صفحو.
جي web صفحو ڪلائنٽ ڏانهن هن ايڪسپريسنگ client.println() استعمال ڪندي موڪليو ويندو آهي. توهان کي اهو داخل ڪرڻ گهرجي جيڪو توهان ڪلائنٽ ڏانهن هڪ دليل جي طور تي موڪلڻ چاهيو ٿا.
پهرين شيءِ جيڪا اسان کي موڪلڻ گهرجي اها هميشه هيٺ ڏنل لائن آهي، جيڪا ظاهر ڪري ٿي ته اسان HTML موڪلي رهيا آهيون.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - HTML موڪلڻپوءِ، هيٺ ڏنل لائن ٺاهيندي آهي web ڪنهن به صورت ۾ جوابي صفحو web برائوزر.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - web برائوزر۽ هيٺ ڏنل فيويڪون تي درخواستن کي روڪڻ لاءِ استعمال ڪيو ويندو آهي. - توهان کي هن لائن بابت پريشان ٿيڻ جي ضرورت ناهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - client.println

اسٽائلنگ Web صفحو

اڳيون، اسان وٽ بٽڻن کي اسٽائل ڪرڻ لاءِ ڪجهه CSS ٽيڪسٽ آهي ۽ web صفحي جي ظاهر.
اسين هيلويٽيڪا فونٽ چونڊيندا آهيون، مواد کي بلاڪ جي طور تي ڏيکاريو ويندو ۽ مرڪز ۾ ترتيب ڏنو ويندو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسٽائلنگ Web صفحواسين پنھنجا بٽڻ #4CAF50 رنگ سان، بغير بارڊر جي، اڇي رنگ ۾ ٽيڪسٽ سان اسٽائل ڪريون ٿا، ۽ ھن پيڊنگ سان: 16px 40px. اسان ٽيڪسٽ ڊيڪوريشن کي none تي پڻ سيٽ ڪيو، فونٽ سائيز، مارجن، ۽ ڪرسر کي پوائنٽر تي بيان ڪيو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پوائنٽراسان ٻئي بٽڻ لاءِ انداز پڻ بيان ڪريون ٿا، بٽڻ جي سڀني خاصيتن سان جيڪي اسان اڳ ۾ بيان ڪيا آهن، پر هڪ مختلف رنگ سان. هي آف بٽڻ لاءِ انداز هوندو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - client.println 1

سيٽنگ Web صفحي جو پهريون عنوان
ايندڙ لائن ۾ توهان پنهنجي پهرين هيڊنگ سيٽ ڪري سگهو ٿا web صفحو. هتي اسان وٽ "ESP32" آهي Web "سرور"، پر توهان هن متن کي جيڪو توهان چاهيو ٿا تبديل ڪري سگهو ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - Web صفحي جو عنوانبٽڻ ۽ لاڳاپيل حالت ڏيکارڻ
پوءِ، توهان GPIO 26 جي موجوده حالت ڏيکارڻ لاءِ هڪ پيراگراف لکو. جيئن توهان ڏسي سگهو ٿا ته اسان output26State متغير استعمال ڪندا آهيون، ته جيئن جڏهن هي متغير تبديل ٿئي ته حالت فوري طور تي اپڊيٽ ٿئي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - متغير تبديليونپوءِ، اسين GPIO جي موجوده حالت تي منحصر ڪري، آن يا آف بٽڻ ڏيکاريندا آهيون. جيڪڏهن GPIO جي موجوده حالت بند آهي، ته اسين آن بٽڻ ڏيکاريندا آهيون، جيڪڏهن نه، ته اسين آف بٽڻ ڏيکاريندا آهيون.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - آف بٽڻ ڏيکاريواسان GPIO 27 لاءِ ساڳيو طريقو استعمال ڪريون ٿا.
ڪنيڪشن بند ڪرڻ
آخرڪار، جڏهن جواب ختم ٿئي ٿو، اسان هيڊر متغير کي صاف ڪريون ٿا، ۽ ڪلائنٽ سان client.stop() سان ڪنيڪشن بند ڪريون ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪنيڪشن بند ڪرڻ

وڍڻ

هن سبق ۾ اسان توهان کي ڏيکاريو آهي ته ڪيئن ٺاهيو web ESP32 سان سرور. اسان توهان کي هڪ سادي مثال ڏيکاريو آهيampلي جيڪو ٻن ايل اي ڊي کي ڪنٽرول ڪري ٿو، پر خيال اهو آهي ته انهن ايل اي ڊي کي رلي سان تبديل ڪيو وڃي، يا ڪنهن ٻئي آئوٽ پٽ سان جيڪو توهان ڪنٽرول ڪرڻ چاهيو ٿا.

پروجيڪٽ 6 آر جي بي ايل اي ڊي Web سرور

هن پروجيڪٽ ۾ اسين توهان کي ڏيکارينداسين ته ڪيئن هڪ ESP32 بورڊ سان هڪ RGB LED کي ريموٽ ڪنٽرول ڪجي web رنگ چونڊيندڙ سان سرور.
پروجيڪٽ ختمview
شروع ڪرڻ کان اڳ، اچو ته ڏسون ته هي منصوبو ڪيئن ڪم ڪري ٿو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پروجيڪٽ ختمview

  • اي ايس پي 32 web سرور هڪ رنگ چونڊيندڙ ڏيکاري ٿو.
  • جڏهن توهان رنگ چونڊيو ٿا، ته توهان جو برائوزر هڪ درخواست ڪري ٿو URL جنهن ۾ چونڊيل رنگ جا آر، جي، ۽ بي پيرا ميٽر شامل آهن.
  • توهان جو ESP32 درخواست وصول ڪري ٿو ۽ هر رنگ جي پيرا ميٽر لاءِ قدر ورهائي ٿو.
  • پوءِ، اهو RGB LED کي ڪنٽرول ڪندڙ GPIOs کي لاڳاپيل قدر سان هڪ PWM سگنل موڪلي ٿو.

آر جي بي ايل اي ڊي ڪيئن ڪم ڪن ٿا؟
هڪ عام ڪيٿوڊ آر جي بي ايل اي ڊي ۾، سڀئي ٽي ايل اي ڊي هڪ منفي ڪنيڪشن (ڪيٿوڊ) شيئر ڪن ٿا. ڪِٽ ۾ شامل سڀئي عام ڪيٿوڊ آر جي بي آهن.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - RGB LEDs ڪم ڪن ٿامختلف رنگ ڪيئن ٺاهجن؟
آر جي بي ايل اي ڊي سان، يقيناً، توهان ڳاڙهي، سائي ۽ نيري روشني پيدا ڪري سگهو ٿا، ۽ هر ايل اي ڊي جي شدت کي ترتيب ڏيڻ سان، توهان ٻيا رنگ پڻ پيدا ڪري سگهو ٿا.
مثال طورampها، خالص نيري روشني پيدا ڪرڻ لاءِ، توهان نيري ايل اي ڊي کي سڀ کان وڌيڪ شدت تي ۽ سائي ۽ ڳاڙهي ايل اي ڊي کي گهٽ ۾ گهٽ شدت تي سيٽ ڪندا. اڇي روشني لاءِ، توهان سڀني ٽنهي ايل اي ڊي کي سڀ کان وڌيڪ شدت تي سيٽ ڪندا.
رنگ ملائڻ
ٻيا رنگ پيدا ڪرڻ لاءِ، توهان ٽنهي رنگن کي مختلف شدتن ۾ گڏ ڪري سگهو ٿا. هر LED جي شدت کي ترتيب ڏيڻ لاءِ توهان PWM سگنل استعمال ڪري سگهو ٿا.
ڇاڪاڻ ته ايل اي ڊي هڪ ٻئي جي تمام ويجهو آهن، اسان جون اکيون ٽن رنگن جي انفرادي طور تي بدران رنگن جي ميلاپ جو نتيجو ڏسن ٿيون.
رنگن کي ڪيئن گڏ ڪجي ان بابت خيال حاصل ڪرڻ لاءِ، هيٺ ڏنل چارٽ تي نظر وجهو.
هي رنگن جي ميلاپ جو آسان ترين چارٽ آهي، پر توهان کي هڪ خيال ڏئي ٿو ته اهو ڪيئن ڪم ڪري ٿو ۽ مختلف رنگ ڪيئن پيدا ڪجي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مختلف رنگحصا گهربل
هن منصوبي لاءِ توهان کي هيٺين حصن جي ضرورت پوندي:

  • ESP32 DEVKIT V1 بورڊ
  • RGB LED
  • 3x 220 اوهم مزاحمت ڪندڙ
  • جمپر تار
  • مانيءَ جو تختو

اسڪيميLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽڪڪوڊ
اسين ESP32 کي Arduino IDE استعمال ڪندي پروگرام ڪنداسين، تنهن ڪري پڪ ڪريو ته توهان اڳتي وڌڻ کان اڳ ESP32 ايڊ آن انسٽال ڪيو آهي: (جيڪڏهن توهان هي قدم اڳ ۾ ئي ڪري چڪا آهيو، ته توهان ايندڙ قدم تي وڃي سگهو ٿا.)

  • Arduino IDE ۾ ESP32 ايڊ آن انسٽال ڪرڻ

سرڪٽ کي گڏ ڪرڻ کان پوءِ، ڪوڊ کوليو
پروجيڪٽ_6_آر جي بي_ايل اي ڊي_Webarduino IDE ۾ _Server.ino.
ڪوڊ اپلوڊ ڪرڻ کان اڳ، پنهنجي نيٽ ورڪ سندون داخل ڪرڻ نه وساريو ته جيئن ESP توهان جي مقامي نيٽ ورڪ سان ڳنڍجي سگهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مقامي نيٽ ورڪڪوڊ ڪيئن ڪم ڪندو آهي
ESP32 اسڪيچ WiFi.h لائبريري استعمال ڪري ٿو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - WiFi.h لائبريريهيٺيون لائينون درخواست مان آر، جي، ۽ بي پيرا ميٽرز کي رکڻ لاءِ اسٽرنگ متغيرن کي بيان ڪن ٿيون.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسٽرنگ ريڊ اسٽرنگايندڙ چار متغير بعد ۾ 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 چينلز کي لاڳاپيل GPIOs سان ڳنڍيو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - لاڳاپيل GPIOsهيٺ ڏنل ڪوڊ سيڪشن توهان جي ۾ رنگ چونڊيندڙ ڏيکاري ٿو web صفحو ۽ توهان جي چونڊيل رنگ جي بنياد تي درخواست ڪري ٿو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - چونڊيلLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - client.printlnLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - client.println 1جڏهن توهان ڪو رنگ چونڊيندا آهيو، توهان کي هيٺ ڏنل فارميٽ سان هڪ درخواست ملندي آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - هيٺ ڏنل فارميٽ

تنهن ڪري، اسان کي R، G، ۽ B پيرا ميٽرز حاصل ڪرڻ لاءِ هن اسٽرنگ کي ورهائڻ جي ضرورت آهي. پيرا ميٽرز ريڊ اسٽرنگ، گرين اسٽرنگ، ۽ بليو اسٽرنگ متغيرن ۾ محفوظ ڪيا ويا آهن ۽ انهن جي قيمت 0 ۽ 255 جي وچ ۾ ٿي سگهي ٿي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - هيڊرLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - هيڊر 1ESP32 سان پٽي کي ڪنٽرول ڪرڻ لاءِ، ledcWrite() فنڪشن استعمال ڪريو ته جيئن HTTP مان ڊيڪوڊ ڪيل قدرن سان PWM سگنل پيدا ڪري سگهجن. درخواست.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - HTTP درخواست 1نوٽ: ESP32 سان PWM بابت وڌيڪ سکو: پروجيڪٽ 3 ESP32 PWM (اينالاگ آئوٽ پُٽ)
ESP8266 سان پٽي کي ڪنٽرول ڪرڻ لاءِ، اسان کي صرف استعمال ڪرڻ جي ضرورت آهي
analogWrite() فنڪشن HTPP درخواست مان ڊيڪوڊ ڪيل قدرن سان PWM سگنل پيدا ڪرڻ لاءِ.
اينالاگ رائٽ (ڳاڙهو پن، ڳاڙهو اسٽرنگ.ٽو انٽ ())؛
اينالاگ رائٽ (گرين پن، گرين اسٽرنگ.ٽو انٽ ())؛
اينالاگ رائٽ (نيرو پن، نيرو اسٽرنگ.ٽو انٽ ())
ڇاڪاڻ ته اسان کي اسٽرنگ متغير ۾ قدر ملن ٿا، اسان کي انهن کي toInt() طريقو استعمال ڪندي انٽيجرز ۾ تبديل ڪرڻ جي ضرورت آهي.
مظاهرو
پنھنجي نيٽ ورڪ سندون داخل ڪرڻ کان پوءِ، صحيح بورڊ ۽ COM پورٽ چونڊيو ۽ ڪوڊ کي پنھنجي ESP32 تي اپلوڊ ڪريو. ڪوڊ ريفرنس جا مرحلا اپ لوڊ ڪريو.
اپلوڊ ڪرڻ کان پوءِ، سيريل مانيٽر کي 115200 جي باڊ ريٽ تي کوليو ۽ ESP Enable/Reset بٽڻ کي دٻايو. توهان کي بورڊ جو IP پتو ملڻ گهرجي.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 ۽ اسان کي هاءِ وول کي ڪنٽرول ڪرڻ جي اجازت ڏئي ٿوtagجهڙوڪ 12V، 24V يا مين وولtagاي (يورپ ۾ 230V ۽ آمريڪا ۾ 120V).LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - رلي جو تعارفکاٻي پاسي، هاءِ وولٽ کي ڳنڍڻ لاءِ ٽن ساکٽ جا ٻه سيٽ آهنtages، ۽ ساڄي پاسي پن (گهٽ وولٽtage) ESP32 GPIOs سان ڳنڍيو.
مکيه جلدtage رابطاLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مينز جلدtage رابطاپوئين تصوير ۾ ڏيکاريل رلي ماڊيول ۾ ٻه ڪنيڪٽر آهن، هر هڪ ۾ ٽي ساکٽ آهن: عام (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):
  • هاءِ سگنل - ڪرنٽ نه وهي رهيو آهي
  • گهٽ سگنل - وهندڙ ڪرنٽ

جڏهن ڪرنٽ گهڻو ڪري وهندو هجي ته توهان کي عام طور تي بند ٿيل ترتيب استعمال ڪرڻ گهرجي، ۽ توهان ان کي ڪڏهن ڪڏهن روڪڻ چاهيو ٿا.
جڏهن توهان چاهيو ٿا ته ڪرنٽ ڪڏهن ڪڏهن وهندو رهي ته عام طور تي کليل ترتيب استعمال ڪريو (مثال طورampلي، ال آن ڪريوamp ڪڏهن ڪڏهن).
بجلي جي فراهمي جي چونڊLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پاور سپلائي چونڊپنن جو ٻيو سيٽ GND، VCC، ۽ JD-VCC پنن تي مشتمل آهي.
JD-VCC پن رلي جي برقي مقناطيس کي طاقت ڏئي ٿو. نوٽ ڪريو ته ماڊيول ۾ هڪ جمپر ڪيپ آهي جيڪو VCC ۽ JD-VCC پنن کي ڳنڍيندو آهي؛ هتي ڏيکاريل پيلو آهي، پر توهان جو رنگ مختلف ٿي سگهي ٿو.
جمپر ڪيپ آن ڪرڻ سان، VCC ۽ JD-VCC پن ڳنڍيل هوندا آهن. ان جو مطلب آهي ته رلي اليڪٽرو ميگنيٽ سڌو سنئون ESP32 پاور پن مان هلائي ٿو، تنهن ڪري رلي ماڊيول ۽ ESP32 سرڪٽ جسماني طور تي هڪ ٻئي کان الڳ نه آهن.
جمپر ڪيپ کان سواءِ، توهان کي JD-VCC پن ذريعي رلي جي برقي مقناطيس کي طاقت ڏيڻ لاءِ هڪ آزاد پاور سورس مهيا ڪرڻ جي ضرورت آهي. اها ترتيب جسماني طور تي رلي کي ESP32 کان ماڊل جي بلٽ ان آپٽوڪپلر سان الڳ ڪري ٿي، جيڪا برقي اسپائڪس جي صورت ۾ ESP32 کي نقصان کان بچائي ٿي.
اسڪيميLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽڪخبردار: هاءِ وول جو استعمالtagبجلي جي فراهمي سخت زخمي ٿي سگهي ٿي.
تنهن ڪري، هاءِ سپلائي وول جي بدران 5 ايم ايم ايل اي ڊي استعمال ڪيا وڃن ٿاtagتجربي ۾ اي بلب. جيڪڏهن توهان مينز واليم کان واقف نه آهيوtagمان ڪنهن کي پڇان ٿو جيڪو توهان جي مدد ڪري. ESP پروگرام ڪرڻ وقت يا پنهنجي سرڪٽ کي وائرنگ ڪرڻ وقت پڪ ڪريو ته هر شيءِ مين وول کان ڌار ٿيل آهي.tage.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مينز جلدtageESP32 لاءِ لائبريري انسٽال ڪرڻ
هن کي ٺاهڻ لاءِ web سرور، اسين ESPAsync استعمال ڪندا آهيونWebسرور لائبريري ۽ AsyncTCP لائبريري.
ESPAsync انسٽال ڪرڻWebسرور لائبريري
انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو اي ايس پي سنڪWebسرور لائبريري:

  1. ESPAsync ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو.Webسرور لائبريري. توهان وٽ هجڻ گهرجي
    توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي ESPAsync ملڻ گهرجي.Webسرور-ماسٽر فولڊر
  3. ESPAsync مان پنهنجي فولڊر جو نالو تبديل ڪريوWebسرور-ماسٽر کان ESPAsync تائينWebسرور
  4. ESPAsync منتقل ڪريوWebسرور فولڊر کي توهان جي Arduino IDE انسٽاليشن لائبريري فولڊر ڏانهن

متبادل طور تي، توهان جي Arduino IDE ۾، توهان Sketch > Include ڏانهن وڃي سگهو ٿا
لائبريري > .ZIP لائبريري شامل ڪريو... ۽ اها لائبريري چونڊيو جيڪا توهان هاڻي ڊائون لوڊ ڪئي آهي.
ESP32 لاءِ AsyncTCP لائبريري انسٽال ڪرڻ
جي اي ايس پي سنڪWebسرور لائبريري جي ضرورت آهي غير هم وقت ساز ٽي سي پي ڪم ڪرڻ لاءِ لائبريري. فالو ڪريو
لائبريري کي انسٽال ڪرڻ لاءِ ايندڙ قدم:

  1. AsyncTCP لائبريري ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو. توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر هجڻ گهرجي.
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي 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 ايڊ آن انسٽال ڪرڻ
گهربل لائبريريون انسٽال ڪرڻ کان پوءِ، ڪوڊ کوليو Project_7_ESP32_Relay_Webarduino IDE ۾ _Server.ino.
ڪوڊ اپلوڊ ڪرڻ کان اڳ، پنهنجي نيٽ ورڪ سندون داخل ڪرڻ نه وساريو ته جيئن ESP توهان جي مقامي نيٽ ورڪ سان ڳنڍجي سگهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اوڪل نيٽ ورڪمظاهرو
ضروري تبديليون ڪرڻ کان پوءِ، ڪوڊ کي پنهنجي 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_ سرور

هي پروجيڪٽ ڏيکاري ٿو ته ڪيئن ESP32 يا ESP8266 آئوٽ پُٽ کي ڪنٽرول ڪجي هڪ استعمال ڪندي web سرور ۽ هڪ ئي وقت هڪ جسماني بٽڻ. آئوٽ پُٽ اسٽيٽ کي اپڊيٽ ڪيو ويندو آهي web صفحو ڇا اهو جسماني بٽڻ ذريعي تبديل ڪيو ويو آهي يا web سرور
پروجيڪٽ ختمview
اچو ته هڪ مختصر نظر وجهون ته منصوبو ڪيئن ڪم ڪري ٿو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پروجيڪٽ ختمviewESP32 يا ESP8266 هڪ ميزباني ڪري ٿو web سرور جيڪو توهان کي آئوٽ پُٽ جي حالت کي ڪنٽرول ڪرڻ جي اجازت ڏئي ٿو؛

  • موجوده آئوٽ پُٽ اسٽيٽ تي ڏيکاريل آهي web سرور
  • اي ايس پي هڪ جسماني پش بٽڻ سان پڻ ڳنڍيل آهي جيڪو ساڳئي آئوٽ پُٽ کي ڪنٽرول ڪري ٿو؛
  • جيڪڏهن توهان فزيڪل پِهس بٽڻ استعمال ڪندي آئوٽ پُٽ اسٽيٽ کي تبديل ڪندا آهيو، ته ان جي موجوده اسٽيٽ پڻ اپڊيٽ ٿيندي آهي web سرور

مختصر ۾، هي منصوبو توهان کي هڪ استعمال ڪندي ساڳئي آئوٽ پٽ کي ڪنٽرول ڪرڻ جي اجازت ڏئي ٿو web سرور ۽ هڪ ئي وقت هڪ پش بٽڻ. جڏهن به آئوٽ پُٽ اسٽيٽ تبديل ٿيندي آهي، ته web سرور اپڊيٽ ٿيل آهي.
حصا گهربل
هتي سرڪٽ ٺاهڻ لاءِ گهربل حصن جي هڪ فهرست آهي:

  • ESP32 DEVKIT V1 بورڊ
  • 5 ملي ايم ايل اي ڊي
  • 220 اوهم مزاحمت ڪندڙ
  • پش پٽن
  • 10k Ohm مزاحمتي
  • مانيءَ جو تختو
  • جمپر تار

اسڪيميLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽ 1ESP32 لاءِ لائبريري انسٽال ڪرڻ
هن کي ٺاهڻ لاءِ web سرور، اسين ESPAsync استعمال ڪندا آهيونWebسرور لائبريري ۽ AsyncTCP لائبريري. (جيڪڏهن توهان اڳ ۾ ئي هي قدم ڪري چڪا آهيو، ته توهان ايندڙ قدم تي وڃي سگهو ٿا.)
ESPAsync انسٽال ڪرڻWebسرور لائبريري
ESPAsync انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريوWebسرور لائبريري:

  1. ESPAsync ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو.Webسرور لائبريري. توهان وٽ هجڻ گهرجي
    توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي ESPAsync ملڻ گهرجي.Webسرور-ماسٽر فولڊر
  3. ESPAsync مان پنهنجي فولڊر جو نالو تبديل ڪريوWebسرور-ماسٽر کان ESPAsync تائينWebسرور
  4. ESPAsync منتقل ڪريوWebسرور فولڊر کي توهان جي Arduino IDE انسٽاليشن لائبريري فولڊر ڏانهن
    متبادل طور تي، توهان جي Arduino IDE ۾، توهان Sketch > Include ڏانهن وڃي سگهو ٿا
    لائبريري > .ZIP لائبريري شامل ڪريو... ۽ اها لائبريري چونڊيو جيڪا توهان هاڻي ڊائون لوڊ ڪئي آهي.

ESP32 لاءِ AsyncTCP لائبريري انسٽال ڪرڻ
ESPAsyncWebسرور لائبريري کي ڪم ڪرڻ لاءِ AsyncTCP لائبريري جي ضرورت آهي. ان لائبريري کي انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو:

  1. AsyncTCP لائبريري ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو. توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر هجڻ گهرجي.
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي 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 متغير LED آئوٽ پُٽ اسٽيٽ رکي ٿو. ڊفالٽ لاءِ، جڏهن web سرور شروع ٿئي ٿو، اهو گهٽ آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ ورڪس

بٽڻ اسٽيٽ ۽ آخري بٽڻ اسٽيٽ استعمال ڪيا ويندا آهن ته پش بٽڻ دٻايو ويو هو يا نه.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - دٻايو ويوبٽڻ (web سرور)
اسان index_html متغير تي بٽڻ ٺاهڻ لاءِ HTML شامل نه ڪيو.
اهو ئي سبب آهي جو اسان چاهيون ٿا ته ان کي موجوده LED حالت جي لحاظ کان تبديل ڪري سگهون جيڪو پش بٽڻ سان پڻ تبديل ڪري سگهجي ٿو.
تنهنڪري، اسان بٽڻ %BUTTONPLACEHOLDER% لاءِ هڪ پلیس هولڊر ٺاهيو آهي جيڪو HTML ٽيڪسٽ سان تبديل ڪيو ويندو ته جيئن بعد ۾ ڪوڊ تي بٽڻ ٺاهيو وڃي (اهو پروسيسر() فنڪشن ۾ ڪيو ويندو آهي).LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - دٻايو ويو 1پروسيسر ()
پروسيسر() فنڪشن HTML ٽيڪسٽ تي ڪنهن به جڳهه هولڊر کي اصل قدرن سان تبديل ڪري ٿو. پهرين، اهو چيڪ ڪري ٿو ته HTML ٽيڪسٽ ۾ ڪو به شامل آهي يا نه
جڳھ رکندڙ %BUTTONPLACEHOLDER%.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پروسيسرپوءِ، theoutputState() فنڪشن کي ڪال ڪريو جيڪو موجوده آئوٽ پُٽ اسٽيٽ واپس ڪري ٿو. اسان ان کي outputStateValue متغير ۾ محفوظ ڪريون ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - آئوٽ پُٽ اسٽيٽان کان پوءِ، بٽڻ کي صحيح حالت ۾ ڏيکارڻ لاءِ HTML ٽيڪسٽ ٺاهڻ لاءِ ان قدر کي استعمال ڪريو:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 4آئوٽ پُٽ اسٽيٽ (جاوا اسڪرپٽ) کي تبديل ڪرڻ لاءِ HTTP GET درخواست
جڏهن توهان بٽڻ دٻايو ٿا، ته ٽوگل چيڪ باڪس () فنڪشن سڏجي ٿو. هي فنڪشن مختلف تي درخواست ڪندو URLLED کي آن يا آف ڪرڻ لاءِ.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - جاوا اسڪرپٽLED کي آن ڪرڻ لاءِ، اهو /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 بنيادي اسٽارٽر ڪٽ - ليڊ اسٽيٽLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ان پٽ پيرمجڏهن / رياست تي درخواست ملي ٿي URL، اسين موجوده آئوٽ پُٽ اسٽيٽ موڪليندا آهيون:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - آئوٽ پُٽ اسٽيٽلوپ ()
لوپ() ۾، اسان پش بٽڻ کي ڊيبائونس ڪريون ٿا ۽ ايل اي ڊي کي آن يا آف ڪريون ٿا جيڪو ايل اي ڊي اسٽيٽ جي قيمت تي منحصر آهي. متغير.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - لوپ 1مظاهرو
ڪوڊ کي پنهنجي ESP32 بورڊ تي اپلوڊ ڪريو. ڪوڊ ريفرنس مرحلا اپلوڊ ڪريو.
پوءِ، سيريل مانيٽر کي 115200 جي باڊ ريٽ تي کوليو. IP پتو حاصل ڪرڻ لاءِ آن بورڊ EN/RST بٽڻ کي دٻايو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مظاهروپنهنجي مقامي نيٽ ورڪ تي هڪ برائوزر کوليو، ۽ ESP IP پتو ٽائيپ ڪريو. توهان کي رسائي هجڻ گهرجي web سرور جيئن هيٺ ڏيکاريل آهي.
نوٽ: توهان جو برائوزر ۽ ESP32 ساڳئي LAN سان ڳنڍيل هجڻ گهرجن.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - برائوزرتوهان بٽڻ کي ٽوگل ڪري سگهو ٿا web LED آن ڪرڻ لاءِ سرور.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - web سرور 1توهان ساڳئي LED کي جسماني پش بٽڻ سان پڻ ڪنٽرول ڪري سگهو ٿا. ان جي حالت هميشه خودڪار طريقي سان اپڊيٽ ڪئي ويندي web سرور

پروجيڪٽ 9 ESP32 DHT11 Web سرور

هن پروجيڪٽ ۾، توهان سکندا ته هڪ غير هم وقت ساز ESP32 ڪيئن ٺاهيو وڃي. web DHT11 سان سرور جيڪو Arduino IDE استعمال ڪندي گرمي پد ۽ نمي ڏيکاري ٿو.
شرطون
جي web سرور جيڪو اسان ٺاهينداسين اهو ريڊنگز کي خودڪار طريقي سان اپڊيٽ ڪندو بغير ريفريش ڪرڻ جي web صفحو.
هن منصوبي سان توهان سکندا:

  • DHT سينسر مان گرمي پد ۽ نمي ڪيئن پڙهجي؛
  • هڪ غير هم وقت ساز ٺاهيو web سرور استعمال ڪندي اي ايس پي سنڪWebسرور لائبريري;
  • سينسر ريڊنگز کي ريفريش ڪرڻ جي ضرورت کان سواءِ خودڪار طريقي سان اپڊيٽ ڪريو web صفحو.

هم وقت ساز Web سرور
ٺاهڻ لاءِ web سرور جيڪو اسين استعمال ڪنداسين اي ايس پي سنڪWebسرور لائبريري جيڪو هڪ غير هم وقت ساز ٺاهڻ جو آسان طريقو فراهم ڪري ٿو web سرور. هڪ غير هم وقت ساز ٺاهڻ web سرور جا ڪيترائي فائدا آهنtagجيئن لائبريري GitHub صفحي ۾ ذڪر ڪيو ويو آهي، جهڙوڪ:

  • "هڪ ئي وقت هڪ کان وڌيڪ ڪنيڪشن سنڀاليو"؛
  • "جڏهن توهان جواب موڪليو ٿا، توهان فوري طور تي ٻين ڪنيڪشن کي سنڀالڻ لاءِ تيار آهيو جڏهن ته سرور پس منظر ۾ جواب موڪلڻ جو خيال رکي ٿو"؛
  • "ٽيمپليٽ کي سنڀالڻ لاءِ سادو ٽيمپليٽ پروسيسنگ انجن"؛

حصا گهربل
هن سبق کي مڪمل ڪرڻ لاءِ توهان کي هيٺين حصن جي ضرورت پوندي:

  • ESP32 ڊولپمينٽ بورڊ
  • DHT11 ماڊل
  • مانيءَ جو تختو
  • جمپر تار

اسڪيميLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽ 2لائبريريون لڳائڻ
هن منصوبي لاءِ توهان کي ڪجهه لائبريريون انسٽال ڪرڻ گهرجن:

DHT سينسر لائبريري انسٽال ڪرڻ
Arduino IDE استعمال ڪندي DHT سينسر مان پڙهڻ لاءِ، توهان کي انسٽال ڪرڻو پوندو DHT سينسر لائبريريلائبريري انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو.

  1. DHT سينسر لائبريري ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو. توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر هجڻ گهرجي.
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي DHT-sensor-library-master فولڊر ملندو.
  3. پنھنجي فولڊر جو نالو DHT-sensor-library-master کان تبديل ڪري DHT_sensor ڪريو.
  4. DHT_sensor فولڊر کي پنھنجي Arduino IDE انسٽاليشن لائبريري فولڊر ۾ منتقل ڪريو.
  5. آخرڪار، پنهنجو Arduino IDE ٻيهر کوليو.

ايڊافروٽ يونيفائيڊ سينسر ڊرائيور انسٽال ڪرڻ
توهان کي پڻ انسٽال ڪرڻ جي ضرورت آهي ايڊافروٽ يونيفائيڊ سينسر ڊرائيور لائبريري DHT سينسر سان ڪم ڪرڻ لاءِ. لائبريري انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو.

  1. ايڊافروٽ يونائيٽيڊ سينسر لائبريري ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو. توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر هجڻ گهرجي.
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي Adafruit_sensor-master فولڊر ملندو.
  3. پنھنجي فولڊر جو نالو Adafruit_sensor-master کان تبديل ڪري Adafruit_sensor ڪريو.
  4. Adafruit_sensor فولڊر کي پنھنجي Arduino IDE انسٽاليشن لائبريري فولڊر ۾ منتقل ڪريو.
  5. آخرڪار، پنهنجو Arduino IDE ٻيهر کوليو.

ESPAsync انسٽال ڪرڻWebسرور لائبريري

انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو اي ايس پي سنڪWebسرور لائبريري:

  1. ESPAsync ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو.Webسرور لائبريري. توهان وٽ هجڻ گهرجي
    توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي گهرجي
    ESPAsync حاصل ڪريوWebسرور-ماسٽر فولڊر
  3. ESPAsync مان پنهنجي فولڊر جو نالو تبديل ڪريوWebسرور-ماسٽر کان ESPAsync تائينWebسرور
  4. ESPAsync منتقل ڪريوWebسرور فولڊر کي توهان جي Arduino IDE انسٽاليشن لائبريري فولڊر ڏانهن

ESP32 لاءِ Async TCP لائبريري انسٽال ڪرڻ
جي اي ايس پي سنڪWebسرور لائبريري جي ضرورت آهي غير هم وقت ساز ٽي سي پي ڪم ڪرڻ لاءِ لائبريري. ان لائبريري کي انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو:

  1. AsyncTCP لائبريري ڊائون لوڊ ڪرڻ لاءِ هتي ڪلڪ ڪريو. توهان جي ڊائون لوڊ فولڊر ۾ هڪ .zip فولڊر هجڻ گهرجي.
  2. .zip فولڊر کي ان زپ ڪريو ۽ توهان کي 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 سرور. DHT11 يا DHT22 سينسر مان پڙهڻ لاءِ Adafruit_Sensor ۽ DHT لائبريريون گهربل آهن.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 بنيادي اسٽارٽر ڪٽ - readDHTHumidityLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - سينسر ريڊنگسينسر ريڊنگ حاصل ڪرڻ ايترو ئي آسان آهي جيترو استعمال ڪرڻ سينسر ريڊنگ حاصل ڪرڻ ايترو ئي آسان آهي جيترو dht آبجيڪٽ تي readTemperature() ۽ readHumidity() طريقن کي استعمال ڪرڻ.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اعتراضاسان وٽ هڪ شرط پڻ آهي جيڪا سينسر جي ريڊنگ حاصل ڪرڻ ۾ ناڪام ٿيڻ جي صورت ۾ ٻه ڊيش (–) واپس ڪري ٿي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - پڙهڻريڊنگز کي اسٽرنگ ٽائپ طور واپس ڪيو ويندو آهي. فلوٽ کي اسٽرنگ ۾ تبديل ڪرڻ لاءِ، اسٽرنگ() فنڪشن استعمال ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسٽرنگڊفالٽ طور، اسين درجه حرارت کي سيلسيس درجن ۾ پڙهي رهيا آهيون. فارنهائيٽ درجن ۾ درجه حرارت حاصل ڪرڻ لاءِ، درجه حرارت کي سيلسيس ۾ تبصرو ڪريو ۽ درجه حرارت کي فارنهائيٽ ۾ غير تبصرو ڪريو، ته جيئن توهان وٽ هيٺ ڏنل هجي:LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - فارنهائيٽLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - فارنهائيٽ 1ڪوڊ اپ لوڊ ڪريو
هاڻي، ڪوڊ کي پنهنجي ESP32 تي اپلوڊ ڪريو. پڪ ڪريو ته توهان صحيح بورڊ ۽ COM پورٽ چونڊيو آهي. ڪوڊ ريفرنس مرحلا اپ لوڊ ڪريو.
اپلوڊ ڪرڻ کان پوءِ، سيريل مانيٽر کي 115200 جي باڊ ريٽ تي کوليو. ESP32 ري سيٽ بٽڻ کي دٻايو. ESP32 IP پتو سيريل ۾ پرنٽ ٿيڻ گهرجي. نگراني.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ اپلوڊ ڪريومظاهرو
هڪ برائوزر کوليو ۽ ESP32 IP پتو ٽائيپ ڪريو. توهان جو web سرور کي جديد سينسر ريڊنگ ڏيکارڻ گهرجي.
نوٽ: توهان جو برائوزر ۽ ESP32 ساڳئي LAN سان ڳنڍيل هجڻ گهرجن.
نوٽ ڪريو ته گرمي پد ۽ نمي جي پڙهائي خودڪار طريقي سان اپڊيٽ ٿي ويندي آهي بغير ريفريش ڪرڻ جي web صفحو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - مظاهرو 1

پروجيڪٽ_10_ESP32_OLED_ڊسپلي

هي پروجيڪٽ ڏيکاري ٿو ته ڪيئن 0.96 انچ SSD1306 OLED ڊسپلي کي ESP32 سان Arduino IDE استعمال ڪندي استعمال ڪجي.
0.96 انچ OLED ڊسپلي متعارف ڪرائڻ
جي OLED ڊسپلي هن سبق ۾ اسين جيڪو استعمال ڪنداسين اهو SSD1306 ماڊل آهي: هڪ مونوڪولر، 0.96 انچ ڊسپلي 128×64 پڪسلز سان جيئن هيٺ ڏنل شڪل ۾ ڏيکاريل آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - OLED ڊسپليOLED ڊسپلي کي بيڪ لائيٽ جي ضرورت ناهي، جنهن جي نتيجي ۾ اونداهي ماحول ۾ تمام سٺو ڪنٽراسٽ ملندو آهي. ان کان علاوه، ان جا پڪسل صرف تڏهن توانائي استعمال ڪن ٿا جڏهن اهي آن هوندا آهن، تنهن ڪري OLED ڊسپلي ٻين ڊسپلي جي مقابلي ۾ گهٽ بجلي استعمال ڪري ٿو.
ڇاڪاڻ ته OLED ڊسپلي I2C ڪميونيڪيشن پروٽوڪول استعمال ڪري ٿو، وائرنگ تمام سادي آهي. توهان هيٺ ڏنل جدول کي حوالي طور استعمال ڪري سگهو ٿا.

OLED پن اي ايسڪسڪسينڪس
ون 3.3V
جي اين ڊي جي اين ڊي
SCL GPIO 22
ايس ڊي اي GPIO 21

اسڪيميLAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪيميٽڪSSD1306 OLED لائبريري انسٽال ڪرڻ - ESP32
ESP32 سان OLED ڊسپلي کي ڪنٽرول ڪرڻ لاءِ ڪيتريون ئي لائبريريون موجود آهن.
هن سبق ۾ اسين ٻه ايڊافروٽ لائبريريون استعمال ڪنداسين: ايڊافروٽ_ايس ايس ڊي 1306 لائبريري ۽ ايڊافروٽ_جي ايف ايڪس لائبريري.
انهن لائبريرين کي انسٽال ڪرڻ لاءِ ايندڙ قدمن تي عمل ڪريو.

  1. پنهنجو Arduino IDE کوليو ۽ Sketch > Include Library > Manage Libraries ڏانهن وڃو. لائبريري مئنيجر کي کولڻ گهرجي.
  2. سرچ باڪس ۾ "SSD1306" ٽائيپ ڪريو ۽ Adafruit مان SSD1306 لائبريري انسٽال ڪريو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - OLED لائبريري-
  3. ايڊافروٽ مان 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 استعمال ڪرڻ لاءِ وائر لائبريري ۽ ڊسپلي تي لکڻ لاءِ ايڊافروٽ لائبريريون: ايڊافروٽ_GFX ۽ ايڊافروٽ_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 ڊسپلي کي begin() طريقي سان شروع ڪريو جيئن هيٺ ڏنل آهي: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 بنيادي اسٽارٽر ڪٽ - ڊسپلي 1setTextColor() طريقي سان فونٽ جو رنگ مقرر ڪريو:
WHITE اڇو فونٽ ۽ ڪارو پس منظر سيٽ ڪري ٿو.
سيٽ ڪرسر (x،y) طريقو استعمال ڪندي ٽيڪسٽ جي شروعات جي پوزيشن کي بيان ڪريو. هن صورت ۾، اسان ٽيڪسٽ کي (0,0،XNUMX) ڪوآرڊينيٽس تي شروع ڪرڻ لاءِ سيٽ ڪري رهيا آهيون - مٿي کاٻي ڪنڊ تي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - سيٽ ٽيڪسٽ رنگ 1آخرڪار، توهان هيٺ ڏنل طريقي سان println() طريقو استعمال ڪندي ڊسپلي ڏانهن متن موڪلي سگهو ٿا.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڪوڊ 5پوءِ، توهان کي اصل ۾ اسڪرين تي متن ڏيکارڻ لاءِ display() طريقو ڪال ڪرڻ جي ضرورت آهي.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - ڊسپلي

ايڊافروٽ OLED لائبريري متن کي آساني سان اسڪرول ڪرڻ لاءِ ڪارآمد طريقا مهيا ڪري ٿي.

  • startscrollright(0x00, 0x0F): متن کي کاٻي کان ساڄي طرف اسڪرول ڪريو
  • startscrollleft(0x00, 0x0F): متن کي ساڄي کان کاٻي طرف اسڪرول ڪريو
  • startscrolldiagright(0x00, 0x07): هيٺئين کاٻي ڪنڊ کان ساڄي مٿي ڪنڊ تائين متن اسڪرول ڪريو startscrolldiagleft(0x00, 0x07): هيٺئين ساڄي ڪنڊ کان مٿيئين ڪنڊ تائين متن اسڪرول ڪريو

ڪوڊ اپ لوڊ ڪريو
هاڻي، ڪوڊ کي پنهنجي ESP32 تي اپلوڊ ڪريو. ڪوڊ ريفرنس جا مرحلا اپ لوڊ ڪريو.
ڪوڊ اپلوڊ ڪرڻ کان پوءِ، OLED اسڪرولنگ ٽيڪسٽ ڏيکاريندو.LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ - اسڪرولنگ ٽيڪسٽLAFVIN لوگو

دستاويز / وسيلا

LAFVIN ESP32 بنيادي اسٽارٽر ڪٽ [pdf] هدايت نامو
ESP32 بنيادي اسٽارٽر ڪٽ، ESP32، بنيادي اسٽارٽر ڪٽ، اسٽارٽر ڪٽ

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *