ESP32 መሰረታዊ ማስጀመሪያ
ኪት
የማሸጊያ ዝርዝር
ESP32 መግቢያ
ለESP32 አዲስ ነገር አለ? እዚህ ጀምር! ESP32 ዋይ ፋይ እና ብሉቱዝ ሽቦ አልባ ብቃቶችን እና ባለሁለት ኮር ፕሮሰሰርን የሚያካትቱ በኤስፕሬሲፍ የተሰራ በቺፕ (ሶሲ) ላይ ያለ ተከታታይ ዝቅተኛ ወጪ እና ዝቅተኛ ሃይል ሲስተም ነው። ESP8266ን የምታውቁት ከሆነ፣ ESP32 ተተኪው ነው፣ በብዙ አዳዲስ ባህሪያት ተጭኗል።ESP32 መግለጫዎች
ትንሽ ተጨማሪ ቴክኒካል እና ልዩ ለማግኘት ከፈለጉ፣ የሚከተለውን የESP32 ዝርዝር መግለጫዎች መመልከት ይችላሉ (ምንጭ፡- http://esp32.net/) - ለተጨማሪ ዝርዝሮች የውሂብ ሉህውን ያረጋግጡ):
- የገመድ አልባ ግንኙነት ዋይፋይ፡ 150.0Mbps የውሂብ መጠን ከHT40 ጋር
- ብሉቱዝ፡ BLE (ብሉቱዝ ዝቅተኛ ኃይል) እና ብሉቱዝ ክላሲክ
- አንጎለ ኮምፒውተር፡ Tensilica Xtensa Dual-Core 32-bit LX6 ማይክሮፕሮሰሰር፣ በ160 ወይም 240 ሜኸር የሚሰራ
- ማህደረ ትውስታ፡
- ROM: 448 ኪባ (ለመነሳት እና ለዋና ተግባራት)
- SRAM: 520 ኪባ (መረጃ እና መመሪያዎች)
- RTC fas SRAM፡ 8 ኪባ (ለውሂብ ማከማቻ እና ዋና ሲፒዩ በ RTC ቡት ከጥልቅ እንቅልፍ ሁነታ)
- RTC ቀርፋፋ SRAM፡ 8KB (በጥልቅ እንቅልፍ ሁነታ ላይ ለጋራ ፕሮሰሰር ለመግባት) eFuse: 1 Kbit (ከዚህ ውስጥ 256 ቢት ለስርዓቱ ጥቅም ላይ ይውላል (MAC አድራሻ እና ቺፕ ውቅር) እና የተቀሩት 768 ቢት ለደንበኛ መተግበሪያዎች የተያዙ ናቸው፣ ጨምሮ ፍላሽ-ምስጠራ እና ቺፕ-መታወቂያ)
የተከተተ ፍላሽ፡ ብልጭታ በውስጥ በኩል በIO16፣ IO17፣ SD_CMD፣ SD_CLK፣ SD_DATA_0 እና SD_DATA_1 በESP32-D2WD እና ESP32-PICO-D4 ተገናኝቷል።
- 0 ሚቢ (ESP32-D0WDQ6፣ ESP32-D0WD፣ እና ESP32-S0WD ቺፕስ)
- 2 ሚቢ (ESP32-D2WD ቺፕ)
- 4 ሚቢ (ESP32-PICO-D4 ሲፒ ሞጁል)
ዝቅተኛ ኃይል፡ አሁንም የኤዲሲ ልወጣዎችን መጠቀም እንደሚችሉ ያረጋግጣል፣ ለምሳሌample, በጥልቅ እንቅልፍ ጊዜ.
ተጓዳኝ ግቤት/ውፅዓት፡-
- አቅም ያለው ንክኪን የሚያካትት ከዲኤምኤ ጋር የዳርቻ በይነገጽ
- ኤዲሲዎች (አናሎግ ወደ ዲጂታል መለወጫ)
- DACs (ከዲጂታል ወደ አናሎግ መለወጫ)
- I²C (የተዋሃደ ወረዳ)
- UART (ሁሉን አቀፍ ያልተመሳሰለ ተቀባይ/አስተላላፊ)
- SPI (ተከታታይ ተጓዳኝ በይነገጽ)
- I²S (የተዋሃደ ኢንተርቺፕ ድምፅ)
- RMII (የተቀነሰ የሚዲያ-ገለልተኛ በይነገጽ)
- PWM (Pulse-Width Modulation)
ደህንነት፡ የሃርድዌር ማፍጠኛዎች ለ AES እና SSL/TLS
ESP32 ልማት ቦርዶች
ESP32 የሚያመለክተው ባዶውን ESP32 ቺፕ ነው። ሆኖም፣ “ESP32” የሚለው ቃል ESP32 የልማት ሰሌዳዎችን ለማመልከትም ጥቅም ላይ ይውላል። ESP32 ባዶ ቺፖችን መጠቀም ቀላል ወይም ተግባራዊ አይደለም፣በተለይ በሚማርበት፣በመሞከር እና በፕሮቶታይፕ ጊዜ። ብዙ ጊዜ፣ የESP32 ልማት ሰሌዳ መጠቀም ይፈልጋሉ።
የESP32 DEVKIT V1 ሰሌዳን እንደ ማጣቀሻ እንጠቀማለን ።ከዚህ በታች ያለው ሥዕል የሚያሳየው ESP32 DEVKIT V1 ሰሌዳ ፣ ስሪት 30 GPIO ፒን ያለው ነው።መግለጫዎች - ESP32 DEVKIT V1
የሚከተለው ሠንጠረዥ የESP32 DEVKIT V1 DOIT ቦርድ ባህሪያትን እና ዝርዝር መግለጫዎችን ማጠቃለያ ያሳያል፡-
የኮሮች ብዛት | 2 (ባለሁለት ኮር) |
ዋይ ፋይ | 2.4 GHz እስከ 150 Mbits/s |
ብሉቱዝ | BLE (ብሉቱዝ ዝቅተኛ ኃይል) እና የቆየ ብሉቱዝ |
አርክቴክቸር | 32 ቢት |
የሰዓት ድግግሞሽ | እስከ 240 ሜኸ |
ራም | 512 ኪ.ባ |
ፒኖች | 30 (በአምሳያው ላይ በመመስረት) |
ተጓዳኝ እቃዎች | አቅምን የሚነካ ንክኪ፣ ADC (አናሎግ ወደ ዲጂታል መቀየሪያ)፣ DAC (ዲጂታል ወደ አናሎግ መቀየሪያ)፣ 12ሲ (የተዋሃደ ሰርክ)፣ UART (ሁለንተናዊ ያልተመሳሰለ ተቀባይ/አስተላላፊ)፣ CAN 2.0 (ተቆጣጣሪ አካባቢ ኔትዎከር)፣ SPI (ተከታታይ ፔሪፈራል በይነገጽ) ፣ 12S (የተቀናጀ ኢንተር-አይ.ሲ ድምጽ)፣ RMII (የተቀነሰ የሚዲያ-ገለልተኛ በይነገጽ)፣ PWM (የልብ ስፋት ማስተካከያ) እና ሌሎችም። |
አብሮ የተሰሩ አዝራሮች | ዳግም አስጀምር እና ቡት አዝራሮች |
አብሮገነብ LEDs | አብሮ የተሰራ ሰማያዊ LED ከ GPIO2 ጋር የተገናኘ; ቦርዱ እየተንቀሳቀሰ መሆኑን የሚያሳይ አብሮ የተሰራ ቀይ LED |
ዩኤስቢ ወደ UART ድልድይ |
ሲፒ2102 |
ኮድ ለመስቀል ወይም ኃይልን ለመተግበር ሰሌዳውን ከኮምፒዩተርዎ ጋር ለማገናኘት ከሚጠቀሙበት የማይክሮ ዩኤስቢ በይነገጽ ጋር አብሮ ይመጣል።
ተከታታይ በይነገጽ በመጠቀም ከኮምፒዩተርዎ ጋር በCOM ወደብ በኩል ለመገናኘት CP2102 ቺፕ (USB ወደ UART) ይጠቀማል። ሌላው ተወዳጅ ቺፕ CH340 ነው. በቦርድዎ ላይ የዩኤስቢ ወደ UART ቺፕ መቀየሪያ ምን እንደሆነ ያረጋግጡ ምክንያቱም ኮምፒውተራችን ከቦርዱ ጋር መገናኘት እንዲችል የሚያስፈልጉትን ሾፌሮች መጫን ስለሚያስፈልግዎ (በዚህ መመሪያ ላይ ስለዚህ ጉዳይ ተጨማሪ መረጃ)።
ይህ ሰሌዳ ቦርዱን እንደገና ለማስጀመር ከዳግም ማስጀመሪያ ቁልፍ (EN ሊሰየድ ይችላል) እና ቦርዱን በብልጭ ድርግም ለማድረግ (ኮድ ለመቀበል የሚገኝ) BOOT ቁልፍ አለው። አንዳንድ ሰሌዳዎች BOOT አዝራር ላይኖራቸው እንደሚችል ልብ ይበሉ።
በውስጡም ከጂፒኦ 2 ጋር የተገናኘ አብሮ በተሰራ ሰማያዊ LED አብሮ ይመጣል። ለቦርዱ ኃይል ሲሰጡ የሚያበራ ቀይ LEDም አለ።ESP32 Pinout
የ ESP32 ተጓዳኝ አካላት የሚከተሉትን ያካትታሉ:
- 18 አናሎግ ወደ ዲጂታል መለወጫ (ADC) ሰርጦች
- 3 SPI በይነገጾች
- 3 UART በይነገጾች
- 2 I2C በይነገጾች
- 16 PWM የውጤት ቻናሎች
- 2 ዲጂታል-ወደ-አናሎግ መለወጫዎች (DAC)
- 2 I2S በይነገጾች
- 10 Capacitive Sensing GPIOs
የኤ.ዲ.ሲ (አናሎግ ወደ ዲጂታል መቀየሪያ) እና DAC (ዲጂታል ወደ አናሎግ መቀየሪያ) ባህሪያት ለተወሰኑ የማይንቀሳቀሱ ፒን ተመድበዋል። ይሁን እንጂ የትኞቹ ፒን UART, I2C, SPI, PWM, ወዘተ እንደሆኑ መወሰን ይችላሉ - በኮዱ ውስጥ ብቻ መመደብ ያስፈልግዎታል. ይህ ሊሆን የቻለው በ ESP32 ቺፕ ማባዛት ባህሪ ምክንያት ነው።
ምንም እንኳን በሶፍትዌሩ ላይ ያሉትን የፒን ባህሪያትን መግለፅ ቢችሉም በሚከተለው ምስል ላይ እንደሚታየው በነባሪነት የተመደቡ ፒኖች አሉ።በተጨማሪም፣ ለተወሰነ ፕሮጀክት ተስማሚ ወይም የማይሆኑ የሚያደርጋቸው የተወሰኑ ባህሪያት ያላቸው ፒኖች አሉ። የሚከተለው ሰንጠረዥ የትኞቹን ፒን እንደ ግብዓቶች፣ ውፅዓቶች መጠቀም የተሻለ እንደሆነ እና የትኞቹንም መጠንቀቅ እንዳለቦት ያሳያል።
በአረንጓዴ የደመቁ ካስማዎች ለመጠቀም ምንም ችግር የለውም። በቢጫ ቀለም የተመለከቱት ለመጠቀም እሺ ናቸው፣ ነገር ግን ትኩረት መስጠት አለብዎት ምክንያቱም በዋናነት በሚነሳበት ጊዜ ያልተጠበቀ ባህሪ ሊኖራቸው ይችላል። በቀይ የደመቁ ካስማዎች እንደ ግብአት ወይም ውፅዓት እንዲጠቀሙ አይመከሩም።
GP አይ.ኦ | ግቤት | ውፅዓት | ማስታወሻዎች |
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 ናቸው - ግቤት ብቻ ፒን. እነዚህ ፒኖች ውስጣዊ ወደላይ የሚጎትቱ ወይም ወደ ታች የሚጎትቱ ተቃዋሚዎች የላቸውም። እንደ ውፅዓት ጥቅም ላይ ሊውሉ አይችሉም፣ ስለዚህ እነዚህን ፒኖች እንደ ግብአት ብቻ ይጠቀሙ፡-
- ጂፒኦ 34
- ጂፒኦ 35
- ጂፒኦ 36
- ጂፒኦ 39
በESP-WROOM-32 ላይ የተዋሃደ SPI ፍላሽ
GPIO 6 እስከ GPIO 11 በአንዳንድ ESP32 ልማት ቦርዶች ውስጥ ተጋልጠዋል። ነገር ግን፣ እነዚህ ፒኖች በESP-WROOM-32 ቺፕ ላይ ካለው የተቀናጀ የSPI ፍላሽ ጋር የተገናኙ ናቸው እና ለሌላ አገልግሎት አይመከሩም። ስለዚህ እነዚህን ፒን በፕሮጀክቶችዎ ውስጥ አይጠቀሙ፡
- GPIO 6 (SCK/CLK)
- GPIO 7 (SDO/SD0)
- GPIO 8 (ኤስዲአይ/ኤስዲ1)
- GPIO 9 (ኤስኤችዲ/ኤስዲ2)
- GPIO 10 (SWP/SD3)
- GPIO 11 (ሲኤስሲ/ሲኤምዲ)
አቅምን የሚነኩ GPIOs
ESP32 10 ውስጣዊ አቅም ያላቸው የንክኪ ዳሳሾች አሉት። እነዚህ እንደ ሰው ቆዳ ያሉ የኤሌክትሪክ ክፍያን በሚይዝ ማንኛውም ነገር ላይ ልዩነቶችን ሊገነዘቡ ይችላሉ። ስለዚህ ጂፒአይኦዎችን በጣት ሲነኩ የሚፈጠሩ ልዩነቶችን ማወቅ ይችላሉ። እነዚህ ፒንዎች በቀላሉ ወደ አቅም መሸፈኛዎች ሊዋሃዱ እና የሜካኒካል አዝራሮችን መተካት ይችላሉ። አቅም ያላቸው የንክኪ ፒኖች ESP32ን ከከባድ እንቅልፍ ለማንቃት ሊያገለግሉ ይችላሉ። እነዚያ የውስጥ ንክኪ ዳሳሾች ከእነዚህ GPIOዎች ጋር ተገናኝተዋል፡-
- ቲ0 (GPIO 4)
- ቲ1 (GPIO 0)
- ቲ2 (GPIO 2)
- ቲ3 (GPIO 15)
- ቲ4 (GPIO 13)
- ቲ5 (GPIO 12)
- ቲ6 (GPIO 14)
- ቲ7 (GPIO 27)
- ቲ8 (GPIO 33)
- ቲ9 (GPIO 32)
አናሎግ ወደ ዲጂታል መለወጫ (ADC)
ESP32 18 x 12 ቢት የኤዲሲ ግቤት ቻናሎች አሉት (ESP8266 1 x 10 ቢት ADC ብቻ ነው ያለው)። እነዚህ እንደ ADC እና እንደየሚመለከታቸው ቻናሎች ሊያገለግሉ የሚችሉ GPIOዎች ናቸው።
- ADC1_CH0 (GPIO 36)
- ADC1_CH1 (GPIO 37)
- ADC1_CH2 (GPIO 38)
- ADC1_CH3 (GPIO 39)
- ADC1_CH4 (GPIO 32)
- ADC1_CH5 (GPIO 33)
- ADC1_CH6 (GPIO 34)
- ADC1_CH7 (GPIO 35)
- ADC2_CH0 (GPIO 4)
- ADC2_CH1 (GPIO 0)
- ADC2_CH2 (GPIO 2)
- ADC2_CH3 (GPIO 15)
- ADC2_CH4 (GPIO 13)
- ADC2_CH5 (GPIO 12)
- ADC2_CH6 (GPIO 14)
- ADC2_CH7 (GPIO 27)
- ADC2_CH8 (GPIO 25)
- ADC2_CH9 (GPIO 26)
ማስታወሻ፡- Wi-Fi ስራ ላይ ሲውል ADC2 ፒን መጠቀም አይቻልም። ስለዚህ፣ Wi-Fi እየተጠቀሙ ከሆነ እና እሴቱን ከADC2 GPIO ለማግኘት እየተቸገሩ ከሆነ በምትኩ ADC1 GPIO ለመጠቀም ያስቡበት ይሆናል። ያ ችግርዎን ሊፈታ ይገባል.
የ ADC ግብዓት ቻናሎች ባለ 12-ቢት ጥራት አላቸው። ይህ ማለት ከ 0 እስከ 4095 የሚደርሱ የአናሎግ ንባቦችን ማግኘት ይችላሉ, በዚህ ውስጥ 0 ከ 0V እና 4095 እስከ 3.3V ጋር ይዛመዳል. እንዲሁም የሰርጦችዎን ጥራት በኮዱ እና በADC ክልል ላይ ማቀናበር ይችላሉ።
የESP32 ADC ፒኖች መስመራዊ ባህሪ የላቸውም። ምናልባት በ0 እና 0.1V ወይም በ3.2 እና 3.3V መካከል መለየት አይችሉም። የ ADC ፒን ሲጠቀሙ ያንን ግምት ውስጥ ማስገባት አለብዎት. በሚከተለው ምስል ላይ ከሚታየው ጋር የሚመሳሰል ባህሪ ያገኛሉ።ዲጂታል ወደ አናሎግ መለወጫ (DAC)
ዲጂታል ሲግናሎችን ወደ አናሎግ ቮል ለመቀየር 2 x 8 ቢት DAC ቻናሎች በ ESP32 ላይ አሉ።tagሠ ምልክት ውጤቶች. እነዚህ የDAC ቻናሎች ናቸው፡-
- DAC1 (GPIO25)
- DAC2 (GPIO26)
RTC GPIOዎች
በESP32 ላይ የRTC GPIO ድጋፍ አለ። ወደ RTC ዝቅተኛ ኃይል ንዑስ ሲስተም የሚሄዱት GPIOዎች ESP32 ጥልቅ እንቅልፍ ውስጥ በሚሆንበት ጊዜ መጠቀም ይቻላል። እነዚህ RTC GPIOዎች Ultra Low በሚሆንበት ጊዜ ESP32 ን ከከባድ እንቅልፍ ለመንቃት ሊያገለግሉ ይችላሉ።
የኃይል (ULP) ተባባሪ ፕሮሰሰር እየሰራ ነው። የሚከተሉት GPIOዎች እንደ ውጫዊ የማንቂያ ምንጭ ሆነው ሊያገለግሉ ይችላሉ።
- 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 ፒን (GPIOs 34 እስከ 39 PWM መፍጠር አይችሉም)።
የPWM ምልክት ለማዘጋጀት እነዚህን መለኪያዎች በኮዱ ውስጥ መግለፅ ያስፈልግዎታል፡-
- የሲግናል ድግግሞሽ;
- የግዴታ ዑደት;
- PWM ሰርጥ;
- ምልክቱን ለማውጣት በሚፈልጉበት ቦታ GPIO.
I2C
ESP32 ሁለት I2C ቻናሎች ያሉት ሲሆን ማንኛውም ፒን እንደ SDA ወይም SCL ሊቀናጅ ይችላል። ESP32ን ከ Arduino IDE ጋር ሲጠቀሙ፣ ነባሪው የI2C ፒኖች፡-
- GPIO 21 (ኤስዲኤ)
- GPIO 22 (ኤስ.ኤል.ኤል.)
የሽቦ ላይብረሪውን ሲጠቀሙ ሌሎች ፒን መጠቀም ከፈለጉ፣ መደወል ብቻ ያስፈልግዎታል፡-
Wire.begin (SDA, SCL);
SPI
በነባሪ የ SPI ፒን ካርታ የሚከተለው ነው፡-
SPI | ሞሲአይ | ሚሶ | CLK | CS |
ቪኤስፒአይ | ጂፒኦ 23 | ጂፒኦ 19 | ጂፒኦ 18 | ጂፒኦ 5 |
ኤችኤስፒአይ | ጂፒኦ 13 | ጂፒኦ 12 | ጂፒኦ 14 | ጂፒኦ 15 |
ማቋረጦች
ሁሉም GPIOዎች እንደ ማቋረጦች ሊዋቀሩ ይችላሉ።
ማሰሪያ ፒን
የ ESP32 ቺፕ የሚከተሉት ማሰሪያ ፒኖች አሉት።
- GPIO 0 (ቡት ሁነታ ለመግባት ዝቅተኛ መሆን አለበት)
- GPIO 2 (በቡት ጊዜ ተንሳፋፊ ወይም ዝቅተኛ መሆን አለበት)
- ጂፒኦ 4
- GPIO 5 (በቡት ጊዜ ከፍተኛ መሆን አለበት)
- GPIO 12 (በቡት ጊዜ ዝቅተኛ መሆን አለበት)
- GPIO 15 (በቡት ጊዜ ከፍተኛ መሆን አለበት)
እነዚህ ESP32 ን ወደ ቡት ጫኝ ወይም ብልጭ ድርግም ለማድረግ ያገለግላሉ። አብሮ በተሰራ ዩኤስቢ/ተከታታይ በአብዛኛዎቹ የእድገት ሰሌዳዎች ላይ፣ ስለእነዚህ ፒኖች ሁኔታ መጨነቅ አያስፈልገዎትም። ቦርዱ ብልጭ ድርግም የሚሉ ወይም የማስነሻ ሁነታን በትክክለኛው ሁኔታ ላይ ያስቀምጣቸዋል. ስለ ESP32 Boot Mode ምርጫ ተጨማሪ መረጃ እዚህ ይገኛል።
ነገር ግን፣ ከፒን ጋር የተገናኙ ተጓዳኝ ነገሮች ካሉህ፣ አዲስ ኮድ ለመስቀል መሞከር፣ ESP32 ን በአዲስ ፈርምዌር ብልጭ ድርግም ማድረግ ወይም ሰሌዳውን እንደገና ማስጀመር ላይ ችግር ሊኖርብህ ይችላል። ከታጣቂው ፒን ጋር የተገናኙ አንዳንድ ክፍሎች ካሉዎት እና ኮድ መስቀል ወይም ESP32ን በማብራት ላይ ችግር እያጋጠመዎት ከሆነ፣ እነዚያ ተጓዳኝ አካላት ESP32 ወደ ትክክለኛው ሁነታ እንዳይገባ ስለሚከለክሉት ሊሆን ይችላል። በትክክለኛው አቅጣጫ እንዲመራዎት የቡት ሞድ ምርጫን ሰነድ ያንብቡ። ዳግም ካስጀመሩት፣ ብልጭ ድርግም የሚሉ ወይም ከተነሱ በኋላ እነዚያ ፒኖች እንደተጠበቀው ይሰራሉ።
ፒኖች HIGH በ Boot ላይ
አንዳንድ GPIOዎች ሁኔታቸውን ወደ HIGH ይለውጣሉ ወይም በሚነሳበት ጊዜ ወይም ዳግም ሲጀምሩ PWM ምልክቶችን ያወጣሉ።
ይህ ማለት ከእነዚህ GPIOዎች ጋር የተገናኙ ውጤቶች ካሉዎት ESP32 ዳግም ሲጀምር ወይም ሲነሳ ያልተጠበቀ ውጤት ሊያገኙ ይችላሉ።
- ጂፒኦ 1
- ጂፒኦ 3
- ጂፒኦ 5
- GPIO 6 ወደ GPIO 11 (ከ ESP32 የተቀናጀ የ SPI ፍላሽ ማህደረ ትውስታ ጋር የተገናኘ - ለመጠቀም አይመከርም).
- ጂፒኦ 14
- ጂፒኦ 15
አንቃ (EN)
አንቃ (EN) የ3.3V ተቆጣጣሪው የነቃ ፒን ነው። ወደ ላይ ተወስዷል፣ ስለዚህ የ3.3V መቆጣጠሪያውን ለማሰናከል ከመሬት ጋር ይገናኙ። ይህ ማለት የእርስዎን ESP32 እንደገና ለማስጀመር ይህን ፒን ከመግፊያ አዝራር ጋር መጠቀም ይችላሉ፣ ለምሳሌampለ.
የ GPIO የአሁኑ ተስሏል።
በESP40 የውሂብ ሉህ ውስጥ ባለው “የተመከሩ የክወና ሁኔታዎች” ክፍል መሠረት በ GPIO ያለው ፍጹም ከፍተኛው የአሁኑ 32mA ነው።
ESP32 አብሮገነብ የአዳራሽ ውጤት ዳሳሽ
ESP32 እንዲሁ አብሮ የተሰራ የአዳራሽ ተፅእኖ ዳሳሽ አለው ይህም በአካባቢው ያለውን መግነጢሳዊ መስክ ለውጦችን የሚያውቅ ነው።
ESP32 Arduino አይዲኢ
Arduino IDE እና የፕሮግራም አወጣጥ ቋንቋውን በመጠቀም ESP32 ን ፕሮግራም እንዲያዘጋጁ የሚያስችል ለ Arduino IDE ተጨማሪ አለ። በዚህ ማጠናከሪያ ትምህርት ዊንዶውስ፣ ማክ ኦኤስ ኤክስ ወይም ሊኑክስ እየተጠቀሙ ከሆነ የ ESP32 ሰሌዳን በአርዱዪኖ አይዲኢ ውስጥ እንዴት እንደሚጭኑ እናሳይዎታለን።
ቅድመ ሁኔታዎች፡ Arduino IDE ተጭኗል
ይህን የመጫን ሂደት ከመጀመርዎ በፊት, Arduino IDE በኮምፒተርዎ ላይ መጫን ያስፈልግዎታል. ሊጭኑት የሚችሉት የ Arduino IDE ሁለት ስሪቶች አሉ: ስሪት 1 እና ስሪት 2.
የሚከተለውን ሊንክ በመጫን Arduino IDE ን ማውረድ እና መጫን ይችላሉ። arduino.cc/am/ዋና/ሶፍትዌር
የትኛውን የ 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በነጠላ ሰረዝ እንደሚከተለው
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 ሞዱል ነው)
- ወደቡን ምረጥ (በእርስዎ አርዱዪኖ አይዲኢ ውስጥ ያለውን የCOM ወደብ ካላዩ የ CP210x USB ወደ UART Bridge VCP Drivers መጫን አለቦት)
- የሚከተለውን example ስር File > ምሳሌamples > ዋይፋይ
(ESP32) > ዋይፋይ ስካን - በእርስዎ Arduino IDE ውስጥ አዲስ ንድፍ ይከፈታል፡-
- በ Arduino IDE ውስጥ የሰቀላ ቁልፍን ተጫን። ኮዱ ሲጠናቀር እና ወደ ሰሌዳዎ እስኪሰቀል ድረስ ጥቂት ሰከንዶች ይጠብቁ።
- ሁሉም ነገር እንደተጠበቀው ከሄደ፣ “የተጠናቀቀ ሰቀላ” ማየት አለቦት። መልእክት።
- Arduino IDE Serial Monitorን በ115200 ባውድ መጠን ይክፈቱ፡
- ESP32 በቦርድ ላይ አንቃ የሚለውን ቁልፍ ይጫኑ እና ከእርስዎ ESP32 አጠገብ ያሉትን አውታረ መረቦች ማየት አለብዎት፡
መላ መፈለግ
አዲስ ንድፍ ወደ የእርስዎ ESP32 ለመስቀል ከሞከሩ እና ይህ የስህተት መልእክት ከደረሰዎት “አስገዳይ ስህተት ተከስቷል፡ ከ ESP32 ጋር መገናኘት አልተቻለም፡ ጊዜው አብቅቷል… በመገናኘት ላይ…”. የእርስዎ ESP32 በብልጭታ/በመስቀል ሁነታ ላይ አይደለም ማለት ነው።
ትክክለኛው የቦርድ ስም እና COM por ከተመረጠ የሚከተሉትን ደረጃዎች ይከተሉ።
በእርስዎ ESP32 ሰሌዳ ውስጥ ያለውን የ"BOOT" ቁልፍ ተጭነው ይያዙ
- ንድፍዎን ለመስቀል በ Arduino IDE ውስጥ ያለውን የ"ስቀል" ቁልፍን ይጫኑ፡-
- “ማገናኘት…”ን ካዩ በኋላ። መልእክት በእርስዎ Arduino IDE ውስጥ፣ ጣትዎን ከ"BOOT" ቁልፍ ይልቀቁት፡-
- ከዚያ በኋላ, "ተከናውኗል ሰቀላ" የሚለውን መልእክት ማየት አለብዎት
ያ ነው. የእርስዎ ESP32 አዲሱን ንድፍ ማስኬድ አለበት። ESP32 ን እንደገና ለማስጀመር እና አዲሱን የተሰቀለውን ንድፍ ለማሄድ የ"ENABLE" ቁልፍን ይጫኑ።
አዲስ ንድፍ ለመስቀል በፈለጉ ቁጥር የዚያን አዝራር ቅደም ተከተል መድገም ይኖርብዎታል።
የፕሮጀክት 1 ESP32 የግቤት ውጤቶች
በዚህ የመነሻ መመሪያ ውስጥ እንደ አዝራር መቀየሪያ ያሉ ዲጂታል ግብዓቶችን ማንበብ እና ESP32ን ከአርዱዪኖ አይዲኢ ጋር በመጠቀም እንደ LED ያሉ ዲጂታል ግብአቶችን እንዴት እንደሚቆጣጠሩ ይማራሉ።
ቅድመ-ሁኔታዎች
Arduino IDE በመጠቀም ESP32 ፕሮግራም እናደርጋለን። ስለዚህ፣ ከመቀጠልዎ በፊት የESP32 ሰሌዳዎች መጫኑን ያረጋግጡ፡-
- በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
ESP32 ቁጥጥር ዲጂታል ውጤቶች
በመጀመሪያ እንደ ውፅዓት ለመቆጣጠር የሚፈልጉትን GPIO ማዘጋጀት ያስፈልግዎታል። የፒን ሞድ() ተግባርን እንደሚከተለው ተጠቀም።
pinMode (GPIO, OUTPUT);
የዲጂታል ውፅዓትን ለመቆጣጠር የዲጂታል ደብተር() ተግባርን፣ እንደ መከራከሪያ ነጥብ የሚቀበለውን፣ እርስዎ የሚያመለክተውን GPIO (int number) እና ግዛቱን ወይም ከፍተኛ ወይም ዝቅተኛውን ብቻ መጠቀም ያስፈልግዎታል።
digitalWrite (GPIO, STATE);
ሁሉም GPIOs ከ GPIO 6 እስከ 11 (ከተቀናጀው SPI ፍላሽ ጋር የተገናኘ) እና GPIOs 34, 35, 36 እና 39 (የግቤት ጂፒአይኦዎች ብቻ) በስተቀር እንደ ውፅዓት ሊያገለግሉ ይችላሉ።
ስለ ESP32 GPIOs፡ ESP32 GPIO የማጣቀሻ መመሪያ የበለጠ ይወቁ
ESP32 ዲጂታል ግብዓቶችን አንብብ
በመጀመሪያ የፒን ሞድ() ተግባርን በሚከተለው መልኩ ለማንበብ የሚፈልጉትን GPIO እንደ INPUT ያዘጋጁ።
pinMode (GPIO, INPUT);
ዲጂታል ግቤትን ለማንበብ፣ ልክ እንደ አዝራር፣ እንደ መከራከሪያ የሚቀበለውን የዲጂታል ንባብ() ተግባር፣ እርስዎ የሚያመለክቱት GPIO (int number) ይጠቀማሉ።
digitalRead(GPIO);
ከGPIO 32 እስከ 6 (ከተቀናጀው የSPI ፍላሽ ጋር የተገናኘ) በስተቀር ሁሉም ESP11 GPIOs እንደ ግብአት ሊያገለግሉ ይችላሉ።
ስለ ESP32 GPIOs፡ ESP32 GPIO የማጣቀሻ መመሪያ የበለጠ ይወቁ
ፕሮጀክት Example
ዲጂታል ግብዓቶችን እና ዲጂታል ውፅዓቶችን እንዴት እንደሚጠቀሙ ለማሳየት፣ ቀላል ፕሮጀክት እንገነባለን example በመግፊያ ቁልፍ እና በ LED. በሚከተለው ምስል ላይ እንደሚታየው የመግፊያ ቁልፍን ሁኔታ እናነባለን እና ኤልኢዲውን በዚሁ መሰረት እናበራዋለን።
የሚፈለጉ ክፍሎች
ወረዳውን ለመገንባት የሚያስፈልጉዎት ክፍሎች ዝርዝር እነሆ-
- ESP32 DEVKIT V1
- 5 ሚሜ LED
- 220 Ohm resistor
- Ushሽበተን
- 10k Ohm resistor
- የዳቦ ሰሌዳ
- የጃምፐር ሽቦዎች
የመርሃግብር ንድፍ
ከመቀጠልዎ በፊት ወረዳውን በ LED እና በግፊት ቁልፍ መሰብሰብ ያስፈልግዎታል።
LED ን ከ GPIO 5 እና የግፋ አዝራሩን ከ GPIO ጋር እናገናኘዋለን 4.ኮድ
በ arduino IDE ውስጥ ፕሮጄክት_1_ESP32_Inputs_Outputs.ino የሚለውን ኮድ ይክፈቱኮዱ እንዴት እንደሚሰራ
በሚቀጥሉት ሁለት መስመሮች ውስጥ ፒኖችን ለመመደብ ተለዋዋጮችን ይፈጥራሉ።
ቁልፉ ከ GPIO 4 ጋር የተገናኘ ሲሆን LED ከ GPIO 5 ጋር ይገናኛል. Arduino IDE ከ ESP32 ጋር ሲጠቀሙ 4 ከ GPIO 4 ጋር ይዛመዳል እና 5 ከ GPIO 5 ጋር ይዛመዳል.
በመቀጠል የአዝራሩን ሁኔታ ለመያዝ ተለዋዋጭ ይፈጥራሉ. በነባሪ፣ 0 ነው (አልተጫነም)።
int buttonState = 0;
በማዋቀር () ውስጥ አዝራሩን እንደ INPUT ፣ እና LED እንደ መውጫ ያስጀምራሉ።
ለዚያ እርስዎ የሚያመለክቱትን ፒን የሚቀበል የፒን ሞድ() ተግባር እና ሁነታውን፡ INPUT ወይም OUTPUT ይጠቀማሉ።
ፒን ሞድ (አዝራር ፒን ፣ INPUT);
ፒን ሞድ (ሊድፒን ፣ OUTPUT);
በ loop () ውስጥ የአዝራሩን ሁኔታ የሚያነቡበት እና ኤልኢዲውን በዚሁ መሰረት ያዘጋጁ።
በሚቀጥለው መስመር ላይ የአዝራሩን ሁኔታ አንብበው በአዝራሩ ሁኔታ ውስጥ ያስቀምጡት.
ቀደም ሲል እንዳየነው የዲጂታል ንባብ() ተግባርን ትጠቀማለህ።
buttonState = digitalRead(buttonPin);
የሚከተለው መግለጫ ከሆነ፣ የአዝራሩ ሁኔታ ከፍተኛ መሆኑን ያረጋግጣል። ከሆነ፣ LEDPinን እና የስቴት HIGH እንደ ክርክር የሚቀበለውን ዲጂታል ደብተር() ተግባርን በመጠቀም ኤልኢኑን ያበራል።
ከሆነ (አዝራር ግዛት == ከፍተኛ)የአዝራሩ ሁኔታ HIGH ካልሆነ ኤልኢዲውን አጥፋው። በዲጂታል ደብተር () ተግባር ውስጥ LOWን እንደ ሁለተኛ ነጋሪ እሴት ያዘጋጁ።
ኮዱን በመስቀል ላይ
የሰቀላ አዝራሩን ከመንካትዎ በፊት ወደ Tools > Board ይሂዱ እና ቦርዱን ይምረጡ፡DOIT ESP32 DEVKIT V1 ሰሌዳ።
ወደ Tools> Port ይሂዱ እና ESP32 የተገናኘበትን የ COM ወደብ ይምረጡ። ከዚያ የሰቀላ አዝራሩን ተጫን እና "ተጠናቅቋል" የሚለውን መልዕክት ይጠብቁ.ማሳሰቢያ፡- ብዙ ነጥቦችን (በማገናኘት…__…__) በማረም መስኮቱ ላይ እና “ከESP32 ጋር መገናኘት አልተቻለም፡ የፓኬት ራስጌ በመጠበቅ ጊዜው አልፎበታል” የሚል መልእክት ካዩ፣ ያ ማለት በቦርድ ላይ ESP32 BOOT መጫን ያስፈልግዎታል ማለት ነው። ከነጥቦቹ በኋላ አዝራር
መታየት ጀምር። መላ መፈለግ
ሰልፍ
ኮዱን ከሰቀሉ በኋላ ወረዳዎን ይፈትሹ። የግፊት አዝራሩን ሲጫኑ የእርስዎ LED መብራት አለበት፡-እና ሲለቁት ያጥፉት፡-
ፕሮጀክት 2 ESP32 አናሎግ ግብዓቶች
ይህ ፕሮጀክት Arduino IDE በመጠቀም በESP32 የአናሎግ ግብአቶችን እንዴት ማንበብ እንደሚቻል ያሳያል።
አናሎግ ንባብ እንደ ፖታቲሞሜትሮች ወይም አናሎግ ዳሳሾች ካሉ ተለዋዋጭ ተቃዋሚዎች እሴቶችን ለማንበብ ጠቃሚ ነው።
አናሎግ ግብዓቶች (ADC)
የአናሎግ እሴትን በESP32 ማንበብ ማለት የተለያየ መጠን መለካት ይችላሉ።tagሠ ደረጃዎች በ0 V እና 3.3V መካከል።
ጥራዝtagሠ የሚለካው ከዚያም በ0 እና 4095 መካከል ላለው እሴት ይመደባል፣ በዚህ ውስጥ 0 ቪ ከ0፣ እና 3.3 ቪ ከ4095 ጋር ይዛመዳል። ማንኛውም ቮልtagሠ በ 0 ቮ እና 3.3 ቮ መካከል ያለው ተዛማጅ እሴት ይሰጠዋል.ADC መስመር ያልሆነ ነው።
በሐሳብ ደረጃ፣ የESP32 ADC ፒን ሲጠቀሙ መስመራዊ ባህሪን ይጠብቃሉ።
ሆኖም፣ ያ አይከሰትም። እርስዎ የሚያገኙት በሚከተለው ቻርት ላይ እንደሚታየው ባህሪ ነው።ይህ ባህሪ የእርስዎ ESP32 3.3 V ከ 3.2 ቪ መለየት አይችልም ማለት ነው።
ለሁለቱም ጥራዝ ተመሳሳይ ዋጋ ያገኛሉtages፡ 4095
በጣም ዝቅተኛ በሆነ መጠን ተመሳሳይ ነው።tage እሴቶች፡ ለ 0 ቮ እና 0.1 ቮ ተመሳሳይ እሴት ያገኛሉ፡ 0. ይህንን ESP32 ADC ፒን ሲጠቀሙ ግምት ውስጥ ማስገባት አለብዎት።
analogRead () ተግባር
የአናሎግ ግቤትን ከ ESP32 ጋር Arduino IDE በመጠቀም ማንበብ የአናሎግRead() ተግባርን የመጠቀም ያህል ቀላል ነው። እንደ ክርክር ይቀበላል፣ ሊያነቡት የሚፈልጉት GPIO፡-
analogRead(GPIO);
በDEVKIT V15board (1 GPIOs ያለው ስሪት) 30 ብቻ ይገኛሉ።
የእርስዎን ESP32 የሰሌዳ pinout ይያዙ እና የ ADC ፒን ያግኙ። እነዚህ ከታች ባለው ሥዕል ላይ ከቀይ ድንበር ጋር ተደምቀዋል።እነዚህ የአናሎግ ግቤት ፒኖች ባለ 12-ቢት ጥራት አላቸው። ይህ ማለት የአናሎግ ግቤት ስታነብ ክልሉ ከ0 ወደ 4095 ሊለያይ ይችላል።
ማሳሰቢያ፡ Wi-Fi ስራ ላይ ሲውል ADC2 ፒን መጠቀም አይቻልም። ስለዚህ፣ Wi-Fi እየተጠቀሙ ከሆነ እና እሴቱን ከADC2 GPIO ለማግኘት እየተቸገሩ ከሆነ በምትኩ ADC1 GPIO ለመጠቀም ያስቡበት፣ ያ ችግርዎን ሊፈታ ይችላል።
ሁሉም ነገር እንዴት እንደሚተሳሰር ለማየት፣ ቀላል የቀድሞ እንሰራለን።ampየአናሎግ እሴትን ከፖታቲሞሜትር ለማንበብ።
የሚፈለጉ ክፍሎች
ለዚህ የቀድሞample, የሚከተሉትን ክፍሎች ያስፈልግዎታል:
- ESP32 DEVKIT V1 ቦርድ
- ፖታቶቶሜትር
- የዳቦ ሰሌዳ
- የጃምፐር ሽቦዎች
መርሃግብር
የፖታቲሞሜትር ገመድ ወደ የእርስዎ ESP32። የፖታቲሞሜትር መካከለኛ ፒን ከ GPIO 4 ጋር መያያዝ አለበት. የሚከተለውን ስዕላዊ መግለጫ እንደ ማጣቀሻ መጠቀም ይችላሉ.ኮድ
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡(ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
በ arduino IDE ውስጥ ፕሮጄክት_2_ESP32_Inputs_Outputs.ino የሚለውን ኮድ ይክፈቱይህ ኮድ በቀላሉ ከፖታቲሞሜትር እሴቶቹን ያነባል እና እነዚያን እሴቶች በሴሪያል ሞኒተር ውስጥ ያትማል።
በኮዱ ውስጥ ፖታቲሞሜትሩ የተገናኘበትን GPIO በመግለጽ ይጀምራሉ። በዚህ የቀድሞample, GPIO 4.በማዋቀር () ውስጥ ተከታታይ ግንኙነትን በ115200 ባውድ ፍጥነት ያስጀምሩ።
በ loop () ውስጥ፣ ከፖትፒን የሚገኘውን የአናሎግ ግቤት ለማንበብ የአናሎግRead() ተግባርን ይጠቀሙ።
በመጨረሻም ከፖታቲሞሜትር የተነበቡትን እሴቶች በተከታታይ ማሳያ ውስጥ ያትሙ።
የተሰጠውን ኮድ ወደ የእርስዎ ESP32 ይስቀሉ። በመሳሪያዎች ሜኑ ውስጥ የተመረጠ ትክክለኛ ሰሌዳ እና COM ወደብ እንዳለህ አረጋግጥ።
የ Ex. በመሞከር ላይample
ኮዱን ከሰቀሉ በኋላ እና የ ESP32 ዳግም ማስጀመሪያ ቁልፍን ከተጫኑ በኋላ ሴሪያል ሞኒተሩን በ baud ፍጥነት 115200 ይክፈቱ።የሚያገኙት ከፍተኛው ዋጋ 4095 እና ዝቅተኛው ዋጋ 0 ነው።
መጠቅለል
በዚህ ጽሑፍ ውስጥ ESP32ን ከአርዱዪኖ አይዲኢ ጋር በመጠቀም የአናሎግ ግብአቶችን እንዴት ማንበብ እንደሚችሉ ተምረዋል። በማጠቃለያው፡-
- የESP32 DEVKIT V1 DOIT ሰሌዳ (30 ፒን ያለው ስሪት) የአናሎግ ግብዓቶችን ለማንበብ 15 ADC ፒን አለው።
- እነዚህ ፒኖች የ 12 ቢት ጥራት አላቸው, ይህም ማለት ከ 0 እስከ 4095 እሴቶችን ማግኘት ይችላሉ.
- በ Arduino IDE ውስጥ ያለውን እሴት ለማንበብ በቀላሉ የአናሎግRead() ተግባርን ይጠቀሙ።
- የESP32 ADC ፒኖች መስመራዊ ባህሪ የላቸውም። ምናልባት በ0 እና 0.1V ወይም በ3.2 እና 3.3V መካከል መለየት አይችሉም። የ ADC ፒን ሲጠቀሙ ያንን ግምት ውስጥ ማስገባት አለብዎት.
ፕሮጀክት 3 ESP32 PWM(የአናሎግ ውፅዓት)
በዚህ አጋዥ ስልጠና ላይ አርዱዪኖ አይዲኢን በመጠቀም የPWM ምልክቶችን በESP32 እንዴት እንደሚያመነጩ እናሳይዎታለን። እንደ አንድ የቀድሞampየESP32ን የ LED PWM መቆጣጠሪያ በመጠቀም LEDን የሚያደበዝዝ ቀላል ወረዳ እንገነባለን።ESP32 LED PWM መቆጣጠሪያ
ESP32 የ LED PWM መቆጣጠሪያ ያለው 16 ገለልተኛ ቻናሎች የ PWM ምልክቶችን ከተለያዩ ባህሪያት ለማመንጨት ሊዋቀሩ ይችላሉ።
Arduino IDE በመጠቀም LEDን ከPWM ጋር ለማደብዘዝ መከተል ያለብዎት ደረጃዎች እነሆ፡
- በመጀመሪያ, የ PWM ቻናል መምረጥ ያስፈልግዎታል. ከ16 እስከ 0 15 ቻናሎች አሉ።
- ከዚያ, የ PWM ምልክት ድግግሞሽ ማዘጋጀት ያስፈልግዎታል. ለ LED, የ 5000 Hz ድግግሞሽ ለመጠቀም ጥሩ ነው.
- እንዲሁም የሲግናልን የግዴታ ዑደት ጥራት ማዘጋጀት ያስፈልግዎታል፡ ከ1 እስከ 16 ቢት ጥራቶች አሉዎት። ባለ 8-ቢት ጥራት እንጠቀማለን፣ ይህ ማለት ከ0 እስከ 255 ባለው እሴት በመጠቀም የ LED ብሩህነት መቆጣጠር ይችላሉ።
- በመቀጠል ምልክቱ በየትኛው GPIO ወይም GPIO እንደሚታይ መግለፅ ያስፈልግዎታል። ለዚያ የሚከተለውን ተግባር ይጠቀማሉ:
ledcAttachPin(ጂፒኦ፣ ቻናል)
ይህ ተግባር ሁለት ነጋሪ እሴቶችን ይቀበላል። የመጀመሪያው ምልክቱን የሚያወጣው GPIO ሲሆን ሁለተኛው ደግሞ ምልክቱን የሚያመነጨው ቻናል ነው. - በመጨረሻም PWMን በመጠቀም የ LED ብሩህነት ለመቆጣጠር የሚከተለውን ተግባር ይጠቀማሉ፡-
ledcWrite (ሰርጥ፣ ተረኛ ሳይክል)
ይህ ተግባር የPWM ምልክት የሚያመነጨውን ሰርጥ እና የግዴታ ዑደቱን እንደ ክርክር ይቀበላል።
የሚፈለጉ ክፍሎች
ይህንን መማሪያ ለመከተል የሚከተሉትን ክፍሎች ያስፈልጉዎታል፡-
- ESP32 DEVKIT V1 ቦርድ
- 5 ሚሜ LED
- 220 Ohm resistor
- የዳቦ ሰሌዳ
- የጃምፐር ሽቦዎች
መርሃግብር
በሚከተለው ስዕላዊ መግለጫ ላይ እንደሚታየው አንድ LED ወደ የእርስዎ ESP32 ያሽከርክሩ። LED ከ GPIO ጋር መገናኘት አለበት 4.ማስታወሻ፡- እንደ ውፅዓት መስራት እስከቻለ ድረስ የሚፈልጉትን ማንኛውንም ፒን መጠቀም ይችላሉ። እንደ ውፅዓት የሚሰሩ ሁሉም ፒኖች እንደ PWM ፒን ሆነው ሊያገለግሉ ይችላሉ። ስለ ESP32 GPIOዎች የበለጠ መረጃ ለማግኘት፣ ያንብቡ፡ ESP32 Pinout Reference፡ የትኞቹን GPIO ፒን መጠቀም አለብዎት?
ኮድ
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡(ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
በ arduino IDE ውስጥ Project_3_ESP32_PWM.ino የሚለውን ኮድ ይክፈቱLED የተገጠመበትን ፒን በመግለጽ ይጀምራሉ. በዚህ አጋጣሚ LED ከ GPIO 4 ጋር ተያይዟል.
ከዚያ, የ PWM ምልክት ባህሪያትን አዘጋጅተዋል. የ 5000 Hz ድግግሞሽን ይገልፃሉ ፣ ምልክቱን ለማመንጨት ቻናል 0 ን ይምረጡ እና የ 8 ቢት ጥራት ያዘጋጁ። የተለያዩ የ PWM ምልክቶችን ለማመንጨት ከእነዚህ የተለዩ ሌሎች ንብረቶችን መምረጥ ይችላሉ።
በማዋቀር () ውስጥ LED PWMን ከዚህ ቀደም ከገለጽካቸው ንብረቶች ጋር እንደ ክርክር የሚቀበለው ledcSetup() ተግባርን፣ ledChannelን፣ ፍሪኩዌንሲውን እና መፍታትን እንደሚከተለው ማዋቀር አለብህ።
በመቀጠል ምልክቱን የሚያገኙበትን GPIO መምረጥ ያስፈልግዎታል። ለዚያ እንደ መከራከሪያ የሚቀበለው የ ledcAttachPin() ተግባር ምልክቱን ለማግኘት የሚፈልጉትን GPIO እና ምልክቱን የሚያመነጨውን ቻናል ይጠቀሙ። በዚህ የቀድሞample, ከ GPIO 4 ጋር የሚዛመደውን በ ledPin GPIO ውስጥ ምልክት እናገኛለን. ምልክቱን የሚያመነጨው ቻናል ከቻናል 0 ጋር ይዛመዳል.
በ loop ውስጥ፣ የ LED ብሩህነት ለመጨመር የግዴታ ዑደቱን በ0 እና 255 መካከል ይለያያሉ።
እና ከዚያ ብሩህነቱን ለመቀነስ በ255 እና 0 መካከል።
የ LEDን ብሩህነት ለማዘጋጀት፣ ምልክቱን የሚያመነጨውን ቻናል እንደ ክርክር የሚቀበለውን የ ledcWrite() ተግባርን እና የግዴታ ዑደቱን ብቻ መጠቀም ያስፈልግዎታል።
ባለ 8-ቢት ጥራትን እየተጠቀምን ሳለ የዱቲ ዑደቱ የሚቆጣጠረው ከ0 እስከ 255 ባለው እሴት በመጠቀም ነው። በ ledcWrite() ተግባር ውስጥ ምልክቱን የሚያመነጨውን ቻናል የምንጠቀመው እንጂ GPIO አይደለም።
የ Ex. በመሞከር ላይample
ኮዱን ወደ የእርስዎ ESP32 ይስቀሉ። ትክክለኛው ቦርድ እና የ COM ወደብ መመረጡን ያረጋግጡ። ወረዳህን ተመልከት። ብሩህነትን የሚጨምር እና የሚቀንስ ደብዛዛ LED ሊኖርዎት ይገባል።
ፕሮጀክት 4 ESP32 PIR Motion Sensor
ይህ ፕሮጀክት የPIR እንቅስቃሴ ዳሳሽ በመጠቀም ከESP32 ጋር እንዴት እንደሚንቀሳቀስ ያሳያል።እንቅስቃሴው ሲገኝ ጫጫዋቹ ማንቂያውን ያሰማሉ፣እና ምንም እንቅስቃሴ ለቅድመ ዝግጅት ጊዜ ካልተገኘ (ለምሳሌ 4 ሰከንድ) ማንቂያውን ያቆማል።
HC-SR501 እንቅስቃሴ ዳሳሽ እንዴት እንደሚሰራ
.የ HC-SR501 ሴንሰር የስራ መርህ በተንቀሳቀሰ ነገር ላይ ባለው የኢንፍራሬድ ጨረር ለውጥ ላይ የተመሰረተ ነው.በ HC-SR501 ዳሳሽ ለመለየት እቃው ሁለት መስፈርቶችን ማሟላት አለበት.
- እቃው የኢንፍራሬድ መንገድን እየለቀቀ ነው.
- እቃው እየተንቀጠቀጠ ወይም እየተንቀጠቀጠ ነው።
ስለዚህ፡-
አንድ ነገር የኢንፍራሬድ ሬይ እየለቀቀ ቢሆንም የማይንቀሳቀስ ከሆነ (ለምሳሌ አንድ ሰው ሳይንቀሳቀስ ቆሟል) በሴንሰሩ አይታወቅም።
አንድ ነገር እየተንቀሳቀሰ ቢሆንም የኢንፍራሬድ ሬይ (ለምሳሌ ሮቦት ወይም ተሽከርካሪ) የማያመነጭ ከሆነ በሴንሰሩ አይታወቅም።
ሰዓት ቆጣሪዎችን በማስተዋወቅ ላይ
በዚህ የቀድሞampሰዓት ቆጣሪዎችን እናስተዋውቃለን። እንቅስቃሴው ከተገኘ በኋላ ኤልኢዲው አስቀድሞ ለተወሰነ ሰከንዶች ያህል እንዲበራ እንፈልጋለን። ኮድዎን የሚያግድ እና ሌላ ምንም ነገር እንዲያደርጉ የማይፈቅድልዎ የዘገየ() ተግባርን ከመጠቀም ይልቅ ለተወሰነ ሰከንድ ጊዜ ቆጣሪን መጠቀም አለብን።የመዘግየት() ተግባር
በሰፊው ጥቅም ላይ ስለዋለ የመዘግየት() ተግባርን በደንብ ማወቅ አለቦት። ይህ ተግባር ለመጠቀም በጣም ቀላል ነው። ነጠላ ኢንት ቁጥርን እንደ ክርክር ይቀበላል።
ይህ ቁጥር በሚሊሰከንዶች ውስጥ ያለውን ጊዜ ይወክላል ፕሮግራሙ ወደ ቀጣዩ የኮድ መስመር እስኪያልፍ ድረስ መጠበቅ አለበት.ሲዘገዩ(1000) ፕሮግራምዎ በዚያ መስመር ላይ ለ1 ሰከንድ ይቆማል።
መዘግየት () የማገድ ተግባር ነው። የማገድ ተግባራት አንድ የተወሰነ ተግባር እስኪጠናቀቅ ድረስ አንድ ፕሮግራም ሌላ ማንኛውንም ነገር እንዳያደርግ ይከለክላል። ብዙ ስራዎችን በተመሳሳይ ጊዜ እንዲከናወኑ ከፈለጉ፣ መዘግየት() መጠቀም አይችሉም።
ለአብዛኛዎቹ ፕሮጀክቶች መዘግየቶችን ከመጠቀም መቆጠብ እና በምትኩ ጊዜ ቆጣሪዎችን መጠቀም አለብዎት።
ሚሊስ() ተግባር
ሚሊስ() የሚባል ተግባር በመጠቀም ፕሮግራሙ ከተጀመረ በኋላ ያለፉትን ሚሊሰከንዶች ቁጥር መመለስ ይችላሉ።ለምንድነው ያ ተግባር ጠቃሚ የሆነው? ምክንያቱም አንዳንድ ሂሳብን በመጠቀም ኮድዎን ሳይገድቡ ምን ያህል ጊዜ እንዳለፉ በቀላሉ ማረጋገጥ ይችላሉ።
የሚፈለጉ ክፍሎች
ይህንን መማሪያ ለመከተል የሚከተሉትን ክፍሎች ያስፈልጉዎታል
- ESP32 DEVKIT V1 ቦርድ
- PIR እንቅስቃሴ ዳሳሽ (HC-SR501)
- ንቁ Buzzer
- የጃምፐር ሽቦዎች
- የዳቦ ሰሌዳ
መርሃግብርማስታወሻ፡- የሥራው ጥራዝtagሠ የ HC-SR501 5V ነው። እሱን ለማብራት የቪን ፒን ይጠቀሙ።
ኮድ
ወደዚህ አጋዥ ስልጠና ከመቀጠልዎ በፊት የESP32 ማከያ በእርስዎ Arduino IDE ውስጥ መጫን አለበት። እስካሁን ካላደረጉት ESP32ን በ Arduino IDE ለመጫን ከሚከተሉት አጋዥ ስልጠናዎች ውስጥ አንዱን ይከተሉ።(ይህን እርምጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
ፕሮጄክት_4_ESP32_PIR_Motion_Sensor.inoን በarduino IDE ይክፈቱ።
ሰልፍ
ኮዱን ወደ የእርስዎ ESP32 ሰሌዳ ይስቀሉ። ትክክለኛው የቦርድ እና የ COM ወደብ መመረጡን ያረጋግጡ የኮድ ማመሳከሪያ ደረጃዎችን ይስቀሉ.
ተከታታይ ሞኒተርን በ115200 ባውድ ፍጥነት ይክፈቱ።እጅዎን ከፒአር ዳሳሽ ፊት ለፊት ያንቀሳቅሱ። ድምጽ ማጉያው መብራት አለበት እና መልእክቱ በሴሪያል ሞኒተር ውስጥ "Motion detected!Buzzer alarm" ሲል ታትሟል።
ከ4 ሰከንድ በኋላ ጩኸት ማጥፋት አለበት።
ፕሮጀክት 5 ESP32 መቀየሪያ Web አገልጋይ
በዚህ ፕሮጀክት ውስጥ ራሱን የቻለ ቦታ ትፈጥራለህ web የአርዱዪኖ አይዲኢ ፕሮግራሚንግ አካባቢን በመጠቀም ውጤቶችን የሚቆጣጠር ESP32 ያለው አገልጋይ (ሁለት LEDs)። የ web አገልጋዩ የሞባይል ምላሽ ሰጭ ነው እና በአከባቢው አውታረመረብ ላይ እንደ አሳሽ በሆነ በማንኛውም መሳሪያ ሊደረስበት ይችላል። እንዴት መፍጠር እንደሚችሉ እናሳይዎታለን web አገልጋይ እና ኮዱ ደረጃ በደረጃ እንዴት እንደሚሰራ።
ፕሮጀክት አልቋልview
በቀጥታ ወደ ፕሮጀክቱ ከመሄዳችን በፊት የኛን ነገር መዘርዘር አስፈላጊ ነው። web በኋላ ላይ ያሉትን ደረጃዎች መከተል ቀላል እንዲሆን አገልጋይ ያደርጋል።
- የ web አገልጋይ ከ ESP32 GPIO 26 እና GPIO 27 ጋር የተገናኙ ሁለት ኤልኢዲዎችን ይገነባሉ።
- ESP32 ን ማግኘት ይችላሉ። web አገልጋይ በአካባቢያዊ አውታረመረብ ውስጥ ባለው አሳሽ ላይ የ ESP32 IP አድራሻን በመተየብ;
- በእርስዎ ላይ ያሉትን አዝራሮች ጠቅ በማድረግ web አገልጋይ የእያንዳንዱን LED ሁኔታ ወዲያውኑ መለወጥ ይችላሉ።
የሚፈለጉ ክፍሎች
ለዚህ ትምህርት የሚከተሉትን ክፍሎች ያስፈልግዎታል:
- ESP32 DEVKIT V1 ቦርድ
- 2 x 5 ሚሜ LED
- 2 x 200 Ohm resistor
- የዳቦ ሰሌዳ
- የጃምፐር ሽቦዎች
መርሃግብር
ወረዳውን በመገንባት ይጀምሩ. በሚከተለው የመርሃግብር ንድፍ ላይ እንደሚታየው ሁለት ኤልኢዲዎችን ከESP32 ጋር ያገናኙ - አንደኛው ኤልኢዲ ከGPIO 26 ጋር የተገናኘ ሲሆን ሌላኛው ደግሞ ከ GPIO 27 ጋር የተገናኘ።
ማስታወሻ፡- የESP32 DEVKIT DOIT ሰሌዳ በ36 ፒን እየተጠቀምን ነው። ወረዳውን ከመገጣጠምዎ በፊት, ለሚጠቀሙት ሰሌዳ ፒኖውትን ማረጋገጥዎን ያረጋግጡ.ኮድ
እዚህ ESP32ን የሚፈጥር ኮድ እናቀርባለን web አገልጋይ. ፕሮጄክት_5_ESP32_Switch _ን ይክፈቱWeb_Server.ino in arduino IDE፣ ግን እስካሁን አይስቀሉት። ለእርስዎ እንዲሰራ አንዳንድ ለውጦችን ማድረግ ያስፈልግዎታል።
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡(ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
የአውታረ መረብ ምስክርነቶችዎን በማዘጋጀት ላይ
የሚከተሉትን መስመሮች ከአውታረ መረብ ምስክርነቶችዎ ጋር ማሻሻል አለቦት፡ SSID እና የይለፍ ቃል። ኮዱ ለውጦቹን የት ማድረግ እንዳለብዎ በደንብ አስተያየት ተሰጥቶበታል።ኮዱን በመስቀል ላይ
አሁን፣ ኮዱን እና እና ን መጫን ይችላሉ። web አገልጋይ ወዲያውኑ ይሰራል።
ኮድ ወደ ESP32 ለመስቀል ቀጣዮቹን ደረጃዎች ይከተሉ፡
- የእርስዎን ESP32 ሰሌዳ በኮምፒተርዎ ላይ ይሰኩት;
- በ Arduino IDE ውስጥ ሰሌዳዎን በመሳሪያዎች> ቦርድ ውስጥ ይምረጡ (በእኛ ሁኔታ የ ESP32 DEVKIT DOIT ሰሌዳን እንጠቀማለን);
- በመሳሪያዎች > ወደብ ውስጥ የ COM ወደብ ይምረጡ።
- በአርዱዪኖ አይዲኢ ውስጥ የሰቀላ ቁልፍን ተጫን እና ኮዱ ሲጠናቀር እና ወደ ሰሌዳህ እስኪሰቀል ድረስ ለጥቂት ሰኮንዶች ጠብቅ።
- «ተጨረሰ ሰቀላ» የሚለውን መልዕክት ይጠብቁ።
የESP IP አድራሻን በማግኘት ላይ
ኮዱን ከሰቀሉ በኋላ ሲሪያል ሞኒተርን በ115200 ባውድ ፍጥነት ይክፈቱ።የ ESP32 EN ቁልፍን ተጫን (ዳግም አስጀምር)። ESP32 ከWi-Fi ጋር ይገናኛል፣ እና የESP IP አድራሻን በሴሪያል ሞኒተር ላይ ያወጣል። ያንን የአይፒ አድራሻ ይቅዱ፣ ESP32ን ለመድረስ ስለሚያስፈልገዎት ነው። web አገልጋይ.
ወደ ላይ መድረስ Web አገልጋይ
ን ለመድረስ web አገልጋይ, አሳሽዎን ይክፈቱ, ESP32 IP አድራሻውን ይለጥፉ እና የሚከተለውን ገጽ ያያሉ.
ማስታወሻ፡- የእርስዎ አሳሽ እና ESP32 ከተመሳሳዩ LAN ጋር መገናኘት አለባቸው።ሲሪያል ሞኒተርን ከተመለከቱ ከበስተጀርባ ምን እየተከሰተ እንዳለ ማየት ይችላሉ። ESP የኤችቲቲፒ ጥያቄን ከአዲስ ደንበኛ ይቀበላል (በዚህ ጉዳይ ላይ የእርስዎ አሳሽ)።
ስለ HTTP ጥያቄ ሌላ መረጃ ማየት ትችላለህ።
ሰልፍ
አሁን የእርስዎ ከሆነ መሞከር ይችላሉ። web አገልጋይ በትክክል እየሰራ ነው። ኤልኢዲዎችን ለመቆጣጠር አዝራሮቹን ጠቅ ያድርጉ።በተመሳሳይ ጊዜ፣ ከበስተጀርባ ምን እየተካሄደ እንዳለ ለማየት Serial Monitorን መመልከት ይችላሉ። ለ example, GPIO 26 ን ለማብራት ቁልፉን ሲጫኑ, ESP32 በ /26/ ላይ ጥያቄ ይቀበላል. URL.
ESP32 ያንን ጥያቄ ሲቀበል፣ ከGPIO 26 ጋር የተያያዘውን ኤልኢዲ አብራ እና ሁኔታውን በ web ገጽ.
የ GPIO 27 አዝራር በተመሳሳይ መንገድ ይሰራል. በትክክል እየሰራ መሆኑን ይፈትሹ።
ኮዱ እንዴት እንደሚሰራ
በዚህ ክፍል ውስጥ እንዴት እንደሚሰራ ለማየት ኮድን በጥልቀት እንመለከታለን.
መጀመሪያ ማድረግ ያለብዎት የ WiFi ቤተ-መጽሐፍትን ማካተት ነው.ቀደም ሲል እንደተገለፀው የእርስዎን ssid እና የይለፍ ቃል በድርብ ጥቅሶች ውስጥ በሚከተሉት መስመሮች ውስጥ ማስገባት ያስፈልግዎታል።
ከዚያ እርስዎ ያዘጋጃሉ። web አገልጋይ ወደ ወደብ 80.
የሚከተለው መስመር የኤችቲቲፒ ጥያቄን ራስጌ ለማከማቸት ተለዋዋጭ ይፈጥራል፡
በመቀጠል፣ የውጤቶችዎን ወቅታዊ ሁኔታ ለማከማቸት ረዳት ተለዋዋጮችን ይፈጥራሉ። ተጨማሪ ውጤቶችን ለመጨመር እና ግዛቱን ለማስቀመጥ ከፈለጉ, ተጨማሪ ተለዋዋጮችን መፍጠር አለብዎት.
እንዲሁም ለእያንዳንዱ ውፅዓትዎ GPIO መመደብ ያስፈልግዎታል። እዚህ GPIO 26 እና GPIO 27 እየተጠቀምን ነው። ማንኛውንም ሌላ ተስማሚ GPIO መጠቀም ይችላሉ።
ማዋቀር()
አሁን፣ ወደ ማዋቀሩ () እንሂድ። በመጀመሪያ፣ ለስህተት ማረም በ115200 ባውድ ፍጥነት ተከታታይ ግንኙነት እንጀምራለን።እንዲሁም የእርስዎን GPIOs እንደ OUTPUT ገልፀው ዝቅተኛ እንዲሆን ያዘጋጃቸዋል።
የሚከተሉት መስመሮች ከ WiFi ጋር የ Wi-Fi ግንኙነት ይጀምራሉ.begin (ssid, የይለፍ ቃል), ስኬታማ ግንኙነት ይጠብቁ እና ተከታታይ ሞኒተር ውስጥ ESP IP አድራሻ ያትሙ.
loop()
በ loop () ውስጥ አዲስ ደንበኛ ከ ጋር ግንኙነት ሲፈጥር ምን እንደሚፈጠር ፕሮግራም እናደርጋለን web አገልጋይ.
ESP32 ሁልጊዜ ለሚመጣው ደንበኞች በሚከተለው መስመር ያዳምጣል።ጥያቄ ከደንበኛ ሲደርስ የሚመጣውን ውሂብ እናስቀምጠዋለን። ደንበኛው እንደተገናኘ እስከቆየ ድረስ የሚከተለው የትንሽ ዑደት ይሰራል። ምን እየሰሩ እንደሆነ በትክክል እስካላወቁ ድረስ የሚከተለውን የኮዱ ክፍል እንዲቀይሩ አንመክርም።
ከሆነ እና ሌሎች መግለጫዎች የሚቀጥለው ክፍል በእርስዎ ውስጥ የትኛው ቁልፍ እንደተጫነ ያረጋግጣል web ገጽ ፣ እና ውጤቱን በትክክል ይቆጣጠራል። ቀደም ሲል እንዳየነው በተለያዩ ጉዳዮች ላይ ጥያቄ እናቀርባለን። URLs በተጫኑት አዝራር ላይ በመመስረት.
ለ exampየ GPIO 26 ON ቁልፍን ከተጫኑ፣ ESP32 በ /26/ON ላይ ጥያቄ ይቀበላል። URL (ይህን መረጃ በኤችቲቲፒ አርዕስት በተከታታይ ሞኒተር ላይ ማየት እንችላለን)። ስለዚህ፣ ራስጌው GET /26/on የሚለውን አገላለጽ መያዙን ማረጋገጥ እንችላለን። በውስጡ ከያዘ፣ የውጤት26ስቴት ተለዋዋጭ ወደ ON እንቀይራለን፣ እና ESP32 LEDን ያበራል።
ይህ ለሌሎቹ አዝራሮች በተመሳሳይ መልኩ ይሰራል. ስለዚህ፣ ተጨማሪ ውጽዓቶችን ማከል ከፈለጉ፣ ይህንን የኮዱ ክፍል እነሱን ለማካተት ማሻሻል አለብዎት።
HTML በማሳየት ላይ web ገጽ
ማድረግ ያለብዎት ቀጣዩ ነገር, መፍጠር ነው web ገጽ. ESP32 ን ለመገንባት ከተወሰነ HTML ኮድ ጋር ለአሳሽዎ ምላሽ ይልካል። web ገጽ.
የ web ገጹ ይህን ገላጭ client.println() በመጠቀም ለደንበኛው ይላካል። ለደንበኛው ለመላክ የሚፈልጉትን እንደ ክርክር ማስገባት አለብዎት.
መላክ ያለብን የመጀመሪያው ነገር ሁል ጊዜ የሚከተለው መስመር ነው፣ ይህም ኤችቲኤምኤል እንደምንልክ ያሳያል።ከዚያም የሚከተለው መስመር ያደርገዋል web በማንኛውም ውስጥ ምላሽ ሰጪ ገጽ web አሳሽ.
እና የሚከተለው በ favicon ላይ ጥያቄዎችን ለመከላከል ጥቅም ላይ ይውላል. - ስለዚህ መስመር መጨነቅ አያስፈልግዎትም።
የቅጥ አሰራር Web ገጽ
በመቀጠል፣ አዝራሮችን እና የ web የገጽ ገጽታ.
የሄልቬቲካ ቅርጸ-ቁምፊን እንመርጣለን, የሚታየውን ይዘት እንደ እገዳ እንገልፃለን እና በማዕከሉ ላይ ይስተካከላል.አዝራሮቻችንን በ#4CAF50 ቀለም፣ ያለ ድንበር፣ ጽሁፍ በነጭ እና በዚህ ንጣፍ: 16 ፒክስል 40 ፒክስል እናደርጋለን። እንዲሁም የጽሑፍ ማስጌጫውን ለማንም አዘጋጅተናል፣ የቅርጸ-ቁምፊውን መጠን፣ ህዳግ እና ጠቋሚውን ወደ ጠቋሚ እንገልጻለን።
እንዲሁም ለሁለተኛ አዝራር ዘይቤን እንገልፃለን ፣ ከዚህ ቀደም ከገለጽናቸው የአዝራሩ ባህሪዎች ጋር ፣ ግን በተለየ ቀለም። ይህ የመጥፋቱ አዝራር ቅጥ ይሆናል.
በማቀናበር ላይ Web ገጽ የመጀመሪያ ርዕስ
በሚቀጥለው መስመር የእርስዎን የመጀመሪያ ርዕስ ማዘጋጀት ይችላሉ web ገጽ. እዚህ አለን “ESP32 Web አገልጋይ”፣ ግን ይህን ጽሑፍ ወደ ፈለግከው መለወጥ ትችላለህ።አዝራሮችን እና ተጓዳኝ ሁኔታን በማሳየት ላይ
ከዚያ፣ የ GPIO 26 ወቅታዊ ሁኔታን ለማሳየት አንቀጽ ይጽፋሉ። እንደሚመለከቱት የውጤት26 ስቴት ተለዋዋጭ እንጠቀማለን፣ ስለዚህም ይህ ተለዋዋጭ ሲቀየር ግዛቱ ወዲያውኑ ይሻሻላል።በመቀጠል እንደ GPIO ወቅታዊ ሁኔታ የማብራት ወይም የማጥፋት ቁልፍን እናሳያለን። አሁን ያለው የ GPIO ሁኔታ ጠፍቶ ከሆነ, የ ON አዝራሩን እናሳያለን, ካልሆነ, የ OFF አዝራሩን እናሳያለን.
ለ GPIO 27 ተመሳሳይ አሰራር እንጠቀማለን.
ግንኙነቱን በመዝጋት ላይ
በመጨረሻም, ምላሹ ሲያልቅ, የራስጌውን ተለዋዋጭ እናጸዳለን, እና ከደንበኛው ጋር ያለውን ግንኙነት ከ client.stop () ጋር እናቆማለን.
መጠቅለል
በዚህ ማጠናከሪያ ትምህርት እንዴት እንደሚገነቡ አሳይተናል web አገልጋይ ከ ESP32 ጋር። ቀላል የቀድሞ አሳይተናልampሁለት ኤልኢዲዎችን የሚቆጣጠረው ነገር ግን ሃሳቡ እነዚያን ኤልኢዲዎች በሪሌይ መተካት ወይም ሌላ ሊቆጣጠሩት የሚፈልጉትን ውፅዓት መቀየር ነው።
ፕሮጀክት 6 RGB LED Web አገልጋይ
በዚህ ፕሮጀክት ውስጥ የ RGB LEDን ከ ESP32 ሰሌዳ ጋር እንዴት በርቀት እንደሚቆጣጠሩ እናሳይዎታለን ሀ web ቀለም መራጭ ያለው አገልጋይ.
ፕሮጀክት አልቋልview
ከመጀመርዎ በፊት ይህ ፕሮጀክት እንዴት እንደሚሰራ እንይ፡-
- ESP32 web አገልጋይ ቀለም መራጭ ያሳያል።
- ቀለም ሲመርጡ አሳሽዎ በ a ላይ ጥያቄ ያቀርባል URL የተመረጠው ቀለም R, G እና B መለኪያዎችን የያዘ.
- የእርስዎ ESP32 ጥያቄውን ተቀብሎ ለእያንዳንዱ የቀለም መለኪያ ዋጋ ይከፋፍላል።
- ከዚያ የ RGB LEDን ለሚቆጣጠሩት GPIOs የ PWM ምልክት ከተዛማጅ እሴት ጋር ይልካል።
RGB LEDs እንዴት ይሰራሉ?
በጋራ ካቶድ RGB LED ውስጥ, ሶስቱም ኤልኢዲዎች አሉታዊ ግንኙነት (ካቶድ) ይጋራሉ. ሁሉም በመሳሪያው ውስጥ የተካተቱት የጋራ-ካቶድ RGB ናቸው.የተለያዩ ቀለሞችን እንዴት መፍጠር እንደሚቻል?
በ RGB LED እርግጥ ቀይ፣ አረንጓዴ እና ሰማያዊ ብርሃን ማምረት ይችላሉ፣ እና የእያንዳንዱን LED መጠን በማዋቀር ሌሎች ቀለሞችንም ማምረት ይችላሉ።
ለ exampንፁህ ሰማያዊ ብርሃን ለማምረት፣ ሰማያዊውን ኤልኢዲ ወደ ከፍተኛው ጥንካሬ እና አረንጓዴ እና ቀይ ኤልኢዲዎችን ወደ ዝቅተኛው ጥንካሬ ያቀናጃሉ። ለነጭ ብርሃን፣ ሶስቱን ኤልኢዲዎች ወደ ከፍተኛው ጥንካሬ ያቀናጃሉ።
ቀለሞችን መቀላቀል
ሌሎች ቀለሞችን ለማምረት, ሦስቱን ቀለሞች በተለያየ ጥንካሬ ማዋሃድ ይችላሉ. የእያንዳንዱን LED ጥንካሬ ለማስተካከል የ PWM ምልክት መጠቀም ይችላሉ።
ኤልኢዲዎች እርስ በእርሳቸው በጣም ስለሚቀራረቡ, ዓይኖቻችን በተናጥል ከሦስቱ ቀለሞች ይልቅ የቀለሞች ጥምረት ውጤቱን ይመለከታሉ.
ቀለሞቹን እንዴት እንደሚዋሃዱ ሀሳብ እንዲኖርዎት, የሚከተለውን ሰንጠረዥ ይመልከቱ.
ይህ በጣም ቀላሉ የቀለም ድብልቅ ሰንጠረዥ ነው, ነገር ግን እንዴት እንደሚሰራ እና የተለያዩ ቀለሞችን እንዴት እንደሚሰራ ሀሳብ ይሰጥዎታል.የሚፈለጉ ክፍሎች
ለዚህ ፕሮጀክት የሚከተሉትን ክፍሎች ያስፈልግዎታል:
- ESP32 DEVKIT V1 ቦርድ
- RGB LED
- 3 x 220 ohm ተቃዋሚዎች
- የጃምፐር ሽቦዎች
- የዳቦ ሰሌዳ
መርሃግብርኮድ
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡(ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
- በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
ወረዳውን ካሰባሰቡ በኋላ, ኮዱን ይክፈቱ
ፕሮጀክት_6_RGB_LED_Web_Server.ino በ arduino IDE።
ኮዱን ከመጫንዎ በፊት ኢኤስፒ ከአካባቢያዊ አውታረ መረብዎ ጋር እንዲገናኝ የአውታረ መረብ ምስክርነቶችዎን ማስገባትዎን አይርሱ።ኮዱ እንዴት እንደሚሰራ
የ ESP32 ንድፍ የ WiFi.h ቤተ-መጽሐፍትን ይጠቀማል።የሚከተሉት መስመሮች የ R፣ G እና B መለኪያዎችን ከጥያቄው ለመያዝ የሕብረቁምፊ ተለዋዋጮችን ይገልፃሉ።
የሚቀጥሉት አራት ተለዋዋጮች የኤችቲቲፒ ጥያቄን በኋላ ላይ ለመፍታት ይጠቅማሉ።
የR, G እና B መለኪያዎችን የሚቆጣጠሩ ሶስት ተለዋዋጮችን ለጂፒኦዎች ይፍጠሩ። በዚህ አጋጣሚ GPIO 13፣ GPIO 12 እና GPIO 14 እየተጠቀምን ነው።
እነዚህ GPIOዎች የPWM ምልክቶችን ማውጣት አለባቸው፣ ስለዚህ መጀመሪያ የPWM ንብረቶችን ማዋቀር አለብን። የ PWM ምልክት ድግግሞሽን ወደ 5000 Hz ያዘጋጁ። ከዚያ ለእያንዳንዱ ቀለም የ PWM ቻናልን ያገናኙ
እና በመጨረሻም የ PWM ሰርጦችን ጥራት ወደ 8-ቢት ያዘጋጁ
በማዋቀር () ውስጥ የPWM ንብረቶችን ለPWM ቻናሎች ይመድቡ
የPWM ቻናሎችን ወደ ተጓዳኝ GPIOዎች ያያይዙ
የሚከተለው ኮድ ክፍል በእርስዎ ውስጥ ያለውን ቀለም መራጭ ያሳያል web ገጽ እና በመረጡት ቀለም መሰረት ጥያቄ ያቀርባል።
ቀለም ሲመርጡ በሚከተለው ቅርጸት ጥያቄ ይደርስዎታል።
ስለዚህ፣ የ R፣ G እና B መለኪያዎችን ለማግኘት ይህንን ሕብረቁምፊ መከፋፈል አለብን። መለኪያዎቹ በredString፣ greenString እና blueString ተለዋዋጮች ይቀመጣሉ እና በ0 እና 255 መካከል እሴቶች ሊኖራቸው ይችላል።ጠርዙን በESP32 ለመቆጣጠር፣ ከኤችቲቲፒ የተፈቱ እሴቶች ያላቸው የ PWM ምልክቶችን ለማመንጨት የ ledcWrite() ተግባርን ይጠቀሙ። ጥያቄ
ማስታወሻ፡- ስለ PWM በESP32፡ ፕሮጀክት 3 ESP32 PWM(የአናሎግ ውፅዓት) የበለጠ ይወቁ
ንጣፉን በ ESP8266 ለመቆጣጠር እኛ ብቻ መጠቀም አለብን
የአናሎግ ራይት () ተግባር ከኤችቲፒፒ ጥያቄ የተገለጡትን የ PWM ምልክቶችን ለማመንጨት።
analogWrite (redPin, redString.toInt ());
analogWrite (greenPin, greenString.toInt ());
አናሎግ ጻፍ (ሰማያዊ ፒን ፣ blueString.toInt())
እሴቶቹን በሕብረቁምፊ ተለዋዋጭ ስለምናገኝ፣ የቶInt() ዘዴን በመጠቀም ወደ ኢንቲጀር መለወጥ አለብን።
ሰልፍ
የአውታረ መረብ ምስክርነቶችዎን ካስገቡ በኋላ ትክክለኛውን ሰሌዳ እና COM ወደብ ይምረጡ እና ኮዱን ወደ የእርስዎ ESP32 ይስቀሉ ኮድ ማጣቀሻ ደረጃዎችን ይስቀሉ.
ከሰቀሉ በኋላ ተከታታይ ሞኒተሩን በ115200 ባውድ መጠን ይክፈቱ እና ESP አንቃ/ዳግም አስጀምር የሚለውን ቁልፍ ይጫኑ። የቦርዱ አይፒ አድራሻ ማግኘት አለብዎት።አሳሽዎን ይክፈቱ እና የESP IP አድራሻ ያስገቡ። አሁን ለ RGB LED ቀለም ለመምረጥ የቀለም መምረጫውን ይጠቀሙ።
ከዚያ, ቀለሙ እንዲተገበር "ቀለም ቀይር" የሚለውን ቁልፍ መጫን ያስፈልግዎታል.የ RGB LEDን ለማጥፋት ጥቁር ቀለም ይምረጡ.
በጣም ጠንካራዎቹ ቀለሞች (በቀለም መራጭ አናት ላይ), የተሻለ ውጤት ያስገኛሉ.
ፕሮጀክት 7 ESP32 ቅብብል Web አገልጋይ
ከESP32 ጋር ቅብብል መጠቀም የኤሲ የቤት ዕቃዎችን በርቀት ለመቆጣጠር ጥሩ መንገድ ነው። ይህ አጋዥ ስልጠና በESP32 እንዴት የማስተላለፊያ ሞጁሉን መቆጣጠር እንደሚቻል ያብራራል።
የማስተላለፊያ ሞጁል እንዴት እንደሚሰራ፣ ሪሌይውን ከ ESP32 ጋር እንዴት ማገናኘት እንደሚቻል እና እንዴት እንደሚገነባ እንመለከታለን። web አገልጋይ በርቀት ቅብብሎሽ ለመቆጣጠር።
Relays በማስተዋወቅ ላይ
ሪሌይ በኤሌክትሪክ የሚሰራ ማብሪያ/ማብሪያ/ማብሪያ / ማጥፊያ ሲሆን ልክ እንደሌላው ማብሪያ/ማብሪያ/ማብሪያ / ማጥፊያ/ ማብሪያ / ማጥፊያ/ ማብሪያ / ማጥፊያ / ማብሪያ / ማጥፊያ / ማብሪያ / ማብሪያ / ማብሪያ / ማጥፊያ ነው በዝቅተኛ ቮልት መቆጣጠር ይቻላልtages፣ ልክ በESP3.3 GPIOs የቀረበው 32V እና ከፍተኛ መጠን እንድንቆጣጠር ያስችለናል።tagእንደ 12V፣ 24V ወይም mains voltagሠ (በአውሮፓ 230 ቪ እና 120 ቮ በዩኤስ)።በግራ በኩል, ከፍተኛ ቮልት ለማገናኘት ሁለት የሶስት ሶኬቶች ስብስቦች አሉtages፣ እና ፒኖች በቀኝ በኩል (ዝቅተኛ-ቮልtagሠ) ከ ESP32 GPIOዎች ጋር ይገናኙ።
ዋናው ጥራዝtagሠ ግንኙነቶችበቀደመው ፎቶ ላይ የሚታየው የማስተላለፊያ ሞጁል ሁለት ማገናኛዎች ያሉት ሲሆን እያንዳንዳቸው ሶስት ሶኬቶች አላቸው፡ የጋራ (COM)፣ በመደበኛ ዝግ (ኤንሲ) እና በመደበኛ ክፍት (NO)።
- COM: ሊቆጣጠሩት የሚፈልጉትን የአሁኑን ያገናኙ (ዋናዎች ጥራዝtagሠ) ፡፡
- ኤንሲ (በተለምዶ የተዘጋ)፡ በተለምዶ የተዘጋው ውቅረት ጥቅም ላይ የሚውለው ማሰራጫው በነባሪ እንዲዘጋ ሲፈልጉ ነው። ኤንሲዎቹ የ COM ፒን ተያይዘዋል፣ ይህ ማለት ወረዳውን ለመክፈት እና የአሁኑን ፍሰት ለማስቆም ከ ESP32 ወደ ሪሌይ ሞጁል ምልክት ካልላኩ በስተቀር የአሁኑ እየፈሰሰ ነው።
- አይ (በተለምዶ ክፍት)፡- በተለምዶ ክፍት የሆነው ውቅር በተቃራኒ መንገድ ይሰራል፡ በNO እና COM ፒን መካከል ምንም አይነት ግንኙነት ስለሌለ ወረዳውን ለመዝጋት ከESP32 ምልክት ካልላኩ በስተቀር ወረዳው ተሰብሯል።
የመቆጣጠሪያ ፒኖችዝቅተኛ-ቮልtagሠ ጎን አራት ፒን እና የሶስት ፒን ስብስብ አለው. የመጀመሪያው ስብስብ ሞጁሉን ለመሙላት ቪሲሲ እና ጂኤንዲ እና ግቤት 1 (IN1) እና ግቤት 2 (IN2) የታችኛውን እና የላይኛውን ሪሌይቶችን በቅደም ተከተል ይቆጣጠራል።
የእርስዎ የማስተላለፊያ ሞጁል አንድ ሰርጥ ብቻ ካለው፣ አንድ የ IN ፒን ብቻ ይኖርዎታል። አራት ቻናሎች ካሉህ አራት IN pins እና የመሳሰሉት ይኖሩሃል።
ወደ IN ፒን የላኩት ሲግናል፣ ሪሌይ ገባሪ መሆኑን ወይም አለመሆኑን ይወስናል። ማስተላለፊያው የሚቀሰቀሰው ግብአቱ ከ2V አካባቢ በታች ሲሄድ ነው። ይህ ማለት የሚከተሉት ሁኔታዎች ይኖሩዎታል፡
- በተለምዶ የተዘጋ ውቅር (ኤንሲ)፦
- ከፍተኛ ምልክት - የአሁኑ እየፈሰሰ ነው
- ዝቅተኛ ምልክት - የአሁኑ አይፈስም
- በመደበኛነት ውቅረት ክፈት (አይ)
- ከፍተኛ ምልክት - የአሁኑ አይፈስም
- ዝቅተኛ ምልክት - በሚፈስበት ጊዜ
አሁኑኑ ብዙ ጊዜ መፍሰስ ሲኖርበት በተለምዶ የተዘጋ ውቅር መጠቀም አለቦት፣ እና እርስዎ አልፎ አልፎ ብቻ ማቆም ይፈልጋሉ።
አሁኑኑ አልፎ አልፎ እንዲፈስ ሲፈልጉ በተለምዶ ክፍት የሆነ ውቅር ይጠቀሙ (ለምሳሌ፡ample, al አብራamp አልፎ አልፎ)።
የኃይል አቅርቦት ምርጫሁለተኛው የፒን ስብስብ GND፣ VCC እና JD-VCC ፒን ያካትታል።
የጄዲ-ቪሲሲ ፒን የማስተላለፊያውን ኤሌክትሮማግኔት ያበረታታል። ሞጁሉ የቪሲሲ እና የጄዲ-ቪሲሲ ፒኖችን የሚያገናኝ የጃምፐር ካፕ እንዳለው አስተውል፤ እዚህ የሚታየው ቢጫ ነው፣ ያንተ ግን ሌላ ቀለም ሊሆን ይችላል።
በ jumper cap, የቪሲሲ እና የጄዲ-ቪሲሲ ፒኖች ተያይዘዋል. ያ ማለት የማስተላለፊያው ኤሌክትሮማግኔት በቀጥታ ከ ESP32 ሃይል ፒን ነው የሚሰራው ስለዚህ የማስተላለፊያ ሞጁሉ እና የ ESP32 ወረዳዎች በአካል የተገለሉ አይደሉም።
ያለ ጃምፐር ካፕ፣ የሪሌይ ኤሌክትሮ ማግኔትን በJD-VCC ፒን በኩል ለማንቀሳቀስ ራሱን የቻለ የኃይል ምንጭ ማቅረብ አለቦት። ያ ውቅር ከESP32 በሞጁሉ አብሮ በተሰራው ኦፕቶኮፕለር አማካኝነት ሬይሎችን በአካል ለይቷቸዋል፣ ይህም በኤሌክትሪካዊ ነጠብጣቦች ላይ ESP32 ላይ ጉዳት እንዳይደርስ ያደርጋል።
መርሃግብርማስጠንቀቂያ፡- ከፍተኛ መጠን ያለው አጠቃቀምtagየኃይል አቅርቦቶች ከባድ ጉዳት ሊያስከትሉ ይችላሉ.
ስለዚህ, 5mm LEDs በከፍተኛ የአቅርቦት ቮልዩ ፋንታ ጥቅም ላይ ይውላሉtagበሙከራው ውስጥ e አምፖሎች. ከዋና ቮልዩ ጋር በደንብ ካላወቁtagሊረዳህ ያለውን ሰው ጠይቅ። የESP ን ፕሮግራም ሲያዘጋጁ ወይም ወረዳዎን በሚሰሩበት ጊዜ ሁሉም ነገር ከአውታረ መረብ ቮልዩ ጋር መቆራረጡን ያረጋግጡtage.ለESP32 ቤተ መፃህፍት በመጫን ላይ
ይህንን ለመገንባት web አገልጋይ, ኢኤስፓሲን እንጠቀማለንWebየአገልጋይ ቤተ-መጽሐፍት እና AsyncTCP ቤተ-መጽሐፍት።
ESPAsyncን በመጫን ላይWebየአገልጋይ ቤተ-መጽሐፍት
ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ ESPAsyncWebአገልጋይ ቤተ መጻሕፍት፡
- ESPAsyncን ለማውረድ እዚህ ጠቅ ያድርጉWebየአገልጋይ ቤተ-መጽሐፍት. ሊኖርዎት ይገባል
በውርዶች አቃፊዎ ውስጥ የዚፕ አቃፊ - የዚፕ ማህደርን ይንቀሉት እና ኢኤስፓሲንን ማግኘት አለቦትWebየአገልጋይ-ማስተር አቃፊ
- አቃፊዎን ከESPAsync እንደገና ይሰይሙWebአገልጋይ-ማስተር ወደ ESPAsyncWebአገልጋይ
- ESPAsyncን ያንቀሳቅሱWebየአገልጋይ ማህደር ወደ Arduino IDE መጫኛ ቤተ-መጽሐፍት አቃፊ
በአማራጭ፣ በእርስዎ Arduino IDE ውስጥ፣ ወደ Sketch> አካትት መሄድ ይችላሉ።
ቤተ-መጽሐፍት > የዚፕ ቤተ-መጽሐፍትን አክል… እና አሁን ያወረዱትን ቤተ-መጽሐፍት ይምረጡ።
የAsyncTCP ቤተ-መጽሐፍትን ለESP32 በመጫን ላይ
የ ESPAsyncWebአገልጋይ ቤተ-መጽሐፍት ያስፈልገዋል AsyncTCP ቤተ-መጽሐፍት ለመሥራት. ተከተል
ቤተ-መጽሐፍትን ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ
- የAsyncTCP ቤተ-መጽሐፍትን ለማውረድ እዚህ ጠቅ ያድርጉ። በውርዶች አቃፊዎ ውስጥ የዚፕ ማህደር ሊኖርዎት ይገባል።
- የዚፕ ማህደሩን ይንቀሉት እና AsyncTCP-master ፎልደር ማግኘት አለብዎት
1. ማህደርዎን ከ AsyncTCP-master ወደ AsyncTCP ይሰይሙ
3. የAsyncTCP ማህደርን ወደ Arduino IDE መጫኛ ቤተመፃሕፍት አቃፊ ይውሰዱ
4. በመጨረሻ፣ የእርስዎን Arduino IDE እንደገና ይክፈቱ
በአማራጭ፣ በእርስዎ Arduino IDE ውስጥ፣ ወደ Sketch> አካትት መሄድ ይችላሉ።
ቤተ-መጽሐፍት > የዚፕ ቤተ-መጽሐፍትን አክል… እና አሁን ያወረዱትን ቤተ-መጽሐፍት ይምረጡ።
ኮድ
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡(ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
አስፈላጊዎቹን ቤተ-መጻሕፍት ከጫኑ በኋላ ፕሮጄክት_7_ESP32_Relay_ን ይክፈቱWeb_Server.ino በ arduino IDE።
ኮዱን ከመጫንዎ በፊት ኢኤስፒ ከአካባቢያዊ አውታረ መረብዎ ጋር እንዲገናኝ የአውታረ መረብ ምስክርነቶችዎን ማስገባትዎን አይርሱ።ሰልፍ
አስፈላጊዎቹን ለውጦች ካደረጉ በኋላ, ኮዱን ወደ የእርስዎ ESP32 ይስቀሉ. የኮድ ማመሳከሪያ ደረጃዎችን ይጫኑ.
ሲሪያል ሞኒተርን በ115200 ባውድ ከፍተው የአይፒ አድራሻውን ለማግኘት ESP32 EN ቁልፍን ተጫኑ።ከዚያም በአከባቢዎ አውታረ መረብ ውስጥ አሳሽ ይክፈቱ እና ESP32 IP አድራሻውን ይተይቡ። web አገልጋይ.
ሲሪያል ሞኒተርን በ115200 ባውድ ከፍተው የአይፒ አድራሻውን ለማግኘት ESP32 EN ቁልፍን ተጫኑ።ከዚያም በአከባቢዎ አውታረ መረብ ውስጥ አሳሽ ይክፈቱ እና ESP32 IP አድራሻውን ይተይቡ። web አገልጋይ.ማስታወሻ፡- የእርስዎ አሳሽ እና ESP32 ከተመሳሳዩ LAN ጋር መገናኘት አለባቸው።
በኮድህ ላይ እንደገለጽከው የሪሌይ ብዛት እንደ ሁለት አዝራሮች እንደሚከተለው አንድ ነገር ማግኘት አለብህ።አሁን ስማርትፎንዎን ተጠቅመው ማሰራጫዎችን ለመቆጣጠር ቁልፎችን መጠቀም ይችላሉ።
የፕሮጀክት_8_ውፅዓት_ግዛት_ማመሳሰል_ Web_አገልጋይ
ይህ ፕሮጀክት የ ESP32 ወይም ESP8266 ውጤቶችን እንዴት መቆጣጠር እንደሚቻል ያሳያል ሀ web አገልጋይ እና አካላዊ አዝራር በአንድ ጊዜ. የውጤቱ ሁኔታ በ ላይ ዘምኗል web ገጽ በአካላዊ አዝራር ቢቀየር ወይም web አገልጋይ.
ፕሮጀክት አልቋልview
ፕሮጀክቱ እንዴት እንደሚሰራ በፍጥነት እንይ።ESP32 ወይም ESP8266 ያስተናግዳል። web የውጤቱን ሁኔታ ለመቆጣጠር የሚያስችል አገልጋይ;
- የአሁኑ የውጤት ሁኔታ በ ላይ ይታያል web አገልጋይ;
- ESP ደግሞ ተመሳሳይ ውፅዓት የሚቆጣጠር አንድ አካላዊ pushbutton ጋር የተገናኘ ነው;
- የውጤት ሁኔታን አካላዊ ፑህስቦን በመጠቀም ከቀየሩ፣ አሁን ያለው ሁኔታ በ ላይም ተዘምኗል web አገልጋይ.
በማጠቃለያው ይህ ፕሮጀክት ሀን በመጠቀም ተመሳሳይ ውፅዓት እንዲቆጣጠሩ ያስችልዎታል web አገልጋይ እና የግፋ ቁልፍ በተመሳሳይ ጊዜ። የውጤቱ ሁኔታ በሚቀየርበት ጊዜ፣ የ web አገልጋይ ዘምኗል።
የሚፈለጉ ክፍሎች
ወረዳውን ለመገንባት የሚያስፈልጉዎት ክፍሎች ዝርዝር እነሆ-
- ESP32 DEVKIT V1 ቦርድ
- 5 ሚሜ LED
- 220Ohm resistor
- Ushሽበተን
- 10k Ohm resistor
- የዳቦ ሰሌዳ
- የጃምፐር ሽቦዎች
መርሃግብርለESP32 ቤተ መፃህፍት በመጫን ላይ
ይህንን ለመገንባት web አገልጋይ, ኢኤስፓሲን እንጠቀማለንWebየአገልጋይ ቤተ-መጽሐፍት እና AsyncTCP ቤተ-መጽሐፍት (ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ)
ESPAsyncን በመጫን ላይWebየአገልጋይ ቤተ-መጽሐፍት
ESPAsyncን ለመጫን ቀጣዮቹን ደረጃዎች ይከተሉWebየአገልጋይ ቤተ-መጽሐፍት፡
- ESPAsyncን ለማውረድ እዚህ ጠቅ ያድርጉWebየአገልጋይ ቤተ-መጽሐፍት. ሊኖርዎት ይገባል
በውርዶች አቃፊዎ ውስጥ የዚፕ አቃፊ - የዚፕ ማህደርን ይንቀሉት እና ኢኤስፓሲንን ማግኘት አለቦትWebየአገልጋይ-ማስተር አቃፊ
- አቃፊዎን ከESPAsync እንደገና ይሰይሙWebአገልጋይ-ማስተር ወደ ESPAsyncWebአገልጋይ
- ESPAsyncን ያንቀሳቅሱWebየአገልጋይ ማህደር ወደ Arduino IDE መጫኛ ቤተ-መጽሐፍት አቃፊ
በአማራጭ፣ በእርስዎ Arduino IDE ውስጥ፣ ወደ Sketch> አካትት መሄድ ይችላሉ።
ቤተ-መጽሐፍት > የዚፕ ቤተ-መጽሐፍትን አክል… እና አሁን ያወረዱትን ቤተ-መጽሐፍት ይምረጡ።
የAsyncTCP ቤተ-መጽሐፍትን ለESP32 በመጫን ላይ
የ ESPAsyncWebየአገልጋይ ቤተ-መጽሐፍት እንዲሰራ የAsyncTCP ቤተ-መጽሐፍትን ይፈልጋል። ቤተ-መጽሐፍትን ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ።
- የAsyncTCP ቤተ-መጽሐፍትን ለማውረድ እዚህ ጠቅ ያድርጉ። በውርዶች አቃፊዎ ውስጥ የዚፕ ማህደር ሊኖርዎት ይገባል።
- የዚፕ ማህደሩን ይንቀሉት እና AsyncTCP-master ፎልደር ማግኘት አለብዎት
- አቃፊህን ከAsyncTCP-master ወደ AsyncTCP እንደገና ይሰይሙ
- የAsyncTCP ማህደርን ወደ Arduino IDE መጫኛ ቤተ መፃህፍቶች አቃፊ ይውሰዱ
- በመጨረሻም፣ የእርስዎን Arduino IDE እንደገና ይክፈቱት።
በአማራጭ፣ በእርስዎ Arduino IDE ውስጥ፣ ወደ Sketch> አካትት መሄድ ይችላሉ።
ቤተ-መጽሐፍት > የዚፕ ቤተ-መጽሐፍትን አክል… እና አሁን ያወረዱትን ቤተ-መጽሐፍት ይምረጡ።
ኮድ
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡(ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
አስፈላጊዎቹን ቤተ-መጻሕፍት ከጫኑ በኋላ, ኮዱን ይክፈቱ
የፕሮጀክት_8_ውፅዓት_ግዛት_ማመሳሰል_Web_Server.ino በ arduino IDE።
ኮዱን ከመጫንዎ በፊት ኢኤስፒ ከአካባቢያዊ አውታረ መረብዎ ጋር እንዲገናኝ የአውታረ መረብ ምስክርነቶችዎን ማስገባትዎን አይርሱ።
ኮዱ እንዴት እንደሚሰራ
የአዝራር ግዛት እና የውጤት ሁኔታ
የ ledState ተለዋዋጭ የ LED ውፅዓት ሁኔታን ይይዛል። ለነባሪ፣ የ web አገልጋይ ይጀምራል, ዝቅተኛ ነው.
አዝራሩ ስቴት እና የመጨረሻ ቡትቶን ስቴት የግፋ አዝራሩ ተጭኖ እንደሆነ ወይም እንዳልሆነ ለማወቅ ይጠቅማሉ።አዝራር (web አገልጋይ)
በindex_html ተለዋዋጭ ላይ ያለውን ቁልፍ ለመፍጠር ኤችቲኤምኤልን አላካተትንም።
ይህ የሆነበት ምክንያት አሁን ባለው የ LED ሁኔታ ላይ በመመስረት በመግፊያ ቁልፍ ሊለወጥ ስለሚችል መለወጥ ስለምንፈልግ ነው።
ስለዚህ፣ ለ% BUTTONPLACEHOLDER% አዝራሩ ቦታ ያዥ ፈጥረናል በኤችቲኤምኤል ጽሑፍ የሚተካ በኋላ በኮዱ ላይ አዝራሩን ለመፍጠር (ይህ በአቀነባባሪ() ተግባር ውስጥ ይከናወናል)።ፕሮሰሰር()
የፕሮሰሰር() ተግባር በኤችቲኤምኤል ጽሁፍ ላይ ያሉ ማናቸውንም ቦታ ያዥ በትክክለኛ እሴቶች ይተካል። በመጀመሪያ፣ የኤችቲኤምኤል ጽሁፎች ማንኛውንም ነገር እንደያዙ ያረጋግጣል
ቦታ ያዢዎች %BUTTONPLACEHOLDER%.ከዚያ፣ የአሁኑን የውጤት ሁኔታ የሚመልስ theoutputState() ተግባርን ይደውሉ። በውጤት ስቴትቫል ተለዋዋጭ ውስጥ እናስቀምጠዋለን.
ከዚያ በኋላ አዝራሩን በትክክለኛው ሁኔታ ለማሳየት የኤችቲኤምኤል ጽሑፍ ለመፍጠር ያንን እሴት ይጠቀሙ።
ኤችቲቲፒ GET የውጤት ሁኔታን ለመቀየር ጥያቄ (ጃቫስክሪፕት)
ቁልፉን ሲጫኑ የመቀየሪያ ቼክቦክስ() ተግባር ይባላል። ይህ ተግባር በተለያየ ላይ ጥያቄ ያቀርባል URLs LEDን ለማብራት ወይም ለማጥፋት.LED ን ለማብራት በ /update?state=1 ላይ ጥያቄ ያቀርባል URL:
አለበለዚያ፣ በ /update?state=0 ላይ ጥያቄ ያቀርባል URL.
HTTP GET ግዛትን ለማዘመን (ጃቫስክሪፕት) ጥያቄ
የውጤት ሁኔታ በ ላይ እንደተዘመነ ለማቆየት web አገልጋይ፣ በ/ግዛት ላይ አዲስ ጥያቄ የሚያቀርበውን የሚከተለውን ተግባር ብለን እንጠራዋለን URL በየሰከንዱ።ጥያቄዎችን ማስተናገድ
ከዚያ፣ ESP32 ወይም ESP8266 በእነዚያ ላይ ጥያቄዎች ሲደርሱ የሚፈጠረውን ነገር ማስተናገድ አለብን URLs.
በሥሩ ላይ ጥያቄ ሲደርሰው /URL, የኤችቲኤምኤል ገጹን እንዲሁም ፕሮሰሰሩን እንልካለን.የሚከተሉት መስመሮች በ /update?state=1 ወይም /update?state=0 ላይ ጥያቄ እንደደረሰዎት ያረጋግጣሉ URL እና በዚሁ መሰረት የሊድ ግዛትን ይለውጣል.
በግዛቱ ላይ ጥያቄ ሲደርሰው URLየአሁኑን የውጤት ሁኔታ እንልካለን፡-
loop()
በ loop () ውስጥ ፣ የግፋ አዝራሩን እናስቃለን እና እንደ LEDState ዋጋ ላይ በመመስረት ኤልኢዱን እናበራለን ተለዋዋጭ.ሰልፍ
ኮዱን ወደ የእርስዎ ESP32 ሰሌዳ ይስቀሉ። የኮድ ማጣቀሻ ደረጃዎችን ይስቀሉ።
በመቀጠል ሴሪያል ሞኒተርን በ baud ፍጥነት 115200 ይክፈቱ።በቦርዱ ላይ EN/RST የሚለውን ቁልፍ ይጫኑ IP አድራሻ ነው።በአከባቢዎ አውታረ መረብ ላይ አሳሽ ይክፈቱ እና የኢኤስፒ አይፒ አድራሻውን ይተይቡ። የ መዳረሻ ሊኖርዎት ይገባል web ከታች እንደሚታየው አገልጋይ.
ማስታወሻ፡- የእርስዎ አሳሽ እና ESP32 ከተመሳሳዩ LAN ጋር መገናኘት አለባቸው።በ ላይ ያለውን አዝራር መቀያየር ይችላሉ web LED ን ለማብራት አገልጋይ.
እንዲሁም ተመሳሳዩን LED በአካላዊ የግፊት ቁልፍ መቆጣጠር ይችላሉ። የእሱ ሁኔታ ሁልጊዜ በ ላይ በራስ-ሰር ይዘምናል። web አገልጋይ.
ፕሮጀክት 9 ESP32 DHT11 Web አገልጋይ
በዚህ ፕሮጀክት ውስጥ፣ ያልተመሳሰለ ESP32 እንዴት እንደሚገነቡ ይማራሉ። web Arduino IDE በመጠቀም የሙቀት መጠንን እና እርጥበትን የሚያሳይ DHT11 ያለው አገልጋይ።
ቅድመ-ሁኔታዎች
የ web አገልጋይ ማደስ ሳያስፈልገን ንባቦቹን በራስ ሰር ማዘመን እንገነባለን። web ገጽ.
በዚህ ፕሮጀክት ይማራሉ፡-
- የሙቀት መጠንን እና እርጥበትን ከዲኤችቲ ዳሳሾች እንዴት ማንበብ እንደሚቻል;
- የማይመሳሰል ይገንቡ web አገልጋይ በመጠቀም ESPAsyncWebየአገልጋይ ቤተ-መጽሐፍት;
- ማደስ ሳያስፈልግ የዳሳሽ ንባቦችን በራስ ሰር ያዘምኑ web ገጽ.
ያልተመሳሰለ Web አገልጋይ
ለመገንባት web አገልጋይ እንጠቀማለን ESPAsyncWebየአገልጋይ ቤተ-መጽሐፍት ያልተመሳሰለውን ለመገንባት ቀላል መንገድ ያቀርባል web አገልጋይ. የማይመሳሰል መገንባት web አገልጋይ ብዙ አድቫን አለው።tages በቤተ-መጽሐፍት GitHub ገጽ ላይ እንደተገለጸው፣ እንደ፡-
- "በአንድ ጊዜ ከአንድ በላይ ግንኙነቶችን ይያዙ";
- "ምላሹን ስትልክ አገልጋዩ ከበስተጀርባ ምላሹን ለመላክ እየተንከባከበ እያለ ሌሎች ግንኙነቶችን ለመቆጣጠር ወዲያውኑ ዝግጁ ነህ"፤
- "አብነቶችን ለመቆጣጠር ቀላል የአብነት ማቀነባበሪያ ሞተር";
የሚፈለጉ ክፍሎች
ይህንን መማሪያ ለማጠናቀቅ የሚከተሉትን ክፍሎች ያስፈልግዎታል
- ESP32 ልማት ቦርድ
- DHT11 ሞጁል
- የዳቦ ሰሌዳ
- የጃምፐር ሽቦዎች
መርሃግብርቤተ መፃህፍትን በመጫን ላይ
ለዚህ ፕሮጀክት ሁለት ቤተ-መጻሕፍት መጫን አለቦት፡-
- የ ዲኤችቲ እና የ Adafruit የተዋሃደ ዳሳሽ ከዲኤችቲ ዳሳሽ ለማንበብ የአሽከርካሪ ቤተ-መጻሕፍት።
- ESPAsyncWebአገልጋይ እና አስምር TCP ያልተመሳሰለውን ለመገንባት ቤተ-መጻሕፍት web አገልጋይ.
እነዚያን ቤተ-መጽሐፍት ለመጫን የሚከተሉትን መመሪያዎች ይከተሉ፡-
የዲኤችቲ ዳሳሽ ላይብረሪ በመጫን ላይ
Arduino IDE ን በመጠቀም ከ DHT ዳሳሽ ለማንበብ መጫን ያስፈልግዎታል የዲኤችቲ ዳሳሽ ቤተ-መጽሐፍት።. ቤተ መፃህፍቱን ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ።
- የዲኤችቲ ዳሳሽ ላይብረሪ ለማውረድ እዚህ ጠቅ ያድርጉ። በውርዶች አቃፊዎ ውስጥ የዚፕ ማህደር ሊኖርዎት ይገባል።
- የዚፕ ማህደርን ይንቀሉት እና DHT-sensor-Library-master ፎልደር ማግኘት አለቦት
- አቃፊህን ከDHT-sensor-library-master ወደ DHT_sensor እንደገና ይሰይሙ
- የDHT_sensor ማህደርን ወደ Arduino IDE መጫኛ ቤተመፃሕፍት አቃፊ ይውሰዱ
- በመጨረሻም፣ የእርስዎን Arduino IDE እንደገና ይክፈቱት።
የ Adafruit የተዋሃደ ዳሳሽ ሾፌርን በመጫን ላይ
እንዲሁም መጫን ያስፈልግዎታል Adafruit የተዋሃደ ዳሳሽ ነጂ ቤተ-መጽሐፍት። ከዲኤችቲ ዳሳሽ ጋር ለመስራት. ቤተ መፃህፍቱን ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ።
- የአዳፍሩት የተዋሃደ ዳሳሽ ላይብረሪ ለማውረድ እዚህ ጠቅ ያድርጉ። በውርዶች አቃፊዎ ውስጥ የዚፕ ማህደር ሊኖርዎት ይገባል።
- የዚፕ ማህደሩን ይንቀሉት እና Adafruit_sensor-master ፎልደርን ማግኘት አለብዎት
- አቃፊህን ከ Adafruit_sensor-master ወደ Adafruit_sensor እንደገና ይሰይሙ
- የAdafruit_sensor ማህደርን ወደ Arduino IDE መጫኛ ቤተመፃሕፍት አቃፊ ይውሰዱ
- በመጨረሻም፣ የእርስዎን Arduino IDE እንደገና ይክፈቱት።
ESPAsyncን በመጫን ላይWebየአገልጋይ ቤተ-መጽሐፍት
ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ ESPAsyncWebአገልጋይ ቤተ መጻሕፍት፡
- ESPAsyncን ለማውረድ እዚህ ጠቅ ያድርጉWebየአገልጋይ ቤተ-መጽሐፍት. ሊኖርዎት ይገባል
በውርዶች አቃፊዎ ውስጥ የዚፕ አቃፊ - የዚፕ ማህደሩን ይንቀሉት እና ያስፈልግዎታል
ESPAsync ያግኙWebየአገልጋይ-ማስተር አቃፊ - አቃፊዎን ከESPAsync እንደገና ይሰይሙWebአገልጋይ-ማስተር ወደ ESPAsyncWebአገልጋይ
- ESPAsyncን ያንቀሳቅሱWebየአገልጋይ ማህደር ወደ Arduino IDE መጫኛ ቤተ-መጽሐፍት አቃፊ
ለESP32 Async TCP ላይብረሪ በመጫን ላይ
የ ESPAsyncWebአገልጋይ ቤተ-መጽሐፍት ያስፈልገዋል AsyncTCP ቤተ-መጽሐፍት ለመሥራት. ቤተ-መጽሐፍትን ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ።
- የAsyncTCP ቤተ-መጽሐፍትን ለማውረድ እዚህ ጠቅ ያድርጉ። በውርዶች አቃፊዎ ውስጥ የዚፕ ማህደር ሊኖርዎት ይገባል።
- የዚፕ ማህደሩን ይንቀሉት እና AsyncTCP-master ፎልደር ማግኘት አለብዎት
- አቃፊህን ከAsyncTCP-master ወደ AsyncTCP እንደገና ይሰይሙ
- የAsyncTCP ማህደርን ወደ Arduino IDE መጫኛ ቤተ መፃህፍቶች አቃፊ ይውሰዱ
- በመጨረሻም፣ የእርስዎን Arduino IDE እንደገና ይክፈቱት።
ኮድ
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡(ይህን ደረጃ አስቀድመው ካደረጉት ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይ
አስፈላጊዎቹን ቤተ-መጻሕፍት ከጫኑ በኋላ, ኮዱን ይክፈቱ
ፕሮጀክት_9_ESP32_DHT11_Web_Server.ino በ arduino IDE።
ኮዱን ከመጫንዎ በፊት ኢኤስፒ ከአካባቢያዊ አውታረ መረብዎ ጋር እንዲገናኝ የአውታረ መረብ ምስክርነቶችዎን ማስገባትዎን አይርሱ።ኮዱ እንዴት እንደሚሰራ
በሚቀጥሉት አንቀጾች ውስጥ ኮዱ እንዴት እንደሚሰራ እናብራራለን. የበለጠ ለማወቅ ከፈለጉ ማንበብዎን ይቀጥሉ ወይም የመጨረሻውን ውጤት ለማየት ወደ ማሳያ ክፍል ይሂዱ።
ቤተ-መጻሕፍት ማስመጣት
መጀመሪያ የሚያስፈልጉትን ቤተ-መጻሕፍት ያስመጡ። ዋይፋይ፣ ESPAsyncWebይህንን ለመገንባት አገልጋይ እና ESPAsyncTCP ያስፈልጋሉ። web አገልጋይ. ከDHT11 ወይም DHT22 ዳሳሾች ለማንበብ Adafruit_Sensor እና DHT ቤተ-ፍርግሞች ያስፈልጋሉ።ተለዋዋጮች ትርጉም
የዲኤችቲ ዳታ ፒን የተገናኘበትን GPIO ይግለጹ። በዚህ አጋጣሚ፣ ከGPIO 4 ጋር ተገናኝቷል።ከዚያ፣ እየተጠቀሙበት ያለውን የDHT ዳሳሽ አይነት ይምረጡ። በእኛ የቀድሞample፣ እኛ የምንጠቀመው DHT22 ነው። ሌላ ዓይነት እየተጠቀሙ ከሆነ፣ የእርስዎን ዳሳሽ ማጉላት እና ሌሎቹን ሁሉ አስተያየት መስጠት ብቻ ያስፈልግዎታል።
ቀደም ብለን በገለጽነው ዓይነት እና ፒን የዲኤችቲ ነገርን ያፋጥኑ።Async ይፍጠሩWebየአገልጋይ ነገር በፖርት 80 ላይ።
የሙቀት እና እርጥበት ተግባራትን ያንብቡ
ሁለት ተግባራትን ፈጥረናል፡ አንድ የሙቀት መጠኑን ለማንበብ ሁለት ተግባራትን ፈጥረናል፡ አንደኛው የሙቀት መጠኑን ለማንበብ (ReadDHTTemperature()) እና ሌላኛው እርጥበት ለማንበብ (readDHTHumidity())።የዳሳሽ ንባቦችን ማግኘት የዳሳሽ ንባቦችን ማግኘት በዲኤችቲ ነገር ላይ የንባብ ቴምፐር () እና የንባብ እርጥበት () ዘዴዎችን እንደመጠቀም ቀላል ነው።
ሴንሰሩ ንባቡን ማግኘት ካልቻለ ሁለት ሰረዝ (–) የሚመልስ ሁኔታ አለን።
ንባቦቹ እንደ ሕብረቁምፊ ዓይነት ይመለሳሉ። ተንሳፋፊን ወደ ሕብረቁምፊ ለመቀየር የ String() ተግባርን ይጠቀሙ
በነባሪ፣ የሙቀት መጠኑን በሴልሺየስ ዲግሪ እያነበብን ነው። የሙቀት መጠኑን በፋራናይት ዲግሪ ለማግኘት፣ በሴልሺየስ ያለውን የሙቀት መጠን አስተያየት ይስጡ እና በፋራናይት ውስጥ ያለውን የሙቀት መጠን አይስተካከሉ፣ ስለዚህ የሚከተለው እንዲኖርዎት ያድርጉ።
ኮዱን ይጫኑ
አሁን፣ ኮዱን ወደ የእርስዎ ESP32 ይስቀሉ። ትክክለኛው የቦርድ እና የ COM ወደብ መመረጡን ያረጋግጡ የኮድ ማመሳከሪያ ደረጃዎችን ይስቀሉ.
ከሰቀሉ በኋላ ሴሪያል ሞኒተሩን በ115200 ባውድ መጠን ይክፈቱ። የESP32 ዳግም ማስጀመሪያ ቁልፍን ይጫኑ። የESP32 አይፒ አድራሻ በተከታታይ መታተም አለበት። ተቆጣጠር።ሰልፍ
አሳሽ ይክፈቱ እና ESP32 IP አድራሻ ይተይቡ። ያንተ web አገልጋዩ የቅርብ ጊዜ ዳሳሽ ንባቦችን ማሳየት አለበት።
ማስታወሻ፡- የእርስዎ አሳሽ እና ESP32 ከተመሳሳዩ LAN ጋር መገናኘት አለባቸው።
የሙቀት እና የእርጥበት መጠን ንባቦችን ማደስ ሳያስፈልግ በራስ-ሰር እንደሚዘምኑ ልብ ይበሉ web ገጽ.
ፕሮጀክት_10_ESP32_OLED_ማሳያ
ይህ ፕሮጀክት አርዱዪኖ አይዲኢን በመጠቀም የ0.96 ኢንች SSD1306 OLED ማሳያን ከESP32 ጋር እንዴት መጠቀም እንደሚቻል ያሳያል።
0.96 ኢንች OLED ማሳያን በማስተዋወቅ ላይ
የ OLED ማሳያ በዚህ ማጠናከሪያ ትምህርት የምንጠቀመው የኤስኤስዲ1306 ሞዴል ነው፡ ባለ ሞኖ ቀለም፣ ባለ 0.96 ኢንች ማሳያ ከ128×64 ፒክሰሎች ጋር በሚከተለው ምስል ላይ እንደሚታየው።የ OLED ማሳያ የጀርባ ብርሃንን አይፈልግም, ይህም በጨለማ አካባቢዎች ውስጥ በጣም ጥሩ ንፅፅርን ያመጣል. በተጨማሪም የእሱ ፒክስሎች ኃይልን የሚበሉት ሲበሩ ብቻ ነው፣ስለዚህ የ OLED ማሳያው ከሌሎች ማሳያዎች ጋር ሲወዳደር አነስተኛ ኃይል ይወስዳል።
የ OLED ማሳያ I2C የግንኙነት ፕሮቶኮልን ስለሚጠቀም, ሽቦ ማድረግ በጣም ቀላል ነው. የሚከተለውን ሰንጠረዥ እንደ ማጣቀሻ መጠቀም ይችላሉ.
OLED ፒን | ESP32 |
ቪን | 3.3 ቪ |
ጂኤንዲ | ጂኤንዲ |
ኤስ.ኤል.ኤል | ጂፒኦ 22 |
ኤስዲኤ | ጂፒኦ 21 |
መርሃግብርSSD1306 OLED ቤተ-መጽሐፍትን በመጫን ላይ - ESP32
የ OLED ማሳያውን በESP32 ለመቆጣጠር ብዙ ቤተ-መጻሕፍት አሉ።
በዚህ ማጠናከሪያ ትምህርት ሁለት የአዳፍሩት ቤተ-መጻሕፍትን እንጠቀማለን፡- Adafruit_SSD1306 ቤተ መጻሕፍት እና Adafruit_GFX ላይብረሪ.
እነዚያን ቤተ-መጽሐፍት ለመጫን የሚከተሉትን ደረጃዎች ይከተሉ።
- የእርስዎን Arduino IDE ይክፈቱ እና ወደ Sketch > Library Include > ቤተ-መጻሕፍትን ማስተዳደር ይሂዱ። የቤተ መፃህፍቱ አስተዳዳሪ መከፈት አለበት።
- በፍለጋ ሳጥኑ ውስጥ "SSD1306" ብለው ይተይቡ እና የ SSD1306 ቤተ-መጽሐፍትን ከአዳፍሩት ይጫኑ።
- የ SSD1306 ቤተ-መጽሐፍትን ከአዳፍሩት ከጫኑ በኋላ በፍለጋ ሳጥኑ ውስጥ "GFX" ብለው ይተይቡ እና ቤተ-መጽሐፍቱን ይጫኑ.
- ቤተ መፃህፍቶቹን ከጫኑ በኋላ፣ የእርስዎን Arduino IDE እንደገና ያስጀምሩ።
ኮድ
የሚፈለጉትን ቤተ-መጻሕፍት ከጫኑ በኋላ ፕሮጄክት_10_ESP32_OLED_Display.inoን በarduino IDE ይክፈቱ። ኮድ
Arduino IDEን በመጠቀም ESP32ን ፕሮግራም እናደርጋለን፣ ስለዚህ ከመቀጠልዎ በፊት የESP32 ተጨማሪ መጫኑን ያረጋግጡ፡ (ይህን ደረጃ አስቀድመው ካደረጉት፣ ወደሚቀጥለው ደረጃ መዝለል ይችላሉ።)
በ Arduino IDE ውስጥ ESP32 ተጨማሪን በመጫን ላይኮዱ እንዴት እንደሚሰራ
ቤተ-መጻሕፍት ማስመጣት
በመጀመሪያ አስፈላጊ የሆኑትን ቤተ-መጻሕፍት ማስመጣት ያስፈልግዎታል. ወደ ማሳያው ለመጻፍ የዋየር ቤተ-መጽሐፍት I2C እና Adafruit ቤተ-መጻሕፍትን ለመጠቀም፡ Adafruit_GFX እና Adafruit_SSD1306።የ OLED ማሳያውን ያስጀምሩ
ከዚያ የእርስዎን OLED ስፋት እና ቁመት ይገልፃሉ። በዚህ የቀድሞample, 128×64 OLED ማሳያን እየተጠቀምን ነው. ሌሎች መጠኖችን የምትጠቀም ከሆነ፣ ያንን በSCREEN_WIDTH፣ እና SCREEN_HEIGHT ተለዋዋጮች መቀየር ትችላለህ።ከዚያ የማሳያ እቃውን ቀደም ሲል በI2C የግንኙነት ፕሮቶኮል (&Wire) ከተገለጸው ስፋት እና ቁመት ጋር ያስጀምሩት።
የ(-1) መለኪያ ማለት የእርስዎ OLED ማሳያ ዳግም አስጀምር ፒን የለውም ማለት ነው። የእርስዎ OLED ማሳያ የዳግም ማስጀመሪያ ፒን ካለው፣ ከጂፒአይኦ ጋር መገናኘት አለበት። በዚህ ጊዜ የ GPIO ቁጥርን እንደ መለኪያ ማለፍ አለብዎት.
በማዋቀር () ውስጥ፣ ተከታታይ ሞኒተሩን ለማረም በ115200 ባውድ ፍጥነት ያስጀምሩት።የ OLED ማሳያውን በጅምር() ዘዴ እንደሚከተለው ያስጀምሩት።
ይህ ቅንጣቢ ከማሳያው ጋር መገናኘት ካልቻልን በሴሪያል ሞኒተር ላይ መልእክት ያትማል።
የተለየ OLED ማሳያ እየተጠቀሙ ከሆነ፣ የ OLED አድራሻውን መቀየር ሊኖርብዎ ይችላል። በእኛ ሁኔታ, አድራሻው 0x3C ነው.
ማሳያውን ካስጀመርክ በኋላ፣ ሁለት ሰከንድ መዘግየት ጨምር፣ በዚህም OLED ጽሑፍ ከመፃፍ በፊት ለመጀመር በቂ ጊዜ እንዲኖረው፡-
ማሳያን አጽዳ፣ የቅርጸ-ቁምፊ መጠንን አዘጋጅ፣ ቀለም እና ጽሑፍን ጻፍ
ማሳያውን ካስጀመርክ በኋላ የማሳያ ቋቱን በ clearDisplay() ዘዴ ያጽዱ፡-
ጽሑፍ ከመጻፍዎ በፊት የጽሑፍ መጠኑን, ቀለሙን እና ጽሑፉ በ OLED ውስጥ የት እንደሚታይ ማዘጋጀት ያስፈልግዎታል.
የ setTextSize() ዘዴን በመጠቀም የቅርጸ-ቁምፊውን መጠን ያዘጋጁ፡-የቅርጸ-ቁምፊውን ቀለም በsetTextColor() ዘዴ ያዘጋጁ፡-
WHITE ነጭ ቅርጸ-ቁምፊ እና ጥቁር ዳራ ያዘጋጃል።
የ setCursor(x,y) ዘዴን በመጠቀም ጽሁፉ የሚጀምርበትን ቦታ ይግለጹ። በዚህ አጋጣሚ ጽሑፉን በ (0,0) መጋጠሚያዎች - ከላይ በግራ ጥግ ላይ ለመጀመር እያዘጋጀን ነው.በመጨረሻም, በሚከተለው መልኩ የ println () ዘዴን በመጠቀም ጽሑፉን ወደ ማሳያው መላክ ይችላሉ
ከዚያ በስክሪኑ ላይ ያለውን ጽሑፍ በትክክል ለማሳየት የማሳያ () ዘዴን መደወል ያስፈልግዎታል።
የ Adafruit OLED ቤተ-መጽሐፍት በቀላሉ ጽሑፍን ለማሸብለል ጠቃሚ ዘዴዎችን ይሰጣል።
- startscrollright (0x00፣ 0x0F)፡ ጽሑፍ ከግራ ወደ ቀኝ ያሸብልሉ።
- startscrollleft(0x00፣ 0x0F)፡ ጽሑፍን ከቀኝ ወደ ግራ ያሸብልሉ።
- startscrolldiagright (0x00, 0x07): ጽሑፍ ከግራ ከታች ጥግ ወደ ቀኝ የላይኛው ጥግ startscrolldiagleft (0x00, 0x07): ጽሑፍ ከቀኝ ታች ጥግ ወደ ግራ የላይኛው ጥግ ሸብልል
ኮዱን ይጫኑ
አሁን፣ ኮዱን ወደ የእርስዎ ESP32 ይስቀሉ። የኮድ ማጣቀሻ ደረጃዎችን ይጫኑ።
ኮዱን ከሰቀሉ በኋላ፣ OLED የማሸብለል ጽሁፍ ያሳያል።
ሰነዶች / መርጃዎች
![]() |
LAFVIN ESP32 መሰረታዊ ማስጀመሪያ ኪት [pdf] መመሪያ መመሪያ ESP32 መሰረታዊ ማስጀመሪያ ኪት፣ ESP32፣ መሰረታዊ ማስጀመሪያ ኪት፣ ማስጀመሪያ ኪት። |