ESP32 මූලික ආරම්භකය
කට්ටලය
ඇහුරුම් ලැයිස්තුව
ESP32 හැඳින්වීම
ESP32 වෙත අලුත්ද? මෙතනින් පටන් ගන්න! ESP32 යනු Wi-Fi සහ Bluetooth රැහැන් රහිත හැකියාවන් සහ dual-core ප්රොසෙසරය ඇතුළත් Espressif විසින් වැඩි දියුණු කරන ලද චිප් (SoC) ක්ෂුද්ර පාලක මත අඩු වියදම් සහ අඩු බල පද්ධති මාලාවකි. ඔබ ESP8266 ගැන හුරුපුරුදු නම්, ESP32 එහි අනුප්රාප්තිකයා වන අතර, එය බොහෝ නව විශේෂාංග වලින් පිරී ඇත.ESP32 පිරිවිතර
ඔබට තව ටිකක් තාක්ෂණික සහ නිශ්චිතව ලබා ගැනීමට අවශ්ය නම්, ඔබට ESP32 හි පහත සවිස්තරාත්මක පිරිවිතරයන් දෙස බැලිය හැකිය (මූලාශ්රය: http://esp32.net/)-වැඩි විස්තර සඳහා, දත්ත පත්රිකාව පරීක්ෂා කරන්න):
- රැහැන් රහිත සම්බන්ධතා WiFi: HT150.0 සමඟ 40 Mbps දත්ත අනුපාතය
- බ්ලූටූත්: BLE (Bluetooth Low Energy) සහ Bluetooth Classic
- ප්රොසෙසරය: Tensilica Xtensa Dual-Core 32-bit LX6 මයික්රොප්රොසෙසරය, 160 හෝ 240 MHz දී ධාවනය වේ
- මතකය:
- ROM: 448 KB (ආරම්භ කිරීම සහ මූලික කාර්යයන් සඳහා)
- SRAM: 520 KB (දත්ත සහ උපදෙස් සඳහා)
- RTC fas SRAM: 8 KB (Data ගබඩා කිරීම සඳහා සහ ගැඹුරු නින්දේ මාදිලියෙන් 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 සමඟ පර්යන්ත අතුරුමුහුණත
- ADCs (Analog-to-Digital Converter)
- DACs (ඩිජිටල් සිට ඇනලොග් පරිවර්තකය)
- I²C (අන්තර්-ඒකාබද්ධ පරිපථය)
- UART (විශ්වීය අසමමුහුර්ත ග්රාහක/සම්ප්රේෂක)
- SPI (Serial Peripheral Interface)
- I²S (Integrated Interchip Sound)
- RMII (අඩු කළ මාධ්ය-ස්වාධීන අතුරුමුහුණත)
- PWM (ස්පන්දන-පළල මොඩියුලේෂන්)
ආරක්ෂාව: AES සහ SSL/TLS සඳහා දෘඪාංග ත්වරණකාරක
ESP32 සංවර්ධන මණ්ඩල
ESP32 යනු හිස් ESP32 චිපයයි. කෙසේ වෙතත්, "ESP32" පදය ESP32 සංවර්ධන මණ්ඩල වෙත යොමු කිරීමට ද භාවිතා වේ. ESP32 හිස් චිප් භාවිතා කිරීම පහසු හෝ ප්රායෝගික නොවේ, විශේෂයෙන් ඉගෙනීම, පරීක්ෂා කිරීම සහ මූලාකෘති කිරීම. බොහෝ විට, ඔබට ESP32 සංවර්ධන මණ්ඩලයක් භාවිතා කිරීමට අවශ්ය වනු ඇත.
අපි යොමු කිරීමක් ලෙස ESP32 DEVKIT V1 පුවරුව භාවිතා කරන්නෙමු. පහත පින්තූරයේ දැක්වෙන්නේ GPIO පින් 32ක් සහිත අනුවාදය ESP1 DEVKIT V30 පුවරුවයි.පිරිවිතර - ESP32 DEVKIT V1
පහත වගුවේ දැක්වෙන්නේ ESP32 DEVKIT V1 DOIT පුවරු විශේෂාංග සහ පිරිවිතරවල සාරාංශයකි:
හර ගණන | 2 (ද්විත්ව හරය) |
Wifi | 2.4 GHz 150 Mbits/s දක්වා |
බ්ලූටූත් | BLE (Bluetooth Low Energy) සහ ලෙගසි බ්ලූටූත් |
ගෘහ නිර්මාණ ශිල්පය | බිටු 32ක් |
ඔරලෝසු සංඛ්යාතය | 240 MHz දක්වා |
RAM | 512 කි.බ |
අල්ෙපෙනති | 30 (ආකෘතිය අනුව) |
පර්යන්ත | ධාරිත්රක ස්පර්ශය, ADC (ඇනලොග් සිට ඩිජිටල් පරිවර්තකය), DAC (ඩිජිටල් සිට ඇනලොග් පරිවර්තකය), 12C (අන්තර්-ඒකාබද්ධ පරිපථය), UART (විශ්වීය අසමමුහුර්ත ග්රාහක/සම්ප්රේෂක), CAN 2.0 (පාලක ප්රදේශය Netwokr), SPI (අනුක්රමික පර්යන්ත අතුරුමුහුණත) , 12S (Integrated Inter-IC ශබ්දය), RMII (අඩු කළ මාධ්ය-ස්වාධීන අතුරුමුහුණත), PWM (ස්පන්දන පළල මොඩියුලේෂන්) සහ තවත් දේ. |
බිල්ට් බොත්තම් | RESET සහ BOOT බොත්තම් |
ඉදිකළ LED | GPIO2 වෙත සම්බන්ධිත නිල් LED; පුවරුව බලගන්වන බව පෙන්වන රතු LED ඉදි කර ඇත |
USB සිට UART දක්වා පාලම |
CP2102 |
එය ඔබට කේතය උඩුගත කිරීමට හෝ බලය යෙදවීමට පුවරුව ඔබේ පරිගණකයට සම්බන්ධ කිරීමට භාවිත කළ හැකි microUSB අතුරු මුහුණතක් සමඟින් පැමිණේ.
අනුක්රමික අතුරුමුහුණතක් භාවිතා කරමින් COM port එකක් හරහා ඔබේ පරිගණකය සමඟ සන්නිවේදනය කිරීමට එය CP2102 චිපය (USB සිට UART දක්වා) භාවිතා කරයි. තවත් ජනප්රිය චිපයක් වන්නේ CH340 ය. ඔබේ පරිගණකයට පුවරුව සමඟ සන්නිවේදනය කිරීමට අවශ්ය ධාවක ස්ථාපනය කිරීමට අවශ්ය වන නිසා ඔබේ පුවරුවේ ඇති USB සිට UART චිප් පරිවර්තකය කුමක්දැයි පරීක්ෂා කරන්න (මේ පිළිබඳ වැඩිදුර තොරතුරු පසුව මෙම මාර්ගෝපදේශයෙහි).
මෙම පුවරුව පුවරුව නැවත ආරම්භ කිරීම සඳහා RESET බොත්තමක් (EN ලේබල් කළ හැක) සහ පුවරුව දැල්වෙන මාදිලියේ තැබීම සඳහා BOOT බොත්තමක් (කේතය ලබා ගැනීමට තිබේ) සමඟද පැමිණේ. සමහර පුවරු වල BOOT බොත්තමක් නොමැති බව සලකන්න.
එය GPIO 2 වෙත අභ්යන්තරව සම්බන්ධ කර ඇති බිල්ට් නිල් LED එකක් සමඟ ද පැමිණේ. මෙම LED යම් ආකාරයක දෘශ්ය භෞතික ප්රතිදානයක් ලබා දීම සඳහා දෝෂහරණය සඳහා ප්රයෝජනවත් වේ. ඔබ පුවරුවට බලය ලබා දෙන විට දැල්වෙන රතු LED එකක් ද ඇත.ESP32 පින්අවුට්
ESP32 පර්යන්තවලට ඇතුළත් වන්නේ:
- 18 Analog-to-Digital Converter (ADC) නාලිකා
- 3 SPI අතුරුමුහුණත්
- 3 UART අතුරුමුහුණත්
- 2 I2C අතුරුමුහුණත්
- 16 PWM ප්රතිදාන නාලිකා
- 2 ඩිජිටල් සිට ඇනලොග් පරිවර්තක (DAC)
- 2 I2S අතුරුමුහුණත්
- 10 ධාරිත්රක සංවේද GPIOs
ADC (ඇනලොග් සිට ඩිජිටල් පරිවර්තකය) සහ DAC (ඩිජිටල් සිට ඇනලොග් පරිවර්තකය) විශේෂාංග විශේෂිත ස්ථිතික පින් සඳහා පවරා ඇත. කෙසේ වෙතත්, ඔබට UART, I2C, SPI, PWM යනාදිය කුමන පින්ද යන්න තීරණය කළ හැකිය - ඔබට ඒවා කේතයට පැවරිය යුතුය. ESP32 චිපයේ multilexing විශේෂාංගය නිසා මෙය කළ හැකිය.
ඔබට මෘදුකාංගයේ pins ගුණාංග නිර්වචනය කළ හැකි වුවද, පහත රූපයේ දැක්වෙන පරිදි පෙරනිමියෙන් පවරා ඇති pins ඇත.අතිරේකව, විශේෂිත ව්යාපෘතියක් සඳහා සුදුසු හෝ නොවීමට නිශ්චිත විශේෂාංග සහිත අල්ෙපෙනති තිබේ. පහත වගුවේ දැක්වෙන්නේ යෙදවුම්, ප්රතිදාන ලෙස භාවිතා කිරීමට වඩාත් සුදුසු පින් මොනවාද සහ ඔබ ප්රවේශම් විය යුතු ඒවා මොනවාද යන්නයි.
කොළ පැහැයෙන් උද්දීපනය කර ඇති අල්ෙපෙනති භාවිතා කිරීම සුදුසුය. කහ පැහැයෙන් උද්දීපනය කර ඇති ඒවා භාවිතා කිරීමට සුදුසුය, නමුත් ඔබ අවධානය යොමු කළ යුතුය, මන්ද ඒවාට ප්රධාන වශයෙන් ආරම්භයේදී අනපේක්ෂිත හැසිරීමක් තිබිය හැකි බැවිනි. රතු පැහැයෙන් උද්දීපනය කර ඇති පින් ආදාන හෝ ප්රතිදානය ලෙස භාවිතා කිරීම නිර්දේශ නොකරයි.
GP IO | ආදානය | ප්රතිදානය | සටහන් |
0 | උඩට ඇද්දා | OK | ආරම්භයේදී PWM සංඥා ප්රතිදානය කරයි, ෆ්ලෑෂ් මාදිලියට ඇතුළු වීමට අඩු විය යුතුය |
1 | TX පින් | OK | ආරම්භයේදී නිදොස් ප්රතිදානය |
2 | OK | OK | පුවරුව LED වෙත සම්බන්ධ කර ඇති අතර, දැල්වෙන මාදිලියට ඇතුළු වීමට පාවෙන හෝ පහත් විය යුතුය |
3 | OK | RX පින් | ආරම්භයේදී ඉහළයි |
4 | OK | OK | |
5 | OK | OK | ආරම්භයේදී PWM සංඥාව ප්රතිදානය කරයි, strapping pin |
12 | OK | OK | ඉහළට, පටි pin එකක් ඇදී ගියහොත් boot අසාර්ථක වේ |
13 | OK | OK | |
14 | OK | OK | ආරම්භයේදී PWM සංඥාව ප්රතිදානය කරයි |
15 | OK | OK | ආරම්භයේදී PWM සංඥාව ප්රතිදානය කරයි, strapping pin |
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
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)
ධාරිත්රක ස්පර්ශ GPIOs
ESP32 හි අභ්යන්තර ධාරිත්රක ස්පර්ශ සංවේදක 10ක් ඇත. මේවාට මිනිස් සම වැනි විද්යුත් ආරෝපණයක් ඇති ඕනෑම දෙයක වෙනස්කම් දැනිය හැක. එබැවින් GPIOs ඇඟිල්ලෙන් ස්පර්ශ කිරීමේදී ඇතිවන වෙනස්කම් හඳුනා ගැනීමට ඔවුන්ට හැකිය. මෙම අල්ෙපෙනති පහසුවෙන් ධාරිත්රක පෑඩ් වලට ඒකාබද්ධ කර යාන්ත්රික බොත්තම් ප්රතිස්ථාපනය කළ හැකිය. ESP32 ගැඹුරු නින්දෙන් අවදි කිරීමට ධාරිත්රක ස්පර්ශක කටු භාවිතා කළ හැක. එම අභ්යන්තර ස්පර්ශ සංවේදක මෙම 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 ආදාන නාලිකා ඇත (ඊඑස්පී8266 සතුව ඇත්තේ 1x 10 බිටු ADC පමණි). මේවා ADC සහ අදාළ නාලිකා ලෙස භාවිතා කළ හැකි GPIOs වේ:
- 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-bit විභේදනයක් ඇත. මෙයින් අදහස් කරන්නේ ඔබට 0 සිට 4095 දක්වා වූ ප්රතිසම කියවීම් ලබා ගත හැකි බවත්, එහි 0 0V සහ 4095 සිට 3.3V ට අනුරූප වන බවත්ය. ඔබට කේතය සහ ADC පරාසය මත ඔබේ නාලිකාවල විභේදනයද සැකසිය හැක.
ESP32 ADC පින්වලට රේඛීය හැසිරීමක් නොමැත. ඔබට බොහෝ විට 0 සහ 0.1V අතර හෝ 3.2 සහ 3.3V අතර වෙනස හඳුනා ගැනීමට නොහැකි වනු ඇත. ADC පින් භාවිතා කරන විට ඔබ එය මතක තබා ගත යුතුය. පහත රූපයේ දැක්වෙන ආකාරයේ හැසිරීමක් ඔබට ලැබෙනු ඇත.ඩිජිටල් සිට ඇනලොග් පරිවර්තකය (DAC)
ඩිජිටල් සංඥා ප්රතිසම පරිමාවක් බවට පරිවර්තනය කිරීම සඳහා ESP2 මත බිටු 8 x 32 DAC නාලිකා ඇත.tagඊ සංඥා ප්රතිදාන. මේවා DAC නාලිකා වේ:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
RTC GPIOs
ESP32 මත RTC GPIO සහාය ඇත. ESP32 ගැඹුරු නින්දේ සිටින විට RTC අඩු බල උප පද්ධතිය වෙත යොමු කරන GPIOs භාවිතා කළ හැක. මෙම RTC GPIOs Ultra Low වූ විට ESP32 ගැඹුරු නින්දෙන් අවදි කිරීමට භාවිතා කළ හැක
Power (ULP) co-processor ක්රියාත්මක වේ. පහත 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)
PWM
ESP32 LED PWM පාලකය සතුව විවිධ ගුණාංග සහිත PWM සංඥා උත්පාදනය කිරීමට වින්යාසගත කළ හැකි ස්වාධීන නාලිකා 16ක් ඇත. ප්රතිදාන ලෙස ක්රියා කළ හැකි සියලුම පින් PWM pins ලෙස භාවිතා කළ හැක (GPIOs 34 සිට 39 දක්වා PWM ජනනය කළ නොහැක).
PWM සංඥාවක් සැකසීමට, ඔබ කේතයේ මෙම පරාමිතීන් නිර්වචනය කළ යුතුය:
- සංඥා සංඛ්යාතය;
- රාජකාරි චක්රය;
- PWM නාලිකාව;
- ඔබට සංඥාව ප්රතිදානය කිරීමට අවශ්ය GPIO.
I2C
ESP32 හි I2C නාලිකා දෙකක් ඇති අතර ඕනෑම පින් එකක් SDA හෝ SCL ලෙස සැකසිය හැක. Arduino IDE සමඟ ESP32 භාවිතා කරන විට, පෙරනිමි I2C කටු වන්නේ:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
වයර් පුස්තකාලය භාවිතා කරන විට ඔබට වෙනත් පින් භාවිතා කිරීමට අවශ්ය නම්, ඔබ ඇමතීමට අවශ්ය වන්නේ:
Wire.begin(SDA, SCL);
SPI
පෙරනිමියෙන්, SPI සඳහා පින් සිතියම්ගත කිරීම:
SPI | මොසි | මිසෝ | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
බාධා කිරීම්
සියලුම GPIOs බාධා කිරීම් ලෙස වින්යාසගත කළ හැක.
පටි පටි
ESP32 චිපයේ පහත පටි කටු ඇත:
- GPIO 0 (ආරම්භක මාදිලියට ඇතුළු වීමට අඩු විය යුතුය)
- GPIO 2 (ආරම්භයේදී පාවෙන හෝ අඩු විය යුතුය)
- GPIO 4
- GPIO 5 (ආරම්භයේදී ඉහළ විය යුතුය)
- GPIO 12 (ආරම්භයේදී අඩු විය යුතුය)
- GPIO 15 (ආරම්භයේදී ඉහළ විය යුතුය)
මේවා ESP32 bootloader හෝ flashing mode එකට දැමීමට භාවිතා කරයි. බිල්ට් USB/Serial සහිත බොහෝ සංවර්ධන පුවරු මත, මෙම අල්ෙපෙනතිවල තත්ත්වය ගැන ඔබට කරදර විය යුතු නැත. පුවරුව දැල්වීම හෝ ඇරඹුම් මාදිලිය සඳහා අල්ෙපෙනති නිවැරදි තත්වයට පත් කරයි. ESP32 Boot Mode තේරීම පිළිබඳ වැඩි විස්තර මෙතැනින් සොයාගත හැක.
කෙසේ වෙතත්, ඔබට එම අල්ෙපෙනතිවලට සම්බන්ධ පර්යන්ත තිබේ නම්, ඔබට නව කේතය උඩුගත කිරීමට උත්සාහ කිරීම, නව ස්ථිරාංග සමඟ ESP32 දැල්වීම හෝ පුවරුව නැවත සැකසීමේ ගැටළු ඇති විය හැක. ඔබට පටි කටුවලට සම්බන්ධ කර ඇති පර්යන්ත තිබේ නම් සහ ඔබට කේතය උඩුගත කිරීමේදී හෝ ESP32 දැල්වීමේ ගැටලුවක් තිබේ නම්, එම පර්යන්ත ESP32 නිවැරදි මාදිලියට ඇතුළු වීම වළක්වන නිසා විය හැකිය. ඔබට නිවැරදි දිශාවට මඟ පෙන්වීම සඳහා ඇරඹුම් මාදිලියේ තේරීම් ලේඛන කියවන්න. නැවත සැකසීමෙන්, දැල්වීමෙන් හෝ බූට් කිරීමෙන් පසුව, එම පින් බලාපොරොත්තු වූ පරිදි ක්රියා කරයි.
Boot හි Pins HIGH
සමහර GPIOs ආරම්භයේදී හෝ යළි පිහිටුවීමේදී ඔවුන්ගේ තත්වය ඉහළ හෝ ප්රතිදානය PWM සංඥා වලට වෙනස් කරයි.
මෙයින් අදහස් කරන්නේ ඔබට මෙම GPIO වලට සම්බන්ධ වූ ප්රතිදාන තිබේ නම්, ESP32 නැවත සකසන විට හෝ ආරම්භ වන විට ඔබට අනපේක්ෂිත ප්රතිඵල ලැබිය හැක.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 සිට GPIO 11 දක්වා (ESP32 ඒකාබද්ධ SPI ෆ්ලෑෂ් මතකයට සම්බන්ධ කර ඇත - භාවිතා කිරීමට නිර්දේශ නොකරයි).
- GPIO 14
- GPIO 15
සබල කරන්න (EN)
Enable (EN) යනු 3.3V නියාමකයේ සක්රීය පින් එකයි. එය ඉහළට ඇද ඇත, එබැවින් 3.3V නියාමකය අක්රිය කිරීමට බිමට සම්බන්ධ කරන්න. මෙයින් අදහස් කරන්නේ ඔබට ඔබේ ESP32 නැවත ආරම්භ කිරීමට pushbutton එකකට සම්බන්ධ මෙම පින් එක භාවිතා කළ හැකි බවයිample.
GPIO ධාරාව ඇද ගන්නා ලදී
ESP40 දත්ත පත්රිකාවේ "නිර්දේශිත මෙහෙයුම් කොන්දේසි" කොටසට අනුව GPIO එකකට ලබා ගන්නා නිරපේක්ෂ උපරිම ධාරාව 32mA වේ.
ESP32 Built-In Hall Effect Sensor
ESP32 එහි වටපිටාවේ චුම්බක ක්ෂේත්රයේ වෙනස්කම් හඳුනා ගන්නා බිල්ට් හෝල් ප්රයෝග සංවේදකයක් ද දක්වයි.
ESP32 Arduino IDE
Arduino IDE සඳහා ඇඩෝනයක් ඇත, එය ඔබට Arduino IDE සහ එහි ක්රමලේඛන භාෂාව භාවිතයෙන් ESP32 වැඩසටහන් කිරීමට ඉඩ සලසයි. ඔබ Windows, Mac OS X හෝ Linux භාවිතා කළත් Arduino IDE හි ESP32 පුවරුව ස්ථාපනය කරන්නේ කෙසේදැයි මෙම නිබන්ධනයේදී අපි ඔබට පෙන්වන්නෙමු.
පූර්වාවශ්යතා: Arduino IDE ස්ථාපනය කර ඇත
මෙම ස්ථාපන ක්රියාවලිය ආරම්භ කිරීමට පෙර, ඔබ ඔබේ පරිගණකයේ Arduino IDE ස්ථාපනය කර තිබිය යුතුය. ඔබට ස්ථාපනය කළ හැකි Arduino IDE අනුවාද දෙකක් තිබේ: අනුවාදය 1 සහ අනුවාදය 2.
පහත සබැඳිය ක්ලික් කිරීමෙන් ඔබට Arduino IDE බාගත කර ස්ථාපනය කළ හැකිය: arduino.cc/en/Main/Software
අපි නිර්දේශ කරන්නේ කුමන Arduino IDE අනුවාදයද? මේ මොහොතේ, සමහරක් ඇත plugins ESP32 සඳහා (SPIFFS වැනි Filesystem Uploader Plugin) Arduino 2 හි තවමත් සහය නොදක්වයි. එබැවින්, ඔබ අනාගතයේදී SPIFFS ප්ලගිනය භාවිතා කිරීමට අදහස් කරන්නේ නම්, අපි පැරණි අනුවාදය 1.8.X ස්ථාපනය කිරීම නිර්දේශ කරමු. ඔබට එය සොයා ගැනීමට Arduino මෘදුකාංග පිටුවේ පහළට අනුචලනය කිරීමට අවශ්ය වේ.
Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
ඔබගේ Arduino IDE හි ESP32 පුවරුව ස්ථාපනය කිරීමට, පහත උපදෙස් අනුගමනය කරන්න:
- ඔබගේ Arduino IDE හි, යන්න File> මනාප
- "අතිරේක මණ්ඩල කළමනාකරු" තුළට පහත සඳහන් දෑ ඇතුළත් කරන්න URLs" ක්ෂේත්රය:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
ඉන්පසු, "හරි" බොත්තම ක්ලික් කරන්න:සටහන: ඔබට දැනටමත් ESP8266 පුවරු තිබේ නම් URL, ඔබට වෙන් කළ හැක URLපහත දැක්වෙන පරිදි කොමාවකින් s:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
පුවරු කළමනාකරු විවෘත කරන්න. මෙවලම් > පුවරුව > පුවරු කළමනාකරු වෙත යන්න...ඒ සඳහා සොයන්න ESP32 and press install button for the “ESP32 by Espressif Systems“:
ඒක තමයි. එය තත්පර කිහිපයකින් පසුව ස්ථාපනය කළ යුතුය.
පරීක්ෂණ කේතය උඩුගත කරන්න
ESP32 පුවරුව ඔබේ පරිගණකයට සම්බන්ධ කරන්න. ඔබගේ Arduino IDE විවෘතව ඇති විට, මෙම පියවර අනුගමනය කරන්න:
- මෙවලම් > පුවරු මෙනුව තුළ ඔබේ පුවරුව තෝරන්න (මගේ නඩුවේ එය ESP32 DEV මොඩියුලය)
- වරාය තෝරන්න (ඔබගේ Arduino IDE හි COM Port එක නොපෙනේ නම්, ඔබ CP210x USB සිට UART Bridge VCP Drivers ස්ථාපනය කළ යුතුය):
- පහත ex එක විවෘත කරන්නample යටතේ File > උදාamples > WiFi
(ESP32) > WiFiScan - ඔබගේ Arduino IDE හි නව කටු සටහනක් විවෘත වේ:
- Arduino IDE එකේ Upload බොත්තම ඔබන්න. කේතය සම්පාදනය කර ඔබේ පුවරුවට උඩුගත කරන තෙක් තත්පර කිහිපයක් රැඳී සිටින්න.
- සෑම දෙයක්ම බලාපොරොත්තු වූ පරිදි සිදු වූවා නම්, ඔබ "උඩුගත කිරීම අවසන්" දැකිය යුතුය. පණිවිඩය.
- Arduino IDE අනුක්රමික මොනිටරය 115200 baud අනුපාතයකින් විවෘත කරන්න:
- ESP32 on-board Enable බොත්තම ඔබන්න, එවිට ඔබේ ESP32 අසල තිබෙන ජාල ඔබට පෙනෙනු ඇත:
දෝෂගවේෂණය
ඔබ ඔබේ ESP32 වෙත නව කටු සටහනක් උඩුගත කිරීමට උත්සාහ කරන්නේ නම් සහ ඔබට මෙම දෝෂ පණිවිඩය ලැබෙන්නේ නම් "මාරාන්තික දෝෂයක් සිදු විය: ESP32 වෙත සම්බන්ධ වීමට අපොහොසත් විය: කල් ඉකුත් විය... සම්බන්ධ වෙමින්...". එයින් අදහස් වන්නේ ඔබේ ESP32 දැල්වෙන/උඩුගත කිරීමේ මාදිලියේ නොමැති බවයි.
නිවැරදි පුවරුවේ නම සහ COM por තෝරාගෙන, මෙම පියවර අනුගමනය කරන්න:
ඔබගේ ESP32 පුවරුවේ "BOOT" බොත්තම ඔබාගෙන සිටින්න
- ඔබගේ කටු සටහන උඩුගත කිරීමට Arduino IDE හි "උඩුගත කරන්න" බොත්තම ඔබන්න:
- ඔබ "සම්බන්ධ කිරීම...." දුටු පසු. ඔබගේ Arduino IDE හි පණිවිඩය, "BOOT" බොත්තමෙන් ඇඟිල්ල මුදා හරින්න:
- ඊට පසු, ඔබ "උඩුගත කිරීම අවසන්" පණිවිඩය දැකිය යුතුය
ඒක තමයි. ඔබගේ ESP32 නව කටු සටහන ක්රියාත්මක විය යුතුය. ESP32 නැවත ආරම්භ කිරීමට සහ නව උඩුගත කළ කටු සටහන ක්රියාත්මක කිරීමට "ENABLE" බොත්තම ඔබන්න.
ඔබට නව කටු සටහනක් උඩුගත කිරීමට අවශ්ය සෑම අවස්ථාවකම එම බොත්තම් අනුපිළිවෙල නැවත කිරීමටද සිදු වනු ඇත.
ව්යාපෘති 1 ESP32 ආදාන නිමැවුම්
මෙම ආරම්භක මාර්ගෝපදේශය තුළ ඔබ බොත්තම් ස්විචයක් වැනි ඩිජිටල් යෙදවුම් කියවීමට සහ Arduino IDE සමඟ ESP32 භාවිතයෙන් LED වැනි ඩිජිටල් ප්රතිදානයන් පාලනය කරන්නේ කෙසේදැයි ඉගෙන ගනු ඇත.
පූර්වාවශ්යතාවයන්
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු. එබැවින්, ඉදිරියට යාමට පෙර ඔබ ESP32 පුවරු ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න:
- Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
ESP32 ඩිජිටල් නිමැවුම් පාලනය කරන්න
පළමුව, ඔබට පාලනය කිරීමට අවශ්ය GPIO OUTPUT එකක් ලෙස සැකසිය යුතුය. pinMode() ශ්රිතය පහත පරිදි භාවිතා කරන්න:
pinMode (GPIO, OUTPUT);
සංඛ්යාංක ප්රතිදානයක් පාලනය කිරීමට ඔබට අවශ්ය වන්නේ තර්ක ලෙස පිළිගන්නා ඩිජිටල් රයිට්() ශ්රිතය, ඔබ සඳහන් කරන GPIO (int අංකය) සහ ප්රාන්තය, ඉහළ හෝ අඩුය.
ඩිජිටල් රයිට් (GPIO, STATE);
GPIOs 6 සිට 11 දක්වා (ඒකාබද්ධ SPI ෆ්ලෑෂ් වෙත සම්බන්ධිත) සහ GPIOs 34, 35, 36 සහ 39 (ආදාන පමණක් GPIOs) හැර සියලුම GPIOs ප්රතිදානයන් ලෙස භාවිතා කළ හැක;
ESP32 GPIOs ගැන තව දැනගන්න: ESP32 GPIO යොමු මාර්ගෝපදේශය
ESP32 ඩිජිටල් ආදාන කියවන්න
පළමුව, පහත පරිදි pinMode() ශ්රිතය භාවිතයෙන් ඔබට කියවීමට අවශ්ය GPIO INPUT ලෙස සකසන්න:
pinMode (GPIO, INPUT);
බොත්තමක් වැනි ඩිජිටල් ආදානයක් කියවීමට, ඔබ විසින් තර්කයක් ලෙස පිළිගන්නා ඩිජිටල් රීඩ්() ශ්රිතය, ඔබ යොමු කරන GPIO (int අංකය) භාවිතා කරයි.
ඩිජිටල් කියවීම (GPIO);
GPIOs 32 සිට 6 දක්වා (ඒකාබද්ධ SPI ෆ්ලෑෂ් වෙත සම්බන්ධිත) හැර අනෙකුත් සියලුම ESP11 GPIOs ආදාන ලෙස භාවිතා කළ හැක.
ESP32 GPIOs ගැන තව දැනගන්න: ESP32 GPIO යොමු මාර්ගෝපදේශය
ව්යාපෘතිය Example
ඩිජිටල් යෙදවුම් සහ ඩිජිටල් ප්රතිදානයන් භාවිතා කරන්නේ කෙසේදැයි ඔබට පෙන්වීමට, අපි සරල ව්යාපෘතියක් ගොඩනඟමුampතල්ලු බොත්තමක් සහ LED එකක් සමඟ le. පහත රූපයේ දැක්වෙන පරිදි අපි තල්ලු බොත්තමේ තත්ත්වය කියවා ඒ අනුව LED ආලෝකමත් කරන්නෙමු.
අවශ්ය කොටස්
පරිපථය තැනීමට ඔබට අවශ්ය කොටස් ලැයිස්තුවක් මෙන්න:
- ESP32 DEVKIT V1
- 5 mm LED
- 220 ඕම් ප්රතිරෝධකය
- ඔබන බොත්තම
- 10k ඕම් ප්රතිරෝධකය
- පාන් පුවරුව
- ජම්පර් වයර්
ක්රමානුරූප රූප සටහන
ඉදිරියට යාමට පෙර, ඔබ LED සහ තල්ලු බොත්තමක් සහිත පරිපථයක් එක්රැස් කළ යුතුය.
අපි LED GPIO 5 වෙත සහ තල්ලු බොත්තම GPIO වෙත සම්බන්ධ කරන්නෙමු 4.කේතය
arduino IDE හි Project_1_ESP32_Inputs_Outputs.ino කේතය විවෘත කරන්නකේතය ක්රියා කරන ආකාරය
පහත පේළි දෙකෙහි, ඔබ කටු පැවරීමට විචල්යයන් සාදන්න:
බොත්තම GPIO 4 වෙත සම්බන්ධ කර ඇති අතර LED GPIO 5 වෙත සම්බන්ධ කර ඇත. ESP32 සමඟ Arduino IDE භාවිතා කරන විට, 4 GPIO 4 ට අනුරූප වන අතර 5 GPIO 5 ට අනුරූප වේ.
ඊළඟට, ඔබ බොත්තම් තත්ත්වය රඳවා ගැනීමට විචල්යයක් සාදන්න. පෙරනිමියෙන්, එය 0 (එබී නැත).
int buttonState = 0;
සැකසුම(), ඔබ බොත්තම INPUT ලෙසත් LED OUTPUT ලෙසත් ආරම්භ කරන්න.
ඒ සඳහා, ඔබ සඳහන් කරන පින් එක පිළිගන්නා pinMode() ශ්රිතය සහ මාදිලිය: INPUT හෝ OUTPUT භාවිතා කරයි.
pinMode (බොත්තම පින්, INPUT);
pinMode (ledPin, OUTPUT);
ලූප්() හි ඔබ බොත්තම් තත්ත්වය කියවා ඒ අනුව LED සකසන්න.
ඊළඟ පේළියේ, ඔබ බොත්තම් තත්ත්වය කියවා එය buttonState විචල්යයේ සුරකින්න.
අප කලින් දැක ඇති පරිදි, ඔබ ඩිජිටල් කියවීම () ශ්රිතය භාවිතා කරයි.
buttonState = ඩිජිටල් කියවීම (buttonPin);
පහත if ප්රකාශය, බොත්තම් තත්ත්වය ඉහළද යන්න පරීක්ෂා කරයි. එය එසේ නම්, එය ledPin තර්කයක් ලෙස පිළිගන්නා ඩිජිටල්Write() ශ්රිතය සහ HIGH තත්ත්වය භාවිතයෙන් LED ක්රියාත්මක කරයි.
නම් (buttonState == HIGH)බොත්තම් තත්ත්වය ඉහළ නොවේ නම්, ඔබ LED නිවා දමන්න. ඩිජිටල් රයිට් () ශ්රිතයේ දෙවන තර්කයක් ලෙස LOW සකසන්න.
කේතය උඩුගත කිරීම
උඩුගත කිරීමේ බොත්තම ක්ලික් කිරීමට පෙර, මෙවලම් > පුවරුව වෙත ගොස් පුවරුව තෝරන්න :DOIT ESP32 DEVKIT V1 පුවරුව.
මෙවලම් > වරාය වෙත ගොස් ESP32 සම්බන්ධ කර ඇති COM වරාය තෝරන්න. ඉන්පසුව, උඩුගත කිරීමේ බොත්තම ඔබා "උඩුගත කිරීම අවසන්" පණිවිඩය සඳහා රැඳී සිටින්න.සටහන: ඔබ නිදොස් කිරීමේ කවුළුවේ තිත් ගොඩක් (සම්බන්ධ වෙමින්....._____) සහ "ESP32 වෙත සම්බන්ධ වීමට අපොහොසත් විය: පැකට් ශීර්ෂය සඳහා රැඳී සිටීමේ කාලය අවසන්" පණිවිඩය දුටුවහොත්, එයින් අදහස් වන්නේ ඔබට ESP32 ඔන්-බෝඩ් බූට් එබිය යුතු බවයි. තිත් වලට පසුව බොත්තම
පෙනී සිටීම ආරම්භ කරන්න.දෝෂ නිරාකරණය
නිරූපණය
කේතය උඩුගත කිරීමෙන් පසු, ඔබේ පරිපථය පරීක්ෂා කරන්න. ඔබ බොත්තම එබූ විට ඔබේ LED දැල්විය යුතුය:ඔබ එය මුදා හරින විට අක්රිය කරන්න:
ව්යාපෘති 2 ESP32 Analog Inputs
මෙම ව්යාපෘතිය Arduino IDE භාවිතයෙන් ESP32 සමඟ ප්රතිසම ආදාන කියවන ආකාරය පෙන්වයි.
පොටෙන්ටියෝමීටර හෝ ඇනලොග් සංවේදක වැනි විචල්ය ප්රතිරෝධක වලින් අගයන් කියවීමට ඇනලොග් කියවීම ප්රයෝජනවත් වේ.
Analog Inputs (ADC)
ESP32 සමඟ ප්රතිසම අගයක් කියවීමෙන් අදහස් වන්නේ ඔබට විවිධ වෙළුම් මැනිය හැකි බවයිtag0 V සහ 3.3 V අතර e මට්ටම්.
වෙළුමtage මනින ලද අගය 0 සහ 4095 අතර අගයකට පැවරේ, එහි 0 V 0 ට අනුරූප වන අතර 3.3 V 4095 ට අනුරූප වේ. ඕනෑම වෙළුමක්tage 0 V සහ 3.3 V අතර අනුරූප අගය ලබා දෙනු ඇත.ADC යනු රේඛීය නොවන ය
ඉතා මැනවින්, ඔබ ESP32 ADC පින් භාවිතා කරන විට රේඛීය හැසිරීමක් අපේක්ෂා කරයි.
කෙසේ වෙතත්, එය සිදු නොවේ. ඔබට ලැබෙන්නේ පහත ප්රස්ථාරයේ පෙන්වා ඇති ආකාරයට හැසිරීමකි:මෙම හැසිරීමෙන් අදහස් වන්නේ ඔබේ ESP32 ට 3.3 V 3.2 V වලින් වෙන්කර හඳුනාගත නොහැකි බවයි.
ඔබට වෙළුම් දෙකටම එකම අගය ලැබෙනු ඇතtages: 4095.
ඉතා අඩු පරිමාවක් සඳහාද එයම සිදු වේtage අගයන්: 0 V සහ 0.1 V සඳහා ඔබට එකම අගය ලැබෙනු ඇත: 0. ESP32 ADC පින් භාවිතා කරන විට ඔබ මෙය මතක තබා ගත යුතුය.
analogRead() කාර්යය
Arduino IDE භාවිතයෙන් ESP32 සමඟ ප්රතිසම ආදානයක් කියවීම analogRead() ශ්රිතය භාවිතා කිරීම තරම් සරල ය. එය තර්කයක් ලෙස පිළිගනී, ඔබට කියවීමට අවශ්ය GPIO:
analogRead (GPIO);
DEVKIT V15board (GPIOs 1ක් සහිත අනුවාදය) තුළ ඇත්තේ 30ක් පමණි.
ඔබගේ ESP32 පුවරු පින්අවුට් එක අල්ලා ADC පින් සොයා ගන්න. මේවා පහත රූපයේ රතු මායිමකින් උද්දීපනය කර ඇත.මෙම ඇනලොග් ආදාන පින්වලට බිට් 12 විභේදනයක් ඇත. මෙයින් අදහස් කරන්නේ ඔබ ඇනලොග් ආදානයක් කියවන විට එහි පරාසය 0 සිට 4095 දක්වා වෙනස් විය හැකි බවයි.
සටහන: Wi-Fi භාවිතා කරන විට ADC2 පින් භාවිතා කළ නොහැක. එබැවින්, ඔබ Wi-Fi භාවිතා කරන්නේ නම් සහ ඔබට ADC2 GPIO වෙතින් අගය ලබා ගැනීමේ ගැටලුවක් තිබේ නම්, ඒ වෙනුවට ADC1 GPIO භාවිතා කිරීම සලකා බැලිය හැක, එය ඔබගේ ගැටලුව විසඳිය යුතුය.
සෑම දෙයක්ම එකට සම්බන්ධ වන්නේ කෙසේදැයි බැලීමට, අපි සරල හිටපු එකක් කරන්නෙමුampපොටෙන්ටියෝමීටරයකින් ඇනලොග් අගයක් කියවීමට le.
අවශ්ය කොටස්
මේ සඳහා හිටපුample, ඔබට පහත කොටස් අවශ්ය වේ:
- ESP32 DEVKIT V1 පුවරුව
- පොටෙන්ටෝමීටරය
- පාන් පුවරුව
- ජම්පර් වයර්
ක්රමානුකූල
ඔබේ ESP32 වෙත පොටෙන්ටියෝමීටරයක් සම්බන්ධ කරන්න. පොටෙන්ටියෝමීටර මැද පින් එක GPIO 4 වෙත සම්බන්ධ කළ යුතුය. ඔබට යොමුවක් ලෙස පහත ක්රමානුරූප රූප සටහන භාවිතා කළ හැක.කේතය
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු, එබැවින් ඉදිරියට යාමට පෙර ඔබ ESP32 ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න: (ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවරට යා හැක.)
Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
arduino IDE හි Project_2_ESP32_Inputs_Outputs.ino කේතය විවෘත කරන්නමෙම කේතය පොටෙන්ටියෝමීටරයෙන් අගයන් කියවා අනුක්රමික මොනිටරයේ එම අගයන් මුද්රණය කරයි.
කේතයේ, ඔබ ආරම්භ කරන්නේ පොටෙන්ටියෝමීටරය සම්බන්ධ කර ඇති GPIO නිර්වචනය කිරීමෙනි. මෙම example, GPIO 4.සැකසුම(), 115200 baud අනුපාතයකින් අනුක්රමික සන්නිවේදනයක් ආරම්භ කරන්න.
loop(), potPin වෙතින් ඇනලොග් ආදානය කියවීමට analogRead() ශ්රිතය භාවිතා කරන්න.
අවසාන වශයෙන්, අනුක්රමික මොනිටරයේ පොටෙන්ටියෝමීටරයෙන් කියවන අගයන් මුද්රණය කරන්න.
ලබා දී ඇති කේතය ඔබගේ ESP32 වෙත උඩුගත කරන්න. මෙවලම් මෙනුව තුළ ඔබ නිවැරදි පුවරුව සහ COM වරාය තෝරාගෙන ඇති බවට වග බලා ගන්න.
හිටපු පරීක්ෂණයample
කේතය උඩුගත කර ESP32 යළි පිහිටුවීමේ බොත්තම එබීමෙන් පසු, 115200 ක බෝඩ් අනුපාතයකින් අනුක්රමික මොනිටරය විවෘත කරන්න. පොටෙන්ටියෝමීටරය කරකවා අගයන් වෙනස් වන ආකාරය බලන්න.ඔබට ලැබෙන උපරිම අගය 4095 වන අතර අවම අගය 0 වේ.
එතීම
මෙම ලිපියෙන් ඔබ Arduino IDE සමඟ ESP32 භාවිතයෙන් ඇනලොග් ආදාන කියවන ආකාරය ඉගෙන ගෙන ඇත. සාරාංශයකින්:
- ESP32 DEVKIT V1 DOIT පුවරුවේ (පින් 30ක් සහිත අනුවාදය) ඔබට ඇනලොග් ආදාන කියවීමට භාවිත කළ හැකි ADC පින් 15ක් ඇත.
- මෙම පින් වල බිටු 12 ක විභේදනයක් ඇත, එනම් ඔබට 0 සිට 4095 දක්වා අගයන් ලබා ගත හැකිය.
- Arduino IDE හි අගයක් කියවීමට, ඔබ හුදෙක් analogRead() ශ්රිතය භාවිතා කරයි.
- ESP32 ADC පින්වලට රේඛීය හැසිරීමක් නොමැත. ඔබට බොහෝ විට 0 සහ 0.1V අතර හෝ 3.2 සහ 3.3V අතර වෙනස හඳුනා ගැනීමට නොහැකි වනු ඇත. ADC පින් භාවිතා කරන විට ඔබ එය මතක තබා ගත යුතුය.
ව්යාපෘතිය 3 ESP32 PWM(Analog Output)
මෙම නිබන්ධනයේදී අපි ඔබට Arduino IDE භාවිතයෙන් ESP32 සමඟ PWM සංඥා උත්පාදනය කරන්නේ කෙසේදැයි පෙන්වන්නෙමු. හිටපු කෙනෙක් විදියටample අපි ESP32 හි LED PWM පාලකය භාවිතයෙන් LED එකක් අඳුරු කරන සරල පරිපථයක් සාදන්නෙමු.ESP32 LED PWM පාලකය
ESP32 සතුව විවිධ ගුණාංග සහිත PWM සංඥා ජනනය කිරීමට වින්යාසගත කළ හැකි ස්වාධීන නාලිකා 16ක් සහිත LED PWM පාලකයක් ඇත.
Arduino IDE භාවිතයෙන් PWM සමඟ LED එකක් අඳුරු කිරීමට ඔබට අනුගමනය කළ යුතු පියවර මෙන්න:
- පළමුව, ඔබ PWM නාලිකාවක් තෝරා ගත යුතුය. 16 සිට 0 දක්වා නාලිකා 15 ක් ඇත.
- එවිට, ඔබ PWM සංඥා සංඛ්යාතය සැකසිය යුතුය. LED සඳහා, 5000 Hz සංඛ්යාතයක් භාවිතා කිරීම සුදුසුය.
- ඔබට සංඥාවේ රාජකාරි චක්ර විභේදනයද සැකසීමට අවශ්ය වේ: ඔබට බිටු 1 සිට 16 දක්වා විභේදන ඇත. අපි 8-bit විභේදනය භාවිතා කරන්නෙමු, එයින් අදහස් වන්නේ ඔබට 0 සිට 255 දක්වා අගයක් භාවිතා කර LED දීප්තිය පාලනය කළ හැකි බවයි.
- මීළඟට, සංඥාව දිස්වන්නේ කුමන GPIO හෝ GPIOs වෙතද යන්න සඳහන් කළ යුතුය. ඒ සඳහා ඔබ පහත කාර්යය භාවිතා කරනු ඇත:
ledcAttachPin (GPIO, නාලිකාව)
මෙම කාර්යය තර්ක දෙකක් පිළිගනී. පළමුවැන්න සංඥාව ප්රතිදානය කරන GPIO වන අතර දෙවැන්න සංඥාව ජනනය කරන නාලිකාවයි. - අවසාන වශයෙන්, PWM භාවිතයෙන් LED දීප්තිය පාලනය කිරීමට, ඔබ පහත ශ්රිතය භාවිතා කරයි:
ledcWrite (නාලිකාව, රාජකාරි බයිසිකලය)
මෙම ශ්රිතය PWM සංඥාව ජනනය කරන නාලිකාව සහ රාජකාරි චක්රය තර්ක ලෙස පිළිගනී.
අවශ්ය කොටස්
මෙම නිබන්ධනය අනුගමනය කිරීමට ඔබට මෙම කොටස් අවශ්ය වේ:
- ESP32 DEVKIT V1 පුවරුව
- 5mm LED
- 220 ඕම් ප්රතිරෝධකය
- පාන් පුවරුව
- ජම්පර් වයර්
ක්රමානුකූල
පහත ක්රමානුරූප රූප සටහනේ පරිදි ඔබේ ESP32 වෙත LED එකක් වයර් කරන්න. LED GPIO වෙත සම්බන්ධ කළ යුතුය 4.සටහන: ඔබට අවශ්ය ඕනෑම පින් එකක් භාවිතා කළ හැක, එය ප්රතිදානයක් ලෙස ක්රියා කළ හැකි තාක් කල්. නිමැවුම් ලෙස ක්රියා කළ හැකි සියලුම පින් PWM පින් ලෙස භාවිතා කළ හැක. ESP32 GPIOs පිළිබඳ වැඩි විස්තර සඳහා, කියවන්න: ESP32 Pinout යොමුව: ඔබ භාවිතා කළ යුතු GPIO පින් මොනවාද?
කේතය
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු, එබැවින් ඉදිරියට යාමට පෙර ඔබ ESP32 ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න: (ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවරට යා හැක.)
Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
arduino IDE හි Project_3_ESP32_PWM.ino කේතය විවෘත කරන්නLED එක සවි කර ඇති පින් එක නිර්වචනය කිරීමෙන් ඔබ ආරම්භ කරන්න. මෙම අවස්ථාවේදී LED GPIO 4 වෙත සවි කර ඇත.
ඉන්පසුව, ඔබ PWM සංඥා ගුණාංග සකසන්න. ඔබ 5000 Hz සංඛ්යාතයක් නිර්වචනය කරන්න, සංඥාව ජනනය කිරීමට නාලිකාව 0 තෝරන්න, සහ බිටු 8 ක විභේදනයක් සකසන්න. විවිධ PWM සංඥා උත්පාදනය කිරීමට ඔබට මේවාට වඩා වෙනස් වෙනත් ගුණාංග තෝරාගත හැක.
සැකසුම(), පහත දැක්වෙන පරිදි, තර්ක, ledChannel, සංඛ්යාතය සහ විභේදනය ලෙස පිළිගන්නා ledcSetup() ශ්රිතය භාවිතා කිරීමෙන් ඔබ කලින් නිර්වචනය කර ඇති ගුණාංග සමඟ LED PWM වින්යාස කිරීම අවශ්ය වේ:
ඊළඟට, ඔබට සංඥාව ලැබෙන GPIO තෝරාගත යුතුය. ඒ සඳහා ඔබට සංඥාව ලබා ගැනීමට අවශ්ය GPIO සහ සංඥාව ජනනය කරන නාලිකාව තර්ක ලෙස පිළිගන්නා ledcAttachPin() ශ්රිතය භාවිතා කරන්න. මෙම example, අපි GPIO 4 ට අනුරූප වන ledPin GPIO හි සංඥාව ලබා ගනිමු. සංඥාව ජනනය කරන නාලිකාව ledChannel වේ, එය නාලිකාව 0 ට අනුරූප වේ.
ලූපය තුළ, LED දීප්තිය වැඩි කිරීමට ඔබ 0 සහ 255 අතර තීරුබදු චක්රය වෙනස් කරනු ඇත.
පසුව, දීප්තිය අඩු කිරීමට 255 සහ 0 අතර.
LED වල දීප්තිය සැකසීමට, ඔබට අවශ්ය වන්නේ සංඥාව ජනනය කරන නාලිකාව සහ රාජකාරි චක්රය තර්ක ලෙස පිළිගන්නා ledcWrite() ශ්රිතය භාවිතා කිරීමයි.
අපි 8-bit විභේදනය භාවිතා කරන බැවින්, 0 සිට 255 දක්වා අගයක් භාවිතා කරමින් තීරුබදු චක්රය පාලනය කරනු ලැබේ. ledcWrite() ශ්රිතයේදී අපි GPIO නොව සංඥාව ජනනය කරන නාලිකාව භාවිතා කරන බව සලකන්න.
හිටපු පරීක්ෂණයample
කේතය ඔබගේ ESP32 වෙත උඩුගත කරන්න. ඔබ නිවැරදි පුවරුව සහ COM වරාය තෝරාගෙන ඇති බවට වග බලා ගන්න. ඔබේ පරිපථය දෙස බලන්න. ඔබට දීප්තිය වැඩි කරන සහ අඩු කරන ඩිමර් LED එකක් තිබිය යුතුය.
ව්යාපෘති 4 ESP32 PIR චලන සංවේදකය
මෙම ව්යාපෘතිය මඟින් PIR චලන සංවේදකයක් භාවිතයෙන් ESP32 සමඟ චලිතය අනාවරණ කරන්නේ කෙසේදැයි පෙන්වයි. චලිතය අනාවරණය වූ විට buzzer එලාම් හඬ නඟනු ඇති අතර, පෙර සැකසූ කාලයකට (තත්පර 4ක් වැනි) චලිතයක් අනාවරණය නොවූ විට අනතුරු ඇඟවීම නවත්වනු ඇත.
HC-SR501 චලන සංවේදකය ක්රියා කරන ආකාරය
.HC-SR501 සංවේදකයේ ක්රියාකාරී මූලධර්මය පදනම් වී ඇත්තේ චලනය වන වස්තුවේ අධෝරක්ත කිරණ වෙනස් වීම මත ය. HC-SR501 සංවේදකය මඟින් අනාවරණය කර ගැනීමට නම්, වස්තුව අවශ්යතා දෙකක් සපුරාලිය යුතුය:
- වස්තුව අධෝරක්ත මාර්ගය විමෝචනය කරයි.
- වස්තුව චලනය හෝ සෙලවීම
ඉතින්:
වස්තුවක් අධෝරක්ත කිරණ විමෝචනය කරන නමුත් චලනය නොවේ නම් (උදා: පුද්ගලයෙකු චලනය නොවී නිශ්චලව සිටී), එය සංවේදකය මගින් අනාවරණය නොවේ.
වස්තුවක් චලනය වන නමුත් අධෝරක්ත කිරණ විමෝචනය නොකරන්නේ නම් (උදා, රොබෝ හෝ වාහනය), එය සංවේදකය මගින් අනාවරණය නොවේ.
ටයිමර් හඳුන්වා දීම
මෙම exampඅපි ටයිමර් ද හඳුන්වා දෙන්නෙමු. චලිතය අනාවරණය කර ගැනීමෙන් පසු කලින් තීරණය කළ තත්පර ගණනක් LED රැඳී සිටීමට අපට අවශ්යය. ඔබගේ කේතය අවහිර කරන සහ ඔබට තීරණය කළ තත්පර ගණනකට වෙනත් කිසිවක් කිරීමට ඉඩ නොදෙන ප්රමාද() ශ්රිතයක් භාවිතා කරනවා වෙනුවට, අපි ටයිමරයක් භාවිතා කළ යුතුය.ප්රමාද () ශ්රිතය
ප්රමාද() ශ්රිතය බහුලව භාවිතා වන බැවින් ඔබ එය හුරුපුරුදු විය යුතුය. මෙම කාර්යය භාවිතා කිරීම ඉතා සරල ය. එය තර්කයක් ලෙස තනි int අංකයක් පිළිගනී.
මෙම අංකයෙන් දැක්වෙන්නේ වැඩසටහනට මීළඟ කේත පේළියට යන තෙක් බලා සිටිය යුතු කාලය මිලි තත්පර වලිනි.ඔබ ප්රමාද (1000) කරන විට ඔබේ වැඩසටහන තත්පර 1කට එම රේඛාවේ නතර වේ.
delay() යනු අවහිර කිරීමේ කාර්යයකි. අවහිර කිරීමේ කාර්යයන් වැඩසටහනක් එම කාර්යය සම්පූර්ණ වන තෙක් වෙනත් කිසිවක් කිරීමෙන් වළක්වයි. ඔබට එකවර කාර්යයන් කිහිපයක් සිදු වීමට අවශ්ය නම්, ඔබට ප්රමාදය () භාවිතා කළ නොහැක.
බොහෝ ව්යාපෘති සඳහා ඔබ ප්රමාදයන් භාවිතයෙන් වැළකිය යුතු අතර ඒ වෙනුවට ටයිමර් භාවිතා කළ යුතුය.
මිලි() ශ්රිතය
millis() නම් ශ්රිතයක් භාවිතා කිරීමෙන් ඔබට වැඩසටහන ආරම්භයේ සිට ගෙවී ගිය මිලි තත්පර ගණන ආපසු ලබා දිය හැක.එම කාර්යය ප්රයෝජනවත් වන්නේ ඇයි? මක්නිසාද යත් සමහර ගණිතය භාවිතා කිරීමෙන්, ඔබේ කේතය අවහිර නොකර කොපමණ කාලයක් ගතවී ඇත්දැයි ඔබට පහසුවෙන්ම තහවුරු කර ගත හැකිය.
අවශ්ය කොටස්
මෙම නිබන්ධනය අනුගමනය කිරීමට ඔබට පහත කොටස් අවශ්ය වේ
- ESP32 DEVKIT V1 පුවරුව
- PIR චලන සංවේදකය (HC-SR501)
- සක්රීය බසර්
- ජම්පර් වයර්
- පාන් පුවරුව
ක්රමානුකූලසටහන: වැඩ කරන පරිමාව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 port තෝරාගෙන ඇති බවට වග බලා ගන්න.කේත යොමු පියවර උඩුගත කරන්න.
Serial Monitor එක 115200 baud rate එකකින් open කරන්න.PIR සංවේදකය ඉදිරිපිට ඔබේ අත ගෙන යන්න. බසරය ක්රියාත්මක විය යුතු අතර, පණිවිඩය අනුක්රමික මොනිටරය තුළ මුද්රණය කර "චලනය අනාවරණය විය!
තත්පර 4 කට පසු බසරය නිවා දැමිය යුතුය.
ව්යාපෘතිය 5 ESP32 ස්විචය Web සේවාදායකය
මෙම ව්යාපෘතිය තුළ ඔබ ස්වාධීන එකක් සාදනු ඇත web Arduino IDE ක්රමලේඛන පරිසරය භාවිතයෙන් ප්රතිදාන (LED දෙකක්) පාලනය කරන ESP32 සහිත සේවාදායකයක්. ද web සේවාදායකය ජංගම ප්රතිචාර දක්වන අතර දේශීය ජාලයේ බ්රවුසරයක් ලෙස ඕනෑම උපාංගයකින් ප්රවේශ විය හැක. නිර්මාණය කරන්නේ කෙසේදැයි අපි ඔබට පෙන්වන්නෙමු web සේවාදායකය සහ කේතය පියවරෙන් පියවර ක්රියා කරන ආකාරය.
ව්යාපෘතිය අවසන්view
ව්යාපෘතියට කෙලින්ම යාමට පෙර, අපගේ දේ ගෙනහැර දැක්වීම වැදගත් වේ web සේවාදායකය සිදු කරනු ඇත, එවිට පියවර අනුගමනය කිරීම පහසු වේ.
- ද web ESP32 GPIO 26 සහ GPIO 27 වෙත සම්බන්ධ LED දෙකක් ඔබ විසින් ගොඩනගනු ලබන සේවාදායකය;
- ඔබට ESP32 වෙත පිවිසිය හැක web දේශීය ජාලයේ බ්රව්සරයක ESP32 IP ලිපිනය ටයිප් කිරීමෙන් සේවාදායකය;
- ඔබගේ බොත්තම් ක්ලික් කිරීමෙන් web සේවාදායකය ඔබට එක් එක් LED වල තත්වය ක්ෂණිකව වෙනස් කළ හැකිය.
අවශ්ය කොටස්
මෙම නිබන්ධනය සඳහා ඔබට පහත කොටස් අවශ්ය වේ:
- ESP32 DEVKIT V1 පුවරුව
- 2x 5mm LED
- 2x 200 Ohm ප්රතිරෝධකය
- පාන් පුවරුව
- ජම්පර් වයර්
ක්රමානුකූල
පරිපථය ගොඩනැගීමෙන් ආරම්භ කරන්න. පහත ක්රමානුරූප රූප සටහනේ පෙන්වා ඇති පරිදි LED දෙකක් ESP32 වෙත සම්බන්ධ කරන්න - එක් LED එකක් GPIO 26 වෙත සම්බන්ධ කර, අනෙක GPIO 27 වෙත සම්බන්ධ කරන්න.
සටහන: අපි කටු 32ක් සහිත ESP36 DEVKIT DOIT පුවරුව භාවිත කරන්නෙමු. පරිපථය එකලස් කිරීමට පෙර, ඔබ භාවිතා කරන පුවරුව සඳහා පින්අවුට් පරීක්ෂා කිරීමට වග බලා ගන්න.කේතය
මෙන්න අපි ESP32 නිර්මාණය කරන කේතය ලබා දෙන්නෙමු web සේවාදායකය. Project_5_ESP32_Switch_ කේතය විවෘත කරන්නWeb_Server.ino arduino IDE හි ඇත, නමුත් තවමත් එය උඩුගත නොකරන්න. එය ඔබට වැඩ කිරීමට ඔබ යම් වෙනස්කම් සිදු කළ යුතුය.
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු, එබැවින් ඉදිරියට යාමට පෙර ඔබ ESP32 ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න: (ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවරට යා හැක.)
Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
ඔබගේ ජාල අක්තපත්ර සැකසීම
ඔබගේ ජාල අක්තපත්ර සමඟින් ඔබට පහත රේඛා වෙනස් කිරීමට අවශ්ය වේ: SSID සහ මුරපදය. ඔබ වෙනස්කම් කළ යුත්තේ කොතැනද යන්න පිළිබඳව කේතය හොඳින් අදහස් දක්වා ඇත.කේතය උඩුගත කිරීම
දැන්, ඔබට කේතය උඩුගත කළ හැකිය web සේවාදායකය වහාම වැඩ කරනු ඇත.
ESP32 වෙත කේතය උඩුගත කිරීමට පහත පියවර අනුගමනය කරන්න:
- ඔබේ ESP32 පුවරුව ඔබේ පරිගණකයට සම්බන්ධ කරන්න;
- Arduino IDE හි මෙවලම් > පුවරුව තුළ ඔබේ පුවරුව තෝරන්න (අපගේ නඩුවේදී අපි ESP32 DEVKIT DOIT පුවරුව භාවිතා කරමු);
- මෙවලම් > වරාය තුළ COM වරාය තෝරන්න.
- Arduino IDE හි උඩුගත කිරීමේ බොත්තම ඔබා කේතය සම්පාදනය කර ඔබේ පුවරුවට උඩුගත කරන තෙක් තත්පර කිහිපයක් රැඳී සිටින්න.
- "උඩුගත කිරීම අවසන්" පණිවිඩය සඳහා රැඳී සිටින්න.
ESP IP ලිපිනය සොයා ගැනීම
කේතය උඩුගත කිරීමෙන් පසු, 115200 baud අනුපාතයකින් Serial Monitor විවෘත කරන්න.ESP32 EN බොත්තම ඔබන්න (නැවත පිහිටුවන්න). ESP32 Wi-Fi වෙත සම්බන්ධ වන අතර අනුක්රමික මොනිටරය මත ESP IP ලිපිනය ප්රතිදානය කරයි. ESP32 වෙත ප්රවේශ වීමට ඔබට එය අවශ්ය බැවින් එම IP ලිපිනය පිටපත් කරන්න web සේවාදායකය.
වෙත ප්රවේශ වීම Web සේවාදායකය
වෙත පිවිසීමට web සේවාදායකය, ඔබේ බ්රව්සරය විවෘත කරන්න, ESP32 IP ලිපිනය අලවන්න, එවිට ඔබට පහත පිටුව පෙනෙනු ඇත.
සටහන: ඔබගේ බ්රවුසරය සහ ESP32 එකම LAN වෙත සම්බන්ධ විය යුතුය.ඔබ අනුක්රමික මොනිටරය දෙස බැලුවහොත්, ඔබට පසුබිමෙන් සිදුවන්නේ කුමක්දැයි දැක ගත හැකිය. ESP හට නව සේවාලාභියෙකුගෙන් HTTP ඉල්ලීමක් ලැබේ (මෙම අවස්ථාවේදී, ඔබගේ බ්රවුසරය).
ඔබට HTTP ඉල්ලීම පිළිබඳ වෙනත් තොරතුරු ද දැකිය හැකිය.
නිරූපණය
දැන් ඔබට එය පරීක්ෂා කළ හැකිය web සේවාදායකය නිවැරදිව ක්රියා කරයි. LED පාලනය කිරීමට බොත්තම් ක්ලික් කරන්න.ඒ සමඟම, ඔබට පසුබිමේ සිදුවන්නේ කුමක්දැයි බැලීමට Serial Monitor එක දෙස බැලිය හැකිය. උදාහරණයක් ලෙසample, ඔබ GPIO 26 ON කිරීමට බොත්තම ක්ලික් කළ විට, ESP32 /26/on මත ඉල්ලීමක් ලැබේ. URL.
ESP32 හට එම ඉල්ලීම ලැබුණු විට, එය GPIO 26 වෙත අමුණා ඇති LED එක සක්රිය කර එහි තත්වය යාවත්කාලීන කරයි. web පිටුව.
GPIO 27 සඳහා බොත්තම සමාන ආකාරයකින් ක්රියා කරයි. එය නිවැරදිව ක්රියාත්මක වේද යන්න පරීක්ෂා කරන්න.
කේතය ක්රියා කරන ආකාරය
මෙම කොටසේදී එය ක්රියා කරන ආකාරය බැලීමට කේතය දෙස සමීපව බලන්න.
ඔබ කළ යුතු පළමු දෙය නම් WiFi පුස්තකාලය ඇතුළත් කිරීමයි.කලින් සඳහන් කළ පරිදි, ද්විත්ව උපුටා දැක්වීම් තුළ පහත පේළිවලට ඔබේ ssid සහ මුරපදය ඇතුළත් කළ යුතුය.
එවිට, ඔබ ඔබේ web සේවාදායකය 80 වරායට.
පහත පේළිය HTTP ඉල්ලීමේ ශීර්ෂකය ගබඩා කිරීම සඳහා විචල්යයක් නිර්මාණය කරයි:
මීලඟට, ඔබ ඔබේ ප්රතිදානයේ වත්මන් තත්ත්වය ගබඩා කිරීම සඳහා සහායක විචල්යයන් නිර්මාණය කරයි. ඔබට තවත් ප්රතිදාන එකතු කිරීමට සහ එහි තත්වය සුරැකීමට අවශ්ය නම්, ඔබට තවත් විචල්යයන් සෑදිය යුතුය.
ඔබ ඔබේ සෑම ප්රතිදානයකටම GPIO එකක් පැවරිය යුතුය. මෙන්න අපි භාවිතා කරන්නේ GPIO 26 සහ GPIO 27. ඔබට වෙනත් සුදුසු GPIO භාවිතා කළ හැක.
සැලසුම()
දැන් අපි setup() වෙත යමු. පළමුව, අපි දෝශ නිරාකරණ අරමුණු සඳහා 115200 baud අනුපාතයකින් අනුක්රමික සන්නිවේදනයක් ආරම්භ කරමු.ඔබ ඔබේ GPIOs OUTPUT ලෙස නිර්වචනය කර ඒවා අඩු ලෙස සකසන්න.
පහත දැක්වෙන රේඛා WiFi.begin (ssid, මුරපදය) සමඟ Wi-Fi සම්බන්ධතාවය ආරම්භ කරයි, සාර්ථක සම්බන්ධතාවයක් සඳහා රැඳී සිටින්න සහ අනුක්රමික මොනිටරයේ ESP IP ලිපිනය මුද්රණය කරන්න.
ලූප් ()
ලූප්() තුළ අපි නව සේවාලාභියෙකු සමඟ සම්බන්ධතාවයක් ඇති කර ගත් විට සිදු වන දේ වැඩසටහන්ගත කරමු web සේවාදායකය.
ESP32 පහත පේළිය සමඟින් පැමිණෙන සේවාදායකයින්ට සැමවිටම සවන් දෙයි:සේවාදායකයකුගෙන් ඉල්ලීමක් ලැබුණු විට, අපි එන දත්ත සුරකිමු. සේවාලාභියා සම්බන්ධ වී සිටින තාක් පහත විට ලූපය ක්රියාත්මක වේ. ඔබ කරන්නේ කුමක්දැයි ඔබ හරියටම දන්නේ නම් මිස කේතයේ පහත කොටස වෙනස් කිරීම අපි නිර්දේශ නොකරමු.
if සහ else ප්රකාශවල මීළඟ කොටස ඔබේ තුළ ඔබා ඇත්තේ කුමන බොත්තමද යන්න පරීක්ෂා කරයි web පිටුව, සහ ඒ අනුව ප්රතිදානයන් පාලනය කරයි. අපි කලින් දැක ඇති පරිදි, අපි විවිධ මත ඉල්ලීමක් කරමු URLs එබූ බොත්තම මත රඳා පවතී.
උදාහරණයක් ලෙසample, ඔබ GPIO 26 ON බොත්තම ඔබා ඇත්නම්, ESP32 /26/ON මත ඉල්ලීමක් ලැබේ. URL (එම තොරතුරු අනුක්රමික මොනිටරයේ HTTP ශීර්ෂයේ ඇති බව අපට පෙනේ). එබැවින්, ශීර්ෂයේ GET /26/on යන ප්රකාශනය තිබේදැයි අපට පරීක්ෂා කළ හැක. එහි අඩංගු නම්, අපි output26state විචල්යය ON වෙත වෙනස් කරමු, සහ ESP32 LED එක සක්රිය කරයි.
මෙය අනෙකුත් බොත්තම් සඳහාද එලෙසම ක්රියා කරයි. එබැවින්, ඔබට තවත් ප්රතිදානයන් එක් කිරීමට අවශ්ය නම්, ඒවා ඇතුළත් කිරීමට ඔබ කේතයේ මෙම කොටස වෙනස් කළ යුතුය.
HTML දර්ශනය කිරීම web පිටුව
ඔබ කළ යුතු ඊළඟ දෙය නම්, නිර්මාණය කිරීමයි web පිටුව. ESP32 විසින් ඔබේ බ්රවුසරය වෙත ප්රතිචාරයක් එවනු ඇත web පිටුව.
ද web මෙම ප්රකාශනය වන client.println() භාවිතයෙන් පිටුව සේවාදායකයා වෙත යවනු ලැබේ. ඔබ සේවාදායකයාට යැවීමට අවශ්ය දේ තර්කයක් ලෙස ඇතුළත් කළ යුතුය.
අප යැවිය යුතු පළමු දෙය සෑම විටම පහත දැක්වෙන රේඛාවයි, එයින් පෙන්නුම් කරන්නේ අපි HTML යවන බවයි.ඉන්පසුව, පහත පේළිය සාදයි web ඕනෑම ආකාරයකින් ප්රතිචාර දක්වන පිටුව web බ්රවුසරය.
Favicon මත ඉල්ලීම් වැළැක්වීම සඳහා පහත සඳහන් දේ භාවිතා වේ. - ඔබ මෙම රේඛාව ගැන කරදර විය යුතු නැත.
මෝස්තර කිරීම Web පිටුව
ඊළඟට, අපට බොත්තම් හැඩගැන්වීමට CSS පෙළ කිහිපයක් තිබේ web පිටු පෙනුම.
අපි Helvetica ෆොන්ටය තෝරා, බ්ලොක් එකක් ලෙස සංදර්ශණය කළ යුතු අන්තර්ගතය නිර්වචනය කර මධ්යයේ පෙළගස්වන්නෙමු.අපි අපගේ බොත්තම් #4CAF50 වර්ණයෙන්, මායිමකින් තොරව, සුදු පැහැයෙන් පෙළ, සහ මෙම පිරවුම සමඟින් හැඩගස්වන්නෙමු: 16px 40px. අපි අකුරු-අලංකරණය කිසිවක් නැත, අකුරු ප්රමාණය, මායිම සහ කර්සරය පොයින්ටරයකට නිර්වචනය කරමු.
අපි කලින් නිර්වචනය කර ඇති බොත්තමේ සියලු ගුණාංග සමඟ, නමුත් වෙනස් වර්ණයකින් දෙවන බොත්තමක් සඳහා විලාසය ද නිර්වචනය කරමු. මෙය අක්රිය බොත්තම සඳහා විලාසය වනු ඇත.
සැකසීම Web පිටුවේ පළමු ශීර්ෂය
ඊළඟ පේළියේ ඔබට ඔබේ පළමු ශීර්ෂය සැකසිය හැක web පිටුව. මෙන්න අපි "ESP32 Web සේවාදායකය”, නමුත් ඔබට මෙම පෙළ ඔබ කැමති දෙයකට වෙනස් කළ හැක.බොත්තම් සහ අනුරූප තත්ත්වය සංදර්ශන කිරීම
ඉන්පසුව, ඔබ GPIO 26 වත්මන් තත්ත්වය පෙන්වීමට ඡේදයක් ලියන්න. ඔබට පෙනෙන පරිදි අපි output26State විචල්යය භාවිතා කරමු, එවිට මෙම විචල්යය වෙනස් වූ විට තත්වය ක්ෂණිකව යාවත්කාලීන වේ.ඉන්පසුව, GPIO හි වත්මන් තත්ත්වය අනුව, අපි සක්රිය හෝ අක්රිය බොත්තම ප්රදර්ශනය කරමු. GPIO හි වත්මන් තත්ත්වය අක්රිය නම්, අපි ON බොත්තම පෙන්වමු, එසේ නොවේ නම්, අපි OFF බොත්තම පෙන්වමු.
අපි GPIO 27 සඳහා එකම ක්රියා පටිපාටිය භාවිතා කරමු.
සම්බන්ධතාවය වසා දැමීම
අවසාන වශයෙන්, ප්රතිචාරය අවසන් වූ විට, අපි ශීර්ෂ විචල්යය ඉවත් කර, client.stop() සමඟ සේවාලාභියා සමඟ සම්බන්ධතාව නවත්වන්නෙමු.
එතීම
මෙම නිබන්ධනය තුළ අපි ඔබට A ගොඩනඟන්නේ කෙසේදැයි පෙන්වා දී ඇත web ESP32 සමඟ සේවාදායකය. අපි ඔබට සරල හිටපු කෙනෙක් පෙන්නුවාampLED දෙකක් පාලනය කරන le, නමුත් අදහස වන්නේ එම LED වෙනුවට relay එකක් හෝ ඔබට පාලනය කිරීමට අවශ්ය වෙනත් ප්රතිදානයකි.
ව්යාපෘතිය 6 RGB LED Web සේවාදායකය
මෙම ව්යාපෘතියේදී අපි ඔබට ESP32 පුවරුවක් භාවිතයෙන් RGB LED එකක් දුරස්ථව පාලනය කරන්නේ කෙසේදැයි පෙන්වන්නෙමු. web වර්ණ තේරීමක් සහිත සේවාදායකය.
ව්යාපෘතිය අවසන්view
ආරම්භ කිරීමට පෙර, මෙම ව්යාපෘතිය ක්රියාත්මක වන ආකාරය බලමු:
- ESP32 web සේවාදායකය වර්ණ පිකර් එකක් පෙන්වයි.
- ඔබ වර්ණයක් තෝරන විට, ඔබගේ බ්රවුසරය a මත ඉල්ලීමක් කරයි URL තෝරාගත් වර්ණයෙහි R, G, සහ B පරාමිති අඩංගු වේ.
- ඔබගේ ESP32 ඉල්ලීම ලබා ගන්නා අතර එක් එක් වර්ණ පරාමිතිය සඳහා අගය බෙදයි.
- ඉන්පසුව, එය RGB LED පාලනය කරන GPIOs වෙත අනුරූප අගය සහිත PWM සංඥාවක් යවයි.
RGB LED වැඩ කරන්නේ කෙසේද?
පොදු කැතෝඩ RGB LED එකක, LED තුනම ඍණ සම්බන්ධතාවයක් (කැතෝඩය) බෙදා ගනී. කට්ටලයට ඇතුළත් කර ඇති සියල්ල පොදු කැතෝඩ RGB වේ.විවිධ වර්ණ නිර්මාණය කරන්නේ කෙසේද?
RGB LED එකක් සමඟ ඔබට රතු, කොළ සහ නිල් ආලෝකය නිපදවිය හැකි අතර, එක් එක් LED වල තීව්රතාවය වින්යාස කිරීමෙන් ඔබට වෙනත් වර්ණ ද නිපදවිය හැකිය.
උදාහරණයක් ලෙසample, සම්පූර්ණයෙන්ම නිල් ආලෝකය නිපදවීමට, ඔබ නිල් LED ඉහළම තීව්රතාවයට සහ කොළ සහ රතු LED අඩුම තීව්රතාවයට සකසන්න. සුදු ආලෝකයක් සඳහා, ඔබ LED තුනම ඉහළම තීව්රතාවයට සකසනු ඇත.
වර්ණ මිශ්ර කිරීම
වෙනත් වර්ණ නිපදවීමට, ඔබට විවිධ තීව්රතාවයෙන් වර්ණ තුන ඒකාබද්ධ කළ හැකිය. එක් එක් LED වල තීව්රතාවය සකස් කිරීම සඳහා ඔබට PWM සංඥාවක් භාවිතා කළ හැකිය.
LED එක එක ළඟින් තියෙන නිසා අපේ ඇස් දෙක තනි තනිව වර්ණ තුනට වඩා වර්ණ සංයෝජනයේ ප්රතිඵලය දකිනවා.
වර්ණ ඒකාබද්ධ කරන්නේ කෙසේද යන්න පිළිබඳ අදහසක් ලබා ගැනීමට, පහත වගුව දෙස බලන්න.
මෙය සරලම වර්ණ මිශ්ර ප්රස්ථාරය වේ, නමුත් එය ක්රියා කරන ආකාරය සහ විවිධ වර්ණ නිපදවන්නේ කෙසේද යන්න පිළිබඳව ඔබට අදහසක් ලබා දේ.අවශ්ය කොටස්
මෙම ව්යාපෘතිය සඳහා ඔබට පහත කොටස් අවශ්ය වේ:
- ESP32 DEVKIT V1 පුවරුව
- RGB LED
- 3x 220 ohm ප්රතිරෝධක
- ජම්පර් වයර්
- පාන් පුවරුව
ක්රමානුකූලකේතය
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු, එබැවින් ඉදිරියට යාමට පෙර ඔබ ESP32 ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න: (ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවරට යා හැක.)
- Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
පරිපථය එකලස් කිරීමෙන් පසුව, කේතය විවෘත කරන්න
ව්යාපෘතිය_6_RGB_LED_Web_Server.ino arduino IDE හි.
කේතය උඩුගත කිරීමට පෙර, ESP හට ඔබේ දේශීය ජාලයට සම්බන්ධ වීමට හැකි වන පරිදි ඔබේ ජාල අක්තපත්ර ඇතුළත් කිරීමට අමතක නොකරන්න.කේතය ක්රියා කරන ආකාරය
ESP32 ස්කීච් WiFi.h පුස්තකාලය භාවිතා කරයි.ඉල්ලීමෙන් R, G, සහ B පරාමිති රඳවා ගැනීමට පහත රේඛා තන්තු විචල්යයන් නිර්වචනය කරයි.
HTTP ඉල්ලීම පසුව විකේතනය කිරීමට ඊළඟ විචල්ය හතර භාවිතා කරයි.
තීරු R, G, සහ B පරාමිති පාලනය කරන GPIOs සඳහා විචල්ය තුනක් සාදන්න. මෙම අවස්ථාවේදී අපි GPIO 13, GPIO 12, සහ GPIO 14 භාවිතා කරනවා.
මෙම GPIOs හට PWM සංඥා ප්රතිදානය කිරීමට අවශ්ය වේ, එබැවින් අපි පළමුව PWM ගුණාංග වින්යාසගත කළ යුතුය. PWM සංඥා සංඛ්යාතය 5000 Hz ලෙස සකසන්න. ඉන්පසුව, එක් එක් වර්ණය සඳහා PWM නාලිකාවක් සම්බන්ධ කරන්න
අවසාන වශයෙන්, PWM නාලිකා වල විභේදනය 8-bit ලෙස සකසන්න
සැකසුම (), PWM නාලිකා සඳහා PWM ගුණාංග පවරන්න
PWM නාලිකා අනුරූප GPIOs වෙත අමුණන්න
පහත කේත කොටස ඔබගේ වර්ණ පිකර් පෙන්වයි web පිටුව සහ ඔබ තෝරාගත් වර්ණය මත පදනම්ව ඉල්ලීමක් කරයි.
ඔබ වර්ණයක් තෝරන විට, ඔබට පහත ආකෘතිය සමඟ ඉල්ලීමක් ලැබේ.
ඉතින්, අපි R, G, සහ B පරාමිති ලබා ගැනීමට මෙම තන්තුව බෙදිය යුතුය. පරාමිති redString, greenString සහ blueString විචල්යවල සුරකින අතර 0 සහ 255 අතර අගයන් තිබිය හැක.ESP32 සමඟ තීරුව පාලනය කිරීමට, HTTP වෙතින් විකේතනය කළ අගයන් සමඟ PWM සංඥා උත්පාදනය කිරීමට ledcWrite() ශ්රිතය භාවිතා කරන්න. ඉල්ලීම.
සටහන: ESP32 සමඟ PWM ගැන තව දැනගන්න: Project 3 ESP32 PWM(Analog Output)
ESP8266 සමඟ තීරුව පාලනය කිරීමට, අපි භාවිතා කිරීමට අවශ්ය වේ
HTPP ඉල්ලීමෙන් විකේතනය කරන ලද අගයන් සමඟ PWM සංඥා උත්පාදනය කිරීමට analogWrite() ශ්රිතය.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
අපිට string variable එකක අගයන් ලැබෙන නිසා toInt() method එක භාවිතා කරලා ඒවා integer වලට convert කරන්න ඕනේ.
නිරූපණය
ඔබගේ ජාල අක්තපත්ර ඇතුළත් කිරීමෙන් පසුව, නිවැරදි පුවරුව සහ COM පෝට් එක තෝරා ඔබගේ ESP32 වෙත කේතය උඩුගත කරන්න.කේත යොමු පියවර උඩුගත කරන්න.
උඩුගත කිරීමෙන් පසු, 115200 ක baud අනුපාතයකින් Serial Monitor විවෘත කර ESP Enable/Reset බොත්තම ඔබන්න. ඔබ පුවරු IP ලිපිනය ලබා ගත යුතුය.ඔබගේ බ්රවුසරය විවෘත කර ESP IP ලිපිනය ඇතුල් කරන්න. දැන්, RGB LED සඳහා වර්ණයක් තෝරා ගැනීමට වර්ණ පිකර් භාවිතා කරන්න.
ඉන්පසුව, වර්ණය බලපැවැත්වීම සඳහා ඔබට "වර්ණ වෙනස් කරන්න" බොත්තම ඔබන්න.RGB LED අක්රිය කිරීමට, කළු වර්ණය තෝරන්න.
ශක්තිමත්ම වර්ණ (වර්ණ පිකර් මුදුනේ), වඩා හොඳ ප්රතිඵල ලබා දෙනු ඇත.
ව්යාපෘතිය 7 ESP32 Relay Web සේවාදායකය
ESP32 සමඟ රිලේ භාවිතා කිරීම AC ගෘහ උපකරණ දුරස්ථව පාලනය කිරීමට විශිෂ්ට ක්රමයකි. මෙම නිබන්ධනය ESP32 සමඟ රිලේ මොඩියුලයක් පාලනය කරන්නේ කෙසේද යන්න පැහැදිලි කරයි.
අපි රිලේ මොඩියුලයක් ක්රියා කරන ආකාරය, ESP32 වෙත රිලේ සම්බන්ධ කරන්නේ කෙසේද සහ ගොඩනගන්නේ කෙසේදැයි බලමු. web රිලේ එකක් දුරස්ථව පාලනය කිරීමට සේවාදායකය.
Relays හඳුන්වා දීම
රිලේ යනු විදුලියෙන් ක්රියාත්මක වන ස්විචයක් වන අතර, වෙනත් ඕනෑම ස්විචයක් මෙන්, එය සක්රිය හෝ අක්රිය කළ හැකි, ධාරාව හරහා යාමට හෝ නොකිරීමට ඉඩ සලසයි. අඩු පරිමාවකින් එය පාලනය කළ හැකියtages, ESP3.3 GPIOs විසින් සපයන ලද 32V වැනි සහ අපට ඉහළ පරිමාව පාලනය කිරීමට ඉඩ සලසයි.tag12V, 24V හෝ ප්රධාන පරිමාව වැනිtage (යුරෝපයේ 230V සහ එක්සත් ජනපදයේ 120V).වම් පැත්තේ, ඉහළ පරිමාවක් සම්බන්ධ කිරීම සඳහා සොකට් තුනක කට්ටල දෙකක් ඇතtages, සහ දකුණු පැත්තේ කටු (අඩු පරිමාවtage) ESP32 GPIOs වෙත සම්බන්ධ කරන්න.
මේන්ස් වෙළුමtagඊ සම්බන්ධතාපෙර ඡායාරූපයේ පෙන්වා ඇති රිලේ මොඩියුලයේ සම්බන්ධක දෙකක් ඇත, එක් එක් සොකට් තුනක් ඇත: පොදු (COM), සාමාන්යයෙන් වසා ඇති (NC) සහ සාමාන්යයෙන් විවෘත (NO).
- COM: ඔබට පාලනය කිරීමට අවශ්ය ධාරාව සම්බන්ධ කරන්න (ප්රධාන වෙළුමtagසහ).
- NC (සාමාන්යයෙන් වසා ඇත): ඔබට රිලේ පෙරනිමියෙන් වසා දැමීමට අවශ්ය වූ විට සාමාන්යයෙන් සංවෘත වින්යාසය භාවිතා වේ. NC යනු COM pins සම්බන්ධ කර ඇත, එනම් ඔබ ESP32 වෙතින් රිලේ මොඩියුලයට පරිපථය විවෘත කර ධාරා ප්රවාහය නැවැත්වීමට සංඥාවක් යවන්නේ නම් මිස ධාරාව ගලා යයි.
- NO (සාමාන්යයෙන් විවෘතයි): සාමාන්යයෙන් විවෘත වින්යාසය අනෙක් අතට ක්රියා කරයි: NO සහ COM පින් අතර සම්බන්ධයක් නොමැත, එබැවින් ඔබ ESP32 වෙතින් පරිපථය වසා දැමීමට සංඥාවක් නොයවන්නේ නම් පරිපථය කැඩී යයි.
පාලන පින්අඩු පරිමාවtage පැත්තේ පයින් හතරක කට්ටලයක් සහ පින් තුනක කට්ටලයක් ඇත. පළමු කට්ටලය මොඩියුලය බල ගැන්වීම සඳහා VCC සහ GND වලින් සමන්විත වන අතර, පිළිවෙලින් පහළ සහ ඉහළ රිලේ පාලනය කිරීමට 1 (IN1) සහ ආදානය 2 (IN2) ඇතුළත් වේ.
ඔබගේ රිලේ මොඩියුලයට ඇත්තේ එක් නාලිකාවක් පමණක් නම්, ඔබට ඇත්තේ එක් IN පින් එකක් පමණි. ඔබට නාලිකා හතරක් තිබේ නම්, ඔබට IN පින් හතරක් ඇත, යනාදිය.
ඔබ IN පින් වෙත යවන සංඥාව, රිලේ ක්රියාකාරීද නැද්ද යන්න තීරණය කරයි. ආදානය 2V පමණ පහළට ගිය විට රිලේ ක්රියා විරහිත වේ. මෙයින් අදහස් කරන්නේ ඔබට පහත අවස්ථා ඇති බවයි:
- සාමාන්යයෙන් සංවෘත වින්යාසය (NC):
- අධි සංඥාව - ධාරාව ගලා යයි
- අඩු සංඥා - ධාරාව ගලා නොයයි
- සාමාන්යයෙන් විවෘත වින්යාසය (NO):
- අධි සංඥාව - ධාරාව ගලා නොයයි
- අඩු සංඥා - ගලා යන ධාරාව
ධාරාව බොහෝ විට ගලා යා යුතු විට ඔබ සාමාන්යයෙන් සංවෘත වින්යාසයක් භාවිතා කළ යුතු අතර ඔබට එය නැවැත්වීමට අවශ්ය වන්නේ ඉඳහිට පමණි.
ඔබට ධාරාව විටින් විට ගලා යාමට අවශ්ය විට සාමාන්යයෙන් විවෘත වින්යාසයක් භාවිතා කරන්න (උදාample, al සක්රිය කරන්නamp ඉඳහිට).
බල සැපයුම් තේරීමදෙවන අල්ෙපෙනති කට්ටලය GND, VCC සහ JD-VCC පින් වලින් සමන්විත වේ.
JD-VCC පින් එක රිලේ එකේ විද්යුත් චුම්භකය බලගන්වයි. මොඩියුලයේ VCC සහ JD-VCC පින් සම්බන්ධ කරන ජම්පර් කැප් එකක් ඇති බව සලකන්න; මෙහි පෙන්වා ඇති එක කහ, නමුත් ඔබේ වර්ණය වෙනස් විය හැක.
ජම්පර් කැප් එක සමඟ, VCC සහ JD-VCC පින් සම්බන්ධ වේ. ඒ කියන්නේ relay විද්යුත් චුම්බකය සෘජුවම බලගන්වන්නේ ESP32 power pin එකෙන්, ඒ නිසා relay module සහ ESP32 පරිපථ භෞතිකව එකිනෙකින් හුදකලා නොවේ.
ජම්පර් කැප් එක නොමැතිව, JD-VCC පින් එක හරහා රිලේ වල විද්යුත් චුම්භකය බල ගැන්වීමට ඔබට ස්වාධීන බල ප්රභවයක් සැපයිය යුතුය. එම වින්යාසය මගින් ESP32 වෙතින් රිලේ භෞතිකව හුදකලා කරන්නේ මොඩියුලයේ ඇති ඔප්ටොකප්ලර් සමඟ වන අතර එමඟින් විද්යුත් කරල් වලදී ESP32 වෙත හානි වීම වළක්වයි.
ක්රමානුකූලඅවවාදයයි: ඉහළ පරිමාවක් භාවිතා කිරීමtagඊ බල සැපයුම් බරපතල තුවාල ඇති විය හැක.
එබැවින්, ඉහළ සැපයුම් පරිමාව වෙනුවට 5mm LED භාවිතා වේtagඊ බල්බ අත්හදා බැලීමේදී. ඔබ ප්රධාන වෙළුම ගැන නොදන්නේ නම්tagඔබට උදව් කිරීමට සිටින කෙනෙකුගෙන් විමසන්න. ESP ක්රමලේඛනය කරන විට හෝ ඔබේ පරිපථය වයර් කරන විට ප්රධාන පරිමාවෙන් සියල්ල විසන්ධි වී ඇති බවට වග බලා ගන්නtage.ESP32 සඳහා පුස්තකාලය ස්ථාපනය කිරීම
මෙය ගොඩනැගීමට web සේවාදායකය, අපි ESPAsync භාවිතා කරමුWebසේවාදායක පුස්තකාලය සහ AsyncTCP පුස්තකාලය.
ESPAsync ස්ථාපනය කිරීමWebසේවාදායක පුස්තකාලය
ස්ථාපනය කිරීමට ඊළඟ පියවර අනුගමනය කරන්න ESPAsyncWebසේවාදායකය පුස්තකාලය:
- ESPAsync බාගත කිරීමට මෙතන ක්ලික් කරන්නWebසේවාදායක පුස්තකාලය. ඔබට තිබිය යුතුය
ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් - .zip ෆෝල්ඩරය ඉවත් කරන්න, එවිට ඔබට ESPAsync ලබා ගත යුතුයWebසේවාදායක-ප්රධාන ෆෝල්ඩරය
- ESPAsync වෙතින් ඔබගේ ෆෝල්ඩරය නැවත නම් කරන්නWebESPAsync වෙත Server-masterWebසේවාදායකය
- ESPAsync මාරු කරන්නWebඔබගේ Arduino IDE ස්ථාපන පුස්තකාල ෆෝල්ඩරය වෙත සේවාදායක ෆෝල්ඩරය
විකල්පයක් ලෙස, ඔබේ Arduino IDE හි, ඔබට Sketch > Include වෙත යා හැක
පුස්තකාලය > .ZIP පුස්තකාලය එක් කරන්න... සහ ඔබ දැන් බාගත කර ඇති පුස්තකාලය තෝරන්න.
ESP32 සඳහා AsyncTCP පුස්තකාලය ස්ථාපනය කිරීම
ද ESPAsyncWebසේවාදායකය පුස්තකාලය අවශ්ය වේ AsyncTCP වැඩ කිරීමට පුස්තකාලය. අනුගමනය කරන්න
එම පුස්තකාලය ස්ථාපනය කිරීමට ඊළඟ පියවර:
- AsyncTCP පුස්තකාලය බාගත කිරීමට මෙතන ක්ලික් කරන්න. ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් තිබිය යුතුය
- .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_ කේතය විවෘත කරන්නWeb_Server.ino arduino IDE හි.
කේතය උඩුගත කිරීමට පෙර, ESP හට ඔබේ දේශීය ජාලයට සම්බන්ධ වීමට හැකි වන පරිදි ඔබේ ජාල අක්තපත්ර ඇතුළත් කිරීමට අමතක නොකරන්න.නිරූපණය
අවශ්ය වෙනස්කම් සිදු කිරීමෙන් පසු, කේතය ඔබගේ ESP32 වෙත උඩුගත කරන්න.කේත යොමු පියවර උඩුගත කරන්න.
අනුක්රමික මොනිටරය 115200 ක baud අනුපාතයකින් විවෘත කර එහි IP ලිපිනය ලබා ගැනීමට ESP32 EN බොත්තම ඔබන්න. ඉන්පසු, ඔබගේ ප්රාදේශීය ජාලයේ බ්රවුසරයක් විවෘත කර ESP32 IP ලිපිනය ටයිප් කරන්න web සේවාදායකය.
අනුක්රමික මොනිටරය 115200 ක baud අනුපාතයකින් විවෘත කර එහි IP ලිපිනය ලබා ගැනීමට ESP32 EN බොත්තම ඔබන්න. ඉන්පසු, ඔබගේ ප්රාදේශීය ජාලයේ බ්රවුසරයක් විවෘත කර ESP32 IP ලිපිනය ටයිප් කරන්න web සේවාදායකය.සටහන: ඔබගේ බ්රවුසරය සහ ESP32 එකම LAN වෙත සම්බන්ධ විය යුතුය.
ඔබ ඔබේ කේතයේ නිර්වචනය කර ඇති රිලේ ගණන ලෙස බොත්තම් දෙකක් සමඟ පහත පරිදි යමක් ලබා ගත යුතුය.දැන්, ඔබට ඔබගේ ස්මාර්ට් ජංගම දුරකථනය භාවිතයෙන් ඔබගේ රිලේ පාලනය කිරීමට බොත්තම් භාවිතා කළ හැක.
Project_8_Output_State_Synchronization_ Web_සේවාදායකය
මෙම ව්යාපෘතිය මඟින් ESP32 හෝ ESP8266 ප්රතිදානයන් පාලනය කරන ආකාරය පෙන්වයි web සේවාදායකය සහ භෞතික බොත්තමක් එකවර. ප්රතිදාන තත්ත්වය යාවත්කාලීන වේ web පිටුව භෞතික බොත්තම හරහා වෙනස් කර තිබේද නැතහොත් web සේවාදායකය.
ව්යාපෘතිය අවසන්view
ව්යාපෘතිය ක්රියාත්මක වන ආකාරය ඉක්මනින් බලමු.ESP32 හෝ ESP8266 සත්කාරක a web ප්රතිදානයක තත්වය පාලනය කිරීමට ඔබට ඉඩ සලසන සේවාදායකය;
- වත්මන් ප්රතිදාන තත්ත්වය පෙන්වයි web සේවාදායකය;
- ESP ද එකම ප්රතිදානය පාලනය කරන භෞතික තල්ලු බොත්තමකට සම්බන්ධ වේ;
- ඔබ භෞතික puhsbutton භාවිතයෙන් ප්රතිදාන තත්ත්වය වෙනස් කරන්නේ නම්, එහි වත්මන් තත්ත්වය ද යාවත්කාලීන වේ web සේවාදායකය.
සාරාංශයක් ලෙස, මෙම ව්යාපෘතිය ඔබට a භාවිතයෙන් එකම ප්රතිදානය පාලනය කිරීමට ඉඩ සලසයි web සේවාදායකය සහ තල්ලු බොත්තමක් එකවර. නිමැවුම් තත්ත්වය වෙනස් වන සෑම විටම, ද web සේවාදායකය යාවත්කාලීන වේ.
අවශ්ය කොටස්
පරිපථය තැනීමට ඔබට අවශ්ය කොටස් ලැයිස්තුවක් මෙන්න:
- ESP32 DEVKIT V1 පුවරුව
- 5 mm LED
- 220Ohm ප්රතිරෝධකය
- ඔබන බොත්තම
- 10k ඕම් ප්රතිරෝධකය
- පාන් පුවරුව
- ජම්පර් වයර්
ක්රමානුකූලESP32 සඳහා පුස්තකාලය ස්ථාපනය කිරීම
මෙය ගොඩනැගීමට web සේවාදායකය, අපි ESPAsync භාවිතා කරමුWebසේවාදායක පුස්තකාලය සහ AsyncTCP පුස්තකාලය.(ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවර වෙත යා හැක.)
ESPAsync ස්ථාපනය කිරීමWebසේවාදායක පුස්තකාලය
ESPAsync ස්ථාපනය කිරීමට ඊළඟ පියවර අනුගමනය කරන්නWebසේවාදායක පුස්තකාලය:
- ESPAsync බාගත කිරීමට මෙතන ක්ලික් කරන්නWebසේවාදායක පුස්තකාලය. ඔබට තිබිය යුතුය
ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් - .zip ෆෝල්ඩරය ඉවත් කරන්න, එවිට ඔබට ESPAsync ලබා ගත යුතුයWebසේවාදායක-ප්රධාන ෆෝල්ඩරය
- ESPAsync වෙතින් ඔබගේ ෆෝල්ඩරය නැවත නම් කරන්නWebESPAsync වෙත Server-masterWebසේවාදායකය
- ESPAsync මාරු කරන්නWebඔබගේ Arduino IDE ස්ථාපන පුස්තකාල ෆෝල්ඩරය වෙත සේවාදායක ෆෝල්ඩරය
විකල්පයක් ලෙස, ඔබේ Arduino IDE හි, ඔබට Sketch > Include වෙත යා හැක
පුස්තකාලය > .ZIP පුස්තකාලය එක් කරන්න... සහ ඔබ දැන් බාගත කර ඇති පුස්තකාලය තෝරන්න.
ESP32 සඳහා AsyncTCP පුස්තකාලය ස්ථාපනය කිරීම
ESPAsyncWebසේවාදායක පුස්තකාලය ක්රියා කිරීමට AsyncTCP පුස්තකාලය අවශ්ය වේ. එම පුස්තකාලය ස්ථාපනය කිරීමට පහත පියවර අනුගමනය කරන්න:
- AsyncTCP පුස්තකාලය බාගත කිරීමට මෙතන ක්ලික් කරන්න. ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් තිබිය යුතුය
- .zip ෆෝල්ඩරය ඉවත් කරන්න, එවිට ඔබට AsyncTCP-master ෆෝල්ඩරය ලබා ගත යුතුය
- ඔබගේ ෆෝල්ඩරය AsyncTCP-master සිට AsyncTCP ලෙස නැවත නම් කරන්න
- AsyncTCP ෆෝල්ඩරය ඔබේ Arduino IDE ස්ථාපන පුස්තකාල ෆෝල්ඩරයට ගෙන යන්න
- අවසාන වශයෙන්, ඔබේ Arduino IDE නැවත විවෘත කරන්න
විකල්පයක් ලෙස, ඔබේ Arduino IDE හි, ඔබට Sketch > Include වෙත යා හැක
පුස්තකාලය > .ZIP පුස්තකාලය එක් කරන්න... සහ ඔබ දැන් බාගත කර ඇති පුස්තකාලය තෝරන්න.
කේතය
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු, එබැවින් ඉදිරියට යාමට පෙර ඔබ ESP32 ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න: (ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවරට යා හැක.)
Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
අවශ්ය පුස්තකාල ස්ථාපනය කිරීමෙන් පසුව, කේතය විවෘත කරන්න
Project_8_Output_State_Synchronization_Web_Server.ino arduino IDE හි.
කේතය උඩුගත කිරීමට පෙර, ESP හට ඔබේ දේශීය ජාලයට සම්බන්ධ වීමට හැකි වන පරිදි ඔබේ ජාල අක්තපත්ර ඇතුළත් කිරීමට අමතක නොකරන්න.
කේතය ක්රියා කරන ආකාරය
බොත්තම් තත්ත්වය සහ ප්රතිදාන තත්ත්වය
ledState විචල්යය LED ප්රතිදාන තත්ත්වය දරයි. පෙරනිමිය සඳහා, විට web සේවාදායකය ආරම්භ වේ, එය අඩුයි.
බොත්තම් ස්ටේට් සහ අන්තිම බොත්තම් ස්ටේට් බොත්තම එබූද නැද්ද යන්න හඳුනා ගැනීමට භාවිතා කරයි.බොත්තම (web සේවාදායකය)
අපි index_html විචල්යයේ බොත්තම සෑදීමට HTML ඇතුළත් කළේ නැත.
ඒ මොකද අපිට දැන් තියෙන LED තත්ත්වයට අනුව ඒක වෙනස් කරන්න පුළුවන් වෙන්න ඕන නිසා ඒකත් pushbutton එකෙන් වෙනස් කරන්න පුළුවන්.
එබැවින්, අපි %BUTTONPLACEHOLDER% බොත්තම සඳහා ස්ථාන දරන්නෙකු සාදා ඇති අතර එය පසුව කේතයේ බොත්තම සෑදීමට HTML පෙළ සමඟ ප්රතිස්ථාපනය කරනු ඇත (මෙය ප්රොසෙසරය() ශ්රිතය තුළ සිදු කෙරේ).සකසනය ()
ප්රොසෙසරය() ශ්රිතය HTML පෙළ මත ඇති ඕනෑම තැන් දරන්නන් සත්ය අගයන් සමඟ ප්රතිස්ථාපනය කරයි. පළමුව, එය HTML පෙළෙහි කිසිවක් තිබේදැයි පරීක්ෂා කරයි
ස්ථාන දරන්නන් %BUTTONPLACEHOLDER%.ඉන්පසුව, වත්මන් ප්රතිදාන තත්ත්වය ලබා දෙන theoutputState() ශ්රිතය අමතන්න. අපි එය outputStateValue විචල්යයේ සුරකිමු.
ඊට පසු, එම අගය භාවිතා කර HTML පෙළ නිර්මාණය කිරීම සඳහා නිවැරදි තත්ත්වය සහිත බොත්තම දර්ශනය කරන්න:
HTTP ප්රතිදාන තත්ත්වය (JavaScript) වෙනස් කිරීමට ඉල්ලීමක් ලබා ගන්න
ඔබ බොත්තම එබූ විට, thetoggleCheckbox() ශ්රිතය ලෙස හැඳින්වේ. මෙම කාර්යය විවිධ මත ඉල්ලීමක් කරනු ඇත URLLED සක්රිය හෝ අක්රිය කිරීමට s.LED සක්රිය කිරීමට, එය /update?state=1 මත ඉල්ලීමක් කරයි URL:
එසේ නොමැතිනම්, එය /update?state=0 මත ඉල්ලීමක් කරයි URL.
HTTP GET තත්වය යාවත්කාලීන කිරීමට ඉල්ලීමක් (JavaScript)
ප්රතිදාන තත්ත්වය යාවත්කාලීනව තබා ගැනීමට web සේවාදායකය, අපි / රාජ්යයේ නව ඉල්ලීමක් කරන පහත ශ්රිතය ලෙස හඳුන්වමු URL සෑම තත්පරයක්ම.ඉල්ලීම් හසුරුවන්න
ඉන්පසුව, ESP32 හෝ ESP8266 ඒවාට ඉල්ලීම් ලැබුණු විට සිදු වන දේ අපි හැසිරවිය යුතුය URLs.
root මත ඉල්ලීමක් ලැබුණු විට /URL, අපි HTML පිටුව මෙන්ම ප්රොසෙසරය යවමු.පහත රේඛා මඟින් ඔබට /update?state=1 හෝ /update?state=0 මත ඉල්ලීමක් ලැබුනේද යන්න පරීක්ෂා කරයි URL ඒ අනුව ledState වෙනස් කරයි.
/ ප්රාන්තයේ ඉල්ලීමක් ලැබුණු විට URL, අපි වත්මන් නිමැවුම් තත්ත්වය යවමු:
ලූප් ()
loop(), අපි pushbutton එක debounce කර ledState එකේ අගය අනුව LED එක on or off කරනවා විචල්ය.නිරූපණය
ඔබගේ ESP32 පුවරුව වෙත කේතය උඩුගත කරන්න. කේත යොමු පියවර උඩුගත කරන්න.
ඉන්පසුව, 115200 ක baud අනුපාතයකින් Serial Monitor එක විවෘත කරන්න. IP ලිපිනය ලබා ගැනීමට ඔන්බෝඩ් EN/RST බොත්තම ඔබන්න.ඔබගේ දේශීය ජාලයේ බ්රවුසරයක් විවෘත කර ESP IP ලිපිනය ටයිප් කරන්න. ඔබට ප්රවේශය තිබිය යුතුය web පහත දැක්වෙන පරිදි සේවාදායකය.
සටහන: ඔබගේ බ්රවුසරය සහ ESP32 එකම LAN වෙත සම්බන්ධ විය යුතුය.ඔබට බොත්තම ටොගල් කළ හැකිය web LED සක්රිය කිරීමට සේවාදායකය.
ඔබට භෞතික තල්ලු බොත්තම සමඟ එකම LED පාලනය කළ හැකිය. එහි තත්ත්වය සැමවිටම ස්වයංක්රීයව යාවත්කාලීන වේ web සේවාදායකය.
ව්යාපෘතිය 9 ESP32 DHT11 Web සේවාදායකය
මෙම ව්යාපෘතියේදී, ඔබ අසමමුහුර්ත ESP32 ගොඩනගන්නේ කෙසේදැයි ඉගෙන ගනු ඇත web Arduino IDE භාවිතයෙන් උෂ්ණත්වය සහ ආර්ද්රතාවය පෙන්වන DHT11 සමඟ සේවාදායකය.
පූර්වාවශ්යතාවයන්
ද web සේවාදායකය නැවුම් කිරීමකින් තොරව අපි කියවීම් ස්වයංක්රීයව යාවත්කාලීන කරන්නෙමු web පිටුව.
මෙම ව්යාපෘතිය සමඟ ඔබ ඉගෙන ගනු ඇත:
- DHT සංවේදක වලින් උෂ්ණත්වය සහ ආර්ද්රතාවය කියවන්නේ කෙසේද;
- අසමමුහුර්ත එකක් සාදන්න web භාවිතා කරන සේවාදායකය ESPAsyncWebසේවාදායක පුස්තකාලය;
- නැවුම් කිරීමේ අවශ්යතාවයකින් තොරව සංවේදක කියවීම් ස්වයංක්රීයව යාවත්කාලීන කරන්න web පිටුව.
අසමමිතික Web සේවාදායකය
ගොඩනැගීමට web සේවාදායකය අපි භාවිතා කරන්නෙමු ESPAsyncWebසේවාදායක පුස්තකාලය අසමමුහුර්ත ගොඩනැගීමට පහසු ක්රමයක් සපයයි web සේවාදායකය. අසමමිතික ගොඩනැගීම web සේවාදායකයට advan කිහිපයක් ඇතtagපුස්තකාල GitHub පිටුවේ සඳහන් කර ඇති පරිදි, වැනි:
- "එකවර සම්බන්ධතා එකකට වඩා හසුරුවන්න";
- “ඔබ ප්රතිචාරය යවන විට, සේවාදායකයා පසුබිමේ ප්රතිචාරය යැවීම ගැන සැලකිලිමත් වන අතර, වෙනත් සම්බන්ධතා හැසිරවීමට ඔබ වහාම සූදානම් වේ”;
- "සැකිලි හැසිරවීමට සරල සැකිලි සැකසුම් එන්ජිම";
අවශ්ය කොටස්
මෙම නිබන්ධනය සම්පූර්ණ කිරීම සඳහා ඔබට පහත කොටස් අවශ්ය වේ:
- ESP32 සංවර්ධන මණ්ඩලය
- DHT11 මොඩියුලය
- පාන් පුවරුව
- ජම්පර් වයර්
ක්රමානුකූලපුස්තකාල ස්ථාපනය කිරීම
මෙම ව්යාපෘතිය සඳහා ඔබට පුස්තකාල කිහිපයක් ස්ථාපනය කිරීමට අවශ්ය වේ:
- ද DHT සහ Adafruit ඒකාබද්ධ සංවේදකය DHT සංවේදකයෙන් කියවීමට රියදුරු පුස්තකාල.
- ESPAsyncWebසේවාදායකය සහ Async TCP අසමමුහුර්ත ගොඩනැගීමට පුස්තකාල web සේවාදායකය.
එම පුස්තකාල ස්ථාපනය කිරීමට පහත උපදෙස් අනුගමනය කරන්න:
DHT සංවේදක පුස්තකාලය ස්ථාපනය කිරීම
Arduino IDE භාවිතයෙන් DHT සංවේදකයෙන් කියවීමට, ඔබ ස්ථාපනය කළ යුතුය DHT සංවේදක පුස්තකාලය. පුස්තකාලය ස්ථාපනය කිරීමට ඊළඟ පියවර අනුගමනය කරන්න.
- DHT Sensor පුස්තකාලය බාගත කිරීමට මෙතන ක්ලික් කරන්න. ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් තිබිය යුතුය
- .zip ෆෝල්ඩරය ඉවත් කරන්න, එවිට ඔබට DHT-sensor-library-master ෆෝල්ඩරය ලබා ගත යුතුය.
- ඔබගේ ෆෝල්ඩරය DHT-sensor-library-master සිට DHT_sensor වෙත නැවත නම් කරන්න
- DHT_sensor ෆෝල්ඩරය ඔබේ Arduino IDE ස්ථාපන පුස්තකාල ෆෝල්ඩරයට ගෙන යන්න
- අවසාන වශයෙන්, ඔබේ Arduino IDE නැවත විවෘත කරන්න
Adafruit Unified Sensor Driver ස්ථාපනය කිරීම
ඔබ ද ස්ථාපනය කළ යුතුය Adafruit Unified Sensor Driver පුස්තකාලය DHT සංවේදකය සමඟ වැඩ කිරීමට. පුස්තකාලය ස්ථාපනය කිරීමට ඊළඟ පියවර අනුගමනය කරන්න.
- Adafruit Unified Sensor පුස්තකාලය බාගත කිරීමට මෙතන ක්ලික් කරන්න. ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් තිබිය යුතුය
- .zip ෆෝල්ඩරය ඉවත් කරන්න, එවිට ඔබට Adafruit_sensor-master ෆෝල්ඩරය ලබා ගත යුතුය
- ඔබගේ ෆෝල්ඩරය Adafruit_sensor-master සිට Adafruit_sensor ලෙස නැවත නම් කරන්න
- Adafruit_sensor ෆෝල්ඩරය ඔබේ Arduino IDE ස්ථාපන පුස්තකාල ෆෝල්ඩරයට ගෙන යන්න
- අවසාන වශයෙන්, ඔබේ Arduino IDE නැවත විවෘත කරන්න
ESPAsync ස්ථාපනය කිරීමWebසේවාදායක පුස්තකාලය
ස්ථාපනය කිරීමට ඊළඟ පියවර අනුගමනය කරන්න ESPAsyncWebසේවාදායකය පුස්තකාලය:
- ESPAsync බාගත කිරීමට මෙතන ක්ලික් කරන්නWebසේවාදායක පුස්තකාලය. ඔබට තිබිය යුතුය
ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් - .zip ෆෝල්ඩරය Unzip සහ ඔබ කළ යුතුය
ESPAsync ලබා ගන්නWebසේවාදායක-ප්රධාන ෆෝල්ඩරය - ESPAsync වෙතින් ඔබගේ ෆෝල්ඩරය නැවත නම් කරන්නWebESPAsync වෙත Server-masterWebසේවාදායකය
- ESPAsync මාරු කරන්නWebඔබගේ Arduino IDE ස්ථාපන පුස්තකාල ෆෝල්ඩරය වෙත සේවාදායක ෆෝල්ඩරය
ESP32 සඳහා Async TCP පුස්තකාලය ස්ථාපනය කිරීම
ද ESPAsyncWebසේවාදායකය පුස්තකාලය අවශ්ය වේ AsyncTCP වැඩ කිරීමට පුස්තකාලය. එම පුස්තකාලය ස්ථාපනය කිරීමට පහත පියවර අනුගමනය කරන්න:
- AsyncTCP පුස්තකාලය බාගත කිරීමට මෙතන ක්ලික් කරන්න. ඔබගේ බාගැනීම් ෆෝල්ඩරයේ .zip ෆෝල්ඩරයක් තිබිය යුතුය
- .zip ෆෝල්ඩරය ඉවත් කරන්න, එවිට ඔබට AsyncTCP-master ෆෝල්ඩරය ලබා ගත යුතුය
- ඔබගේ ෆෝල්ඩරය AsyncTCP-master සිට AsyncTCP ලෙස නැවත නම් කරන්න
- AsyncTCP ෆෝල්ඩරය ඔබේ Arduino IDE ස්ථාපන පුස්තකාල ෆෝල්ඩරයට ගෙන යන්න
- අවසාන වශයෙන්, ඔබේ Arduino IDE නැවත විවෘත කරන්න
කේතය
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු, එබැවින් ඉදිරියට යාමට පෙර ඔබ ESP32 ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න: (ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවරට යා හැක.)
Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීම
අවශ්ය පුස්තකාල ස්ථාපනය කිරීමෙන් පසුව, කේතය විවෘත කරන්න
Project_9_ESP32_DHT11_Web_Server.ino arduino IDE හි.
කේතය උඩුගත කිරීමට පෙර, ESP හට ඔබේ දේශීය ජාලයට සම්බන්ධ වීමට හැකි වන පරිදි ඔබේ ජාල අක්තපත්ර ඇතුළත් කිරීමට අමතක නොකරන්න.කේතය ක්රියා කරන ආකාරය
පහත ඡේදවල අපි කේතය ක්රියා කරන ආකාරය පැහැදිලි කරන්නෙමු. ඔබට වැඩිදුර ඉගෙන ගැනීමට අවශ්ය නම් දිගටම කියවන්න හෝ අවසාන ප්රතිඵලය බැලීමට නිරූපණ අංශයට යන්න.
පුස්තකාල ආනයනය කිරීම
පළමුව, අවශ්ය පුස්තකාල ආනයනය කරන්න. WiFi, ESPAsyncWebගොඩනැගීමට සේවාදායකය සහ ESPAsyncTCP අවශ්ය වේ web සේවාදායකය. Adafruit_Sensor සහ DHT පුස්තකාල DHT11 හෝ DHT22 සංවේදක වලින් කියවීමට අවශ්ය වේ.විචල්ය අර්ථ දැක්වීම
DHT දත්ත පින් එක සම්බන්ධ කර ඇති GPIO නිර්වචනය කරන්න. මෙම අවස්ථාවේදී, එය GPIO 4 වෙත සම්බන්ධ වේ.ඉන්පසු, ඔබ භාවිතා කරන DHT සංවේදක වර්ගය තෝරන්න. අපේ හිටපුample, අපි DHT22 භාවිතා කරනවා. ඔබ වෙනත් වර්ගයක් භාවිතා කරන්නේ නම්, ඔබට අවශ්ය වන්නේ ඔබේ සංවේදකය ඉවත් කර අනෙක් සියල්ලට අදහස් දැක්වීමයි.
අප කලින් නිර්වචනය කර ඇති වර්ගය සහ පින් සමඟ DHT වස්තුවක් ක්ෂණික කරන්න.Async එකක් සාදන්නWeb80 වරායේ සේවාදායක වස්තුව.
උෂ්ණත්වය සහ ආර්ද්රතා කාර්යයන් කියවන්න
අපි ශ්රිත දෙකක් සාදා ඇත: එකක් උෂ්ණත්වය කියවීමට අපි ශ්රිත දෙකක් සාදා ඇත: එකක් උෂ්ණත්වය කියවීමට (readDHTTemperature()) සහ අනෙක ආර්ද්රතාවය කියවීමට (readDHTHumidity()).සංවේදක කියවීම් ලබා ගැනීම මෙන්ම සංවේදක කියවීම් ලබා ගැනීම dht වස්තුවේ readTemperature() සහ readHumidity() ක්රම භාවිතා කිරීම තරම් සරල ය.
සංවේදකය කියවීම් ලබා ගැනීමට අපොහොසත් වුවහොත් ඉර දෙකක් (–) ලබා දෙන කොන්දේසියක් ද අප සතුව ඇත.
කියවීම් තන්තු වර්ගය ලෙස ආපසු ලබා දෙනු ලැබේ. float එකක් string එකක් බවට පරිවර්තනය කිරීමට, String() ශ්රිතය භාවිතා කරන්න
පෙරනිමියෙන්, අපි උෂ්ණත්වය සෙල්සියස් අංශක වලින් කියවමු. උෂ්ණත්වය ෆැරන්හයිට් අංශක වලින් ලබා ගැනීමට, උෂ්ණත්වය සෙල්සියස් වලින් කමෙන්ට් කර ෆැරන්හයිට් වල උෂ්ණත්වය විසන්ධි කරන්න, එවිට ඔබට පහත දේ ඇත:
කේතය උඩුගත කරන්න
දැන්, ඔබගේ ESP32 වෙත කේතය උඩුගත කරන්න. ඔබ නිවැරදි පුවරුව සහ COM port තෝරාගෙන ඇති බවට වග බලා ගන්න.කේත යොමු පියවර උඩුගත කරන්න.
උඩුගත කිරීමෙන් පසු, 115200 ක baud අනුපාතයකින් Serial Monitor විවෘත කරන්න. ESP32 යළි පිහිටුවීමේ බොත්තම ඔබන්න. ESP32 IP ලිපිනය ශ්රේණියේ මුද්රණය කළ යුතුය අධීක්ෂණය.නිරූපණය
බ්රව්සරයක් විවෘත කර ESP32 IP ලිපිනය ටයිප් කරන්න. ඔබගේ web සේවාදායකය නවතම සංවේදක කියවීම් පෙන්විය යුතුය.
සටහන: ඔබගේ බ්රවුසරය සහ ESP32 එකම LAN වෙත සම්බන්ධ විය යුතුය.
උෂ්ණත්වය සහ ආර්ද්රතා කියවීම් යාවත්කාලීන කිරීමකින් තොරව ස්වයංක්රීයව යාවත්කාලීන වන බව සලකන්න web පිටුව.
Project_10_ESP32_OLED_Display
මෙම ව්යාපෘතිය Arduino IDE භාවිතයෙන් ESP0.96 සමඟ අඟල් 1306 SSD32 OLED සංදර්ශකය භාවිතා කරන ආකාරය පෙන්වයි.
අඟල් 0.96 OLED සංදර්ශකය හඳුන්වා දීම
ද OLED සංදර්ශකය මෙම නිබන්ධනයේදී අප භාවිතා කරන්නේ SSD1306 මාදිලියයි: පහත රූපයේ දැක්වෙන පරිදි ඒකවර්ණ, 0.96×128 පික්සල සහිත අඟල් 64 සංදර්ශකය.OLED සංදර්ශකයට පසුතල ආලෝකය අවශ්ය නොවේ, එහි ප්රතිඵලයක් ලෙස අඳුරු පරිසරයන්හි ඉතා හොඳ වෙනසක් ඇති වේ. අතිරේකව, එහි පික්සෙල් බලශක්තිය පරිභෝජනය කරන්නේ ඒවා ක්රියාත්මක වූ විට පමණි, එබැවින් OLED සංදර්ශකය අනෙකුත් සංදර්ශක හා සසඳන විට අඩු බලයක් පරිභෝජනය කරයි.
OLED සංදර්ශකය I2C සන්නිවේදන ප්රොටෝකෝලය භාවිතා කරන බැවින්, රැහැන්වීම ඉතා සරල ය. ඔබට පහත වගුව යොමු කිරීමක් ලෙස භාවිතා කළ හැකිය.
OLED පින් | ESP32 |
වින් | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
ක්රමානුකූලSSD1306 OLED පුස්තකාලය ස්ථාපනය කිරීම - ESP32
ESP32 සමඟින් OLED සංදර්ශකය පාලනය කිරීමට පුස්තකාල කිහිපයක් තිබේ.
මෙම නිබන්ධනයේදී අපි Adafruit පුස්තකාල දෙකක් භාවිතා කරන්නෙමු: Adafruit_SSD1306 පුස්තකාලය සහ Adafruit_GFX පුස්තකාලය.
එම පුස්තකාල ස්ථාපනය කිරීමට ඊළඟ පියවර අනුගමනය කරන්න.
- ඔබගේ Arduino IDE විවෘත කර Sketch > Include Library > Manage Libraries වෙත යන්න. පුස්තකාල කළමනාකරු විවෘත කළ යුතුය.
- සෙවුම් කොටුවේ "SSD1306" ටයිප් කර Adafruit වෙතින් SSD1306 පුස්තකාලය ස්ථාපනය කරන්න.
- Adafruit වෙතින් SSD1306 පුස්තකාලය ස්ථාපනය කිරීමෙන් පසු, සෙවුම් කොටුවේ “GFX” ටයිප් කර පුස්තකාලය ස්ථාපනය කරන්න.
- පුස්තකාල ස්ථාපනය කිරීමෙන් පසු, ඔබේ Arduino IDE නැවත ආරම්භ කරන්න.
කේතය
අවශ්ය පුස්තකාල ස්ථාපනය කිරීමෙන් පසු, arduino IDE හි Project_10_ESP32_OLED_Display.ino විවෘත කරන්න. කේතය
අපි ESP32 Arduino IDE භාවිතයෙන් වැඩසටහන් කරන්නෙමු, එබැවින් ඉදිරියට යාමට පෙර ESP32 ඇඩෝනය ස්ථාපනය කර ඇති බවට වග බලා ගන්න: (ඔබ දැනටමත් මෙම පියවර කර ඇත්නම්, ඔබට ඊළඟ පියවරට යා හැක.)
Arduino IDE හි ESP32 ඇඩෝනය ස්ථාපනය කිරීමකේතය ක්රියා කරන ආකාරය
පුස්තකාල ආනයනය කිරීම
පළමුව, ඔබ අවශ්ය පුස්තකාල ආනයනය කළ යුතුය. I2C භාවිතා කිරීමට Wire පුස්තකාලය සහ සංදර්ශකය වෙත ලිවීමට Adafruit පුස්තකාලය: Adafruit_GFX සහ Adafruit_SSD1306.OLED සංදර්ශකය ආරම්භ කරන්න
ඉන්පසුව, ඔබ ඔබේ OLED පළල සහ උස නිර්වචනය කරයි. මෙම example, අපි භාවිතා කරන්නේ 128×64 OLED සංදර්ශකයක්. ඔබ වෙනත් ප්රමාණ භාවිතා කරන්නේ නම්, ඔබට එය SCREEN_WIDTH සහ SCREEN_HEIGHT විචල්ය වලින් වෙනස් කළ හැක.පසුව, I2C සන්නිවේදන ප්රොටෝකෝලය (&Wire) සමඟ කලින් නිර්වචනය කරන ලද පළල සහ උස සහිත දර්ශන වස්තුවක් ආරම්භ කරන්න.
(-1) පරාමිතිය යනු ඔබගේ OLED සංදර්ශකයේ RESET පින් එකක් නොමැති බවයි. ඔබගේ OLED සංදර්ශකයේ RESET පින් එකක් තිබේ නම්, එය GPIO එකකට සම්බන්ධ කළ යුතුය. එවැනි අවස්ථාවක, ඔබ පරාමිතියක් ලෙස GPIO අංකය සමත් විය යුතුය.
සැකසුම(), නිදොස් කිරීමේ අරමුණු සඳහා 115200 baud raute එකකින් Serial Monitor ආරම්භ කරන්න.පහත ආකාරයට ආරම්භය() ක්රමය සමඟ OLED සංදර්ශකය ආරම්භ කරන්න:
අපට සංදර්ශකය වෙත සම්බන්ධ වීමට නොහැකි වූ විට, මෙම ස්නිපටය අනුක්රමික මොනිටරයේ පණිවිඩයක් ද මුද්රණය කරයි.
ඔබ වෙනත් OLED සංදර්ශකයක් භාවිතා කරන්නේ නම්, ඔබට OLED ලිපිනය වෙනස් කිරීමට අවශ්ය විය හැක. අපගේ නඩුවේදී, ලිපිනය 0x3C වේ.
සංදර්ශකය ආරම්භ කිරීමෙන් පසු, තත්පර දෙකක ප්රමාදයක් එක් කරන්න, එවිට පෙළ ලිවීමට පෙර ආරම්භ කිරීමට OLED හට ප්රමාණවත් කාලයක් තිබේ:
සංදර්ශකය පැහැදිලි කරන්න, අකුරු ප්රමාණය, වර්ණය සහ පෙළ ලියන්න
සංදර්ශකය ආරම්භ කිරීමෙන් පසු, clearDisplay() ක්රමය සමඟ සංදර්ශක බෆරය ඉවත් කරන්න:
පෙළ ලිවීමට පෙර, ඔබ පෙළ ප්රමාණය, වර්ණය සහ OLED හි පෙළ දර්ශනය වන ස්ථානය සැකසිය යුතුය.
setTextSize() ක්රමය භාවිතයෙන් අකුරු ප්රමාණය සකසන්න:setTextColor() ක්රමය සමඟ අකුරු වර්ණය සකසන්න:
WHITE සුදු අකුරු සහ කළු පසුබිම සකසයි.
setCursor(x,y) ක්රමය භාවිතයෙන් පෙළ ආරම්භ වන ස්ථානය නිර්වචනය කරන්න. මෙම අවස්ථාවේදී, අපි (0,0) ඛණ්ඩාංක වලින් ආරම්භ කිරීමට පෙළ සකසන්නෙමු - ඉහළ වම් කෙළවරේ.අවසාන වශයෙන්, ඔබට පහත පරිදි println() ක්රමය භාවිතා කර ප්රදර්ශනයට පෙළ යැවිය හැක
ඉන්පසුව, ඔබට තිරයේ ඇති පාඨය සත්ය වශයෙන්ම පෙන්වීමට display() ක්රමය ඇමතීමට අවශ්ය වේ.
Adafruit OLED පුස්තකාලය පහසුවෙන් පෙළ අනුචලනය කිරීමට ප්රයෝජනවත් ක්රම සපයයි.
- startscrollright(0x00, 0x0F): පෙළ වමේ සිට දකුණට අනුචලනය කරන්න
- startscrollleft(0x00, 0x0F): දකුණේ සිට වමට පෙළ අනුචලනය කරන්න
- startscrolldiagright(0x00, 0x07): වම් පහළ කෙළවරේ සිට දකුණු ඉහළ කෙළවරට පෙළ අනුචලනය කරන්න startscrolldiagleft(0x00, 0x07): දකුණු පහළ කෙළවරේ සිට වම් ඉහළ කෙළවරට පෙළ අනුචලනය කරන්න
කේතය උඩුගත කරන්න
දැන්, ඔබගේ ESP32 වෙත කේතය උඩුගත කරන්න. කේත යොමු පියවර උඩුගත කරන්න.
කේතය උඩුගත කිරීමෙන් පසුව, OLED අනුචලන පෙළ පෙන්වනු ඇත.
ලේඛන / සම්පත්
![]() |
LAFVIN ESP32 මූලික ආරම්භක කට්ටලය [pdf] උපදෙස් අත්පොත ESP32 මූලික ආරම්භක කට්ටලය, ESP32, මූලික ආරම්භක කට්ටලය, ආරම්භක කට්ටලය |