និមិត្តសញ្ញា LAFVINការចាប់ផ្តើមមូលដ្ឋាន ESP32
កញ្ចប់

បញ្ជីវេចខ្ចប់

កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បញ្ជីវេចខ្ចប់

សេចក្តីផ្តើម ESP32

ថ្មីចំពោះ ESP32? ចាប់ផ្តើមនៅទីនេះ! ESP32 គឺជាស៊េរីនៃប្រព័ន្ធតម្លៃទាប និងថាមពលទាបនៅលើ microcontrollers បន្ទះឈីប (SoC) ដែលបង្កើតឡើងដោយ Espressif ដែលរួមមាន Wi-Fi និង Bluetooth wireless សមត្ថភាព និងដំណើរការ dual-core ។ ប្រសិនបើអ្នកស្គាល់ ESP8266 នោះ ESP32 គឺជាអ្នកស្នងតំណែងរបស់វា ដែលផ្ទុកដោយមុខងារថ្មីៗជាច្រើន។LAFVIN ESP32 Basic Starter Kit - ការណែនាំ ESP32លក្ខណៈពិសេសរបស់ ESP32
ប្រសិនបើអ្នកចង់ទទួលបានបច្ចេកទេស និងជាក់លាក់ជាងនេះបន្តិច អ្នកអាចមើលលក្ខណៈលម្អិតខាងក្រោមនៃ ESP32 (ប្រភព៖ http://esp32.net/) - សម្រាប់ព័ត៌មានលម្អិត ពិនិត្យសន្លឹកទិន្នន័យ):

  • ការតភ្ជាប់ឥតខ្សែ WiFi៖ អត្រាទិន្នន័យ 150.0 Mbps ជាមួយ HT40
  • ប៊្លូធូស៖ BLE (Bluetooth Low Energy) និង Bluetooth Classic
  • ឧបករណ៍ដំណើរការ៖ Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor ដំណើរការនៅ 160 ឬ 240 MHz
  • អង្គចងចាំ៖
  • ROM: 448 KB (សម្រាប់​ការ​ចាប់ផ្ដើម និង​មុខងារ​ស្នូល)
  • SRAM៖ 520 KB (សម្រាប់ទិន្នន័យ និងការណែនាំ)
  • RTC fas SRAM: 8 KB (សម្រាប់ការផ្ទុកទិន្នន័យ និងស៊ីភីយូចម្បងអំឡុងពេល RTC Boot ពីរបៀបគេងជ្រៅ)
  • RTC SRAM យឺត៖ 8KB (សម្រាប់ការចូលដំណើរការរបស់ co-processor កំឡុងពេលដំណេកជ្រៅ) eFuse: 1 Kbit (ក្នុងនោះ 256 bits ត្រូវបានប្រើសម្រាប់ប្រព័ន្ធ (MAC address និង chip configuration) និង 768 bits ដែលនៅសល់ត្រូវបានបម្រុងទុកសម្រាប់កម្មវិធីអតិថិជន រួមទាំង Flash-Encryption និង Chip-ID)

ពន្លឺដែលបានបង្កប់៖ flash បានតភ្ជាប់ខាងក្នុងតាមរយៈ 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 chips)
  • 2 MiB (បន្ទះឈីប ESP32-D2WD)
  • 4 MiB (ម៉ូឌុល ESP32-PICO-D4 SiP)

ថាមពលទាប៖ ធានាថាអ្នកនៅតែអាចប្រើការបំប្លែង ADC ឧទាហរណ៍ample, ក្នុងអំឡុងពេលគេងជ្រៅ។
ការបញ្ចូល/ទិន្នផលគ្រឿងកុំព្យូទ័រ៖

  • ចំណុចប្រទាក់គ្រឿងកុំព្យូទ័រជាមួយ DMA ដែលរួមបញ្ចូលការប៉ះ capacitive
  • ADCs (កម្មវិធីបម្លែងអាណាឡូកទៅឌីជីថល)
  • DACs (Digital-to-Analog Converter)
  • 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 ជាឯកសារយោង។ រូបភាពខាងក្រោមបង្ហាញបន្ទះ ESP32 DEVKIT V1 កំណែដែលមានម្ជុល 30 GPIO ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ ESP32លក្ខណៈបច្ចេកទេស - ESP32 DEVKIT V1
តារាងខាងក្រោមបង្ហាញពីសេចក្តីសង្ខេបនៃលក្ខណៈពិសេស និងលក្ខណៈបច្ចេកទេសរបស់ក្តារ ESP32 DEVKIT V1 DOIT៖

ចំនួនស្នូល 2 (ស្នូលពីរ)
វ៉ាយហ្វាយ 2.4 GHz រហូតដល់ 150 Mbits/s
ប៊្លូធូស BLE (Bluetooth Low Energy) និង Bluetooth ចាស់
ស្ថាបត្យកម្ម 32 ប៊ីត
ប្រេកង់នាឡិកា រហូតដល់ 240 MHz
RAM 512 គីឡូបៃ
ម្ជុល 30 (អាស្រ័យលើគំរូ)
គ្រឿងកុំព្យូទ័រ Capacitive touch, ADC (analog to digital converter), DAC (digital to analog converter), 12C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface), 12S (Integrated Inter-IC
សំឡេង), RMII (ចំណុចប្រទាក់ប្រព័ន្ធផ្សព្វផ្សាយដែលបានកាត់បន្ថយ - ឯករាជ្យ), PWM (ម៉ូឌុលទទឹងជីពចរ) និងច្រើនទៀត។
ប៊ូតុងដែលភ្ជាប់មកជាមួយ RESET និង BOOT ប៊ូតុង
អំពូល LED ដែលភ្ជាប់មកជាមួយ LED ពណ៌ខៀវភ្ជាប់មកជាមួយ GPIO2; ភ្លើង LED ពណ៌ក្រហមដែលភ្ជាប់មកជាមួយដែលបង្ហាញថាបន្ទះកំពុងត្រូវបានថាមពល
យូអេសប៊ីទៅ UART
ស្ពាន
CP2102

កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ESP32 DEVKITវាភ្ជាប់មកជាមួយចំណុចប្រទាក់ microUSB ដែលអ្នកអាចប្រើដើម្បីភ្ជាប់បន្ទះទៅនឹងកុំព្យូទ័ររបស់អ្នកដើម្បីបង្ហោះកូដ ឬប្រើប្រាស់ថាមពល។
វាប្រើបន្ទះឈីប CP2102 (USB ទៅ UART) ដើម្បីទំនាក់ទំនងជាមួយកុំព្យូទ័ររបស់អ្នកតាមរយៈច្រក COM ដោយប្រើចំណុចប្រទាក់សៀរៀល។ បន្ទះឈីបដ៏ពេញនិយមមួយទៀតគឺ CH340 ។ ពិនិត្យមើលអ្វីដែលជាឧបករណ៍បំប្លែងបន្ទះឈីប USB ទៅ UART នៅលើក្តាររបស់អ្នក ពីព្រោះអ្នកនឹងត្រូវដំឡើងកម្មវិធីបញ្ជាដែលត្រូវការដើម្បីឱ្យកុំព្យូទ័ររបស់អ្នកអាចទាក់ទងជាមួយក្តារ (ព័ត៌មានបន្ថែមអំពីវានៅពេលក្រោយនៅក្នុងការណែនាំនេះ)។
បន្ទះនេះក៏ភ្ជាប់មកជាមួយប៊ូតុង RESET (អាចត្រូវបានដាក់ស្លាកថា EN) ដើម្បីចាប់ផ្តើមក្តារឡើងវិញ និងប៊ូតុង BOOT ដើម្បីដាក់ក្តារនៅក្នុងរបៀបពន្លឺ (អាចទទួលបានកូដ)។ ចំណាំថាក្តារខ្លះប្រហែលជាមិនមានប៊ូតុង BOOT ទេ។
វាក៏ភ្ជាប់មកជាមួយអំពូល LED ពណ៌ខៀវដែលភ្ជាប់មកជាមួយខាងក្នុងជាមួយ GPIO 2។ LED នេះមានប្រយោជន៍សម្រាប់ការកែកំហុស ដើម្បីផ្តល់នូវលទ្ធផលជាក់ស្តែងដែលមើលឃើញមួយចំនួន។ វាក៏មាន LED ពណ៌ក្រហមដែលបំភ្លឺនៅពេលអ្នកផ្តល់ថាមពលដល់ក្តារ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 -boardESP32 Pinout
គ្រឿងកុំព្យូទ័រ ESP32 រួមមាន:

  • 18 ឆានែលកម្មវិធីបម្លែងអាណាឡូកទៅឌីជីថល (ADC)
  • 3 ចំណុចប្រទាក់ SPI
  • 3 ចំណុចប្រទាក់ UART
  • 2 ចំណុចប្រទាក់ I2C
  • 16 ប៉ុស្តិ៍ទិន្នផល PWM
  • 2 ឧបករណ៍បំប្លែងឌីជីថលទៅអាណាឡូក (DAC)
  • 2 ចំណុចប្រទាក់ I2S
  • GPIOs ចាប់សញ្ញាសមត្ថភាព 10

លក្ខណៈពិសេស ADC (អាណាឡូកទៅឌីជីថល) និង DAC (ឌីជីថលទៅកម្មវិធីបម្លែងអាណាឡូក) ត្រូវបានកំណត់ទៅម្ជុលឋិតិវន្តជាក់លាក់។ ទោះយ៉ាងណាក៏ដោយ អ្នកអាចសម្រេចចិត្តថាតើម្ជុលណាជា UART, I2C, SPI, PWM ជាដើម។ នេះអាចទៅរួចដោយសារតែលក្ខណៈពិសេសរបស់បន្ទះឈីប ESP32 ។
ទោះបីជាអ្នកអាចកំណត់លក្ខណៈសម្បត្តិ pins នៅលើកម្មវិធីក៏ដោយ វាមាន pins ដែលត្រូវបានកំណត់តាមលំនាំដើមដូចដែលបានបង្ហាញក្នុងរូបខាងក្រោមកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ESP32 Pinoutលើសពីនេះទៀត មានម្ជុលដែលមានលក្ខណៈពិសេសជាក់លាក់ ដែលធ្វើឲ្យពួកវាសមស្រប ឬមិនសម្រាប់គម្រោងជាក់លាក់មួយ។ តារាងខាងក្រោមបង្ហាញពីម្ជុលណាដែលល្អបំផុតដើម្បីប្រើជាធាតុបញ្ចូល ទិន្នផល និងមួយណាដែលអ្នកត្រូវប្រុងប្រយ័ត្ន។
ម្ជុលដែលបន្លិចជាពណ៌បៃតងគឺយល់ព្រមក្នុងការប្រើប្រាស់។ របស់ដែលបន្លិចជាពណ៌លឿងគឺអាចប្រើបាន ប៉ុន្តែអ្នកត្រូវយកចិត្តទុកដាក់ ព្រោះវាអាចមានអាកប្បកិរិយាដែលមិននឹកស្មានដល់ជាចម្បងនៅពេលចាប់ផ្ដើម។ ម្ជុលដែលបន្លិចជាពណ៌ក្រហម មិនត្រូវបានណែនាំឱ្យប្រើជាធាតុបញ្ចូល ឬលទ្ធផលនោះទេ។

GP IO បញ្ចូល ទិន្នផល កំណត់ចំណាំ
0 ទាញឡើង OK បញ្ចេញសញ្ញា PWM នៅពេលចាប់ផ្ដើម ត្រូវតែទាប ដើម្បីចូលទៅក្នុងរបៀបបញ្ចេញពន្លឺ
1 ម្ជុល TX OK បំបាត់កំហុសនៅពេលចាប់ផ្ដើម
2 OK OK ភ្ជាប់ទៅ LED នៅលើយន្តហោះ ត្រូវតែទុកឱ្យអណ្តែត ឬទាប ដើម្បីចូលទៅក្នុងរបៀបពន្លឺ
3 OK ម្ជុល RX ខ្ពស់នៅពេលចាប់ផ្ដើម
4 OK OK
5 OK OK បញ្ចេញសញ្ញា PWM នៅពេលចាប់ផ្ដើម ម្ជុលខ្សែ
12 OK OK ការ​ចាប់ផ្ដើម​មិន​អាច​ដំណើរការ​បាន​ទេ​ប្រសិន​បើ​ទាញ​ឡើង​ខ្ពស់​
13 OK OK
14 OK OK បញ្ចេញសញ្ញា PWM នៅពេលចាប់ផ្ដើម
15 OK OK បញ្ចេញសញ្ញា PWM នៅពេលចាប់ផ្ដើម ម្ជុលខ្សែ
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK បញ្ចូលតែប៉ុណ្ណោះ
35 OK បញ្ចូលតែប៉ុណ្ណោះ
36 OK បញ្ចូលតែប៉ុណ្ណោះ
39 OK បញ្ចូលតែប៉ុណ្ណោះ

បន្តអានសម្រាប់ព័ត៌មានលម្អិត និងការវិភាគស៊ីជម្រៅនៃ ESP32 GPIOs និងមុខងាររបស់វា។
បញ្ចូលតែម្ជុលប៉ុណ្ណោះ។
GPIOs 34 ទៅ 39 គឺជា GPIs - បញ្ចូលតែម្ជុលប៉ុណ្ណោះ។ ម្ជុលទាំងនេះមិនមានប្រដាប់ទប់ទាញឡើងលើ ឬទាញចុះក្រោមទេ។ ពួកវាមិនអាចប្រើជាលទ្ធផលបានទេ ដូច្នេះសូមប្រើម្ជុលទាំងនេះគ្រាន់តែជាធាតុបញ្ចូលប៉ុណ្ណោះ៖

  • GPIO ១០
  • GPIO ១០
  • GPIO ១០
  • GPIO ១០

SPI flash រួមបញ្ចូលនៅលើ ESP-WROOM-32
GPIO 6 ទៅ GPIO 11 ត្រូវបានលាតត្រដាងនៅក្នុងក្រុមប្រឹក្សាអភិវឌ្ឍន៍ ESP32 មួយចំនួន។ ទោះជាយ៉ាងណាក៏ដោយ ម្ជុលទាំងនេះត្រូវបានភ្ជាប់ជាមួយ SPI flash ដែលរួមបញ្ចូលគ្នានៅលើបន្ទះឈីប ESP-WROOM-32 ហើយមិនត្រូវបានណែនាំសម្រាប់ការប្រើប្រាស់ផ្សេងទៀតទេ។ ដូច្នេះ កុំប្រើម្ជុលទាំងនេះក្នុងគម្រោងរបស់អ្នក៖

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

Capacitive touch GPIOs
ESP32 មាន ​​10 capacitive touch sensors ខាងក្នុង។ ទាំងនេះអាចដឹងពីការប្រែប្រួលនៃអ្វីៗដែលផ្ទុកបន្ទុកអគ្គីសនី ដូចជាស្បែកមនុស្សជាដើម។ ដូច្នេះពួកគេអាចរកឃើញការប្រែប្រួលដែលបង្កឡើងនៅពេលប៉ះ GPIOs ដោយប្រើម្រាមដៃ។ ម្ជុលទាំងនេះអាចត្រូវបានរួមបញ្ចូលយ៉ាងងាយស្រួលទៅក្នុងបន្ទះ capacitive និងជំនួសប៊ូតុងមេកានិច។ ម្ជុលប៉ះ capacitive ក៏អាចត្រូវបានប្រើដើម្បីដាស់ ESP32 ពីការគេងជ្រៅផងដែរ។ ឧបករណ៍ចាប់សញ្ញាប៉ះខាងក្នុងទាំងនោះត្រូវបានភ្ជាប់ទៅ GPIOs ទាំងនេះ៖

  • 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)

អាណាឡូកទៅកម្មវិធីបំលែងឌីជីថល (អេឌីស៊ី)
ESP32 មាន ​​18 x 12 bits ADC input channels (ខណៈពេលដែល ESP8266 មានតែ 1x 10 bits ADC)។ ទាំងនេះគឺជា GPIOs ដែលអាចត្រូវបានប្រើជា ADC និងបណ្តាញរៀងៗខ្លួន៖

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

ចំណាំ៖ ម្ជុល ADC2 មិនអាចប្រើបានទេ នៅពេលប្រើ Wi-Fi ។ ដូច្នេះ ប្រសិនបើអ្នកកំពុងប្រើ Wi-Fi ហើយអ្នកមានបញ្ហាក្នុងការទទួលបានតម្លៃពី ADC2 GPIO អ្នកអាចពិចារណាប្រើ ADC1 GPIO ជំនួសវិញ។ នោះគួរតែដោះស្រាយបញ្ហារបស់អ្នក។
ឆានែលបញ្ចូល ADC មានគុណភាពបង្ហាញ 12 ប៊ីត។ នេះមានន័យថាអ្នកអាចទទួលបានការអានអាណាឡូកចាប់ពី 0 ដល់ 4095 ដែលក្នុងនោះ 0 ត្រូវនឹង 0V និង 4095 ដល់ 3.3V ។ អ្នកក៏អាចកំណត់កម្រិតច្បាស់នៃប៉ុស្តិ៍របស់អ្នកនៅលើកូដ និងជួរ ADC ផងដែរ។
ម្ជុល ESP32 ADC មិនមានឥរិយាបថលីនេអ៊ែរទេ។ អ្នកប្រហែលជាមិនអាចបែងចែករវាង 0 និង 0.1V ឬរវាង 3.2 និង 3.3V បានទេ។ អ្នកត្រូវចងចាំវានៅពេលប្រើម្ជុល ADC ។ អ្នក​នឹង​ទទួល​បាន​អាកប្បកិរិយា​ស្រដៀង​នឹង​ការ​បង្ហាញ​ក្នុង​រូប​ខាង​ក្រោម។ឧបករណ៍ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - អាកប្បកិរិយាកម្មវិធីបម្លែងឌីជីថលទៅជាអាណាឡូក (DAC)
មានឆានែល DAC 2 x 8 ប៊ីតនៅលើ ESP32 ដើម្បីបំប្លែងសញ្ញាឌីជីថលទៅជា analog voltage លទ្ធផលសញ្ញា។ ទាំងនេះគឺជាបណ្តាញ DAC៖

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIOs
មានការគាំទ្រ RTC GPIO នៅលើ ESP32 ។ GPIOs ដែលបញ្ជូនទៅកាន់ប្រព័ន្ធរងថាមពលទាប RTC អាចត្រូវបានប្រើនៅពេលដែល ESP32 ស្ថិតនៅក្នុងការគេងជ្រៅ។ RTC GPIOs ទាំងនេះអាចត្រូវបានប្រើដើម្បីដាស់ 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 មានបណ្តាញឯករាជ្យចំនួន 16 ដែលអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីបង្កើតសញ្ញា PWM ដែលមានលក្ខណៈសម្បត្តិខុសៗគ្នា។ ម្ជុលទាំងអស់ដែលអាចដើរតួជាលទ្ធផលអាចត្រូវបានប្រើជាម្ជុល PWM (GPIOs 34 ទៅ 39 មិនអាចបង្កើត PWM) ។
ដើម្បីកំណត់សញ្ញា PWM អ្នកត្រូវកំណត់ប៉ារ៉ាម៉ែត្រទាំងនេះនៅក្នុងកូដ៖

  • ប្រេកង់សញ្ញា;
  • វដ្តកាតព្វកិច្ច;
  • ឆានែល PWM;
  • GPIO ដែលអ្នកចង់បញ្ចេញសញ្ញា។

I2C
ESP32 មានឆានែល I2C ពីរ ហើយម្ជុលណាមួយអាចត្រូវបានកំណត់ជា SDA ឬ SCL ។ នៅពេលប្រើ ESP32 ជាមួយ Arduino IDE ម្ជុល I2C លំនាំដើមគឺ៖

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

ប្រសិនបើអ្នកចង់ប្រើម្ជុលផ្សេងទៀតនៅពេលប្រើបណ្ណាល័យខ្សែ អ្នកគ្រាន់តែត្រូវហៅទូរសព្ទទៅ៖
Wire.begin(SDA, SCL);
SPI
តាមលំនាំដើម ផែនទីម្ជុលសម្រាប់ SPI គឺ៖

SPI ម៉ូសូអាយ មីស៊ីអូ CLK CS
VSPI GPIO ១០ GPIO ១០ GPIO ១០ GPIO ១០
HSPI GPIO ១០ GPIO ១០ GPIO ១០ GPIO ១០

ការរំខាន
GPIO ទាំងអស់អាចត្រូវបានកំណត់រចនាសម្ព័ន្ធជាការរំខាន។
ម្ជុលដេរប៉ាក់
បន្ទះឈីប ESP32 មានខ្សែភ្ជាប់ដូចខាងក្រោមៈ

  • GPIO 0 (ត្រូវតែទាបដើម្បីចូលរបៀបចាប់ផ្ដើម)
  • GPIO 2 (ត្រូវតែអណ្តែត ឬទាបអំឡុងពេលចាប់ផ្ដើម)
  • GPIO ១០
  • GPIO 5 (ត្រូវតែខ្ពស់អំឡុងពេលចាប់ផ្ដើម)
  • GPIO 12 (ត្រូវតែទាបកំឡុងពេលចាប់ផ្ដើម)
  • GPIO 15 (ត្រូវតែខ្ពស់អំឡុងពេលចាប់ផ្ដើម)

ទាំងនេះត្រូវបានប្រើដើម្បីដាក់ ESP32 ចូលទៅក្នុងកម្មវិធីចាប់ផ្ដើមប្រព័ន្ធ ឬរបៀបបញ្ចេញពន្លឺ។ នៅលើបន្ទះអភិវឌ្ឍន៍ភាគច្រើនដែលមានភ្ជាប់មកជាមួយ USB/Serial អ្នកមិនចាំបាច់ព្រួយបារម្ភអំពីស្ថានភាពនៃម្ជុលទាំងនេះទេ។ បន្ទះដាក់ម្ជុលក្នុងស្ថានភាពត្រឹមត្រូវសម្រាប់ការបើកពន្លឺ ឬរបៀបចាប់ផ្ដើម។ ព័ត៌មានបន្ថែមអំពីការជ្រើសរើសរបៀបចាប់ផ្ដើម ESP32 អាចរកបាននៅទីនេះ។
ទោះជាយ៉ាងណាក៏ដោយ ប្រសិនបើអ្នកមានឧបករណ៍ភ្ជាប់ជាមួយម្ជុលទាំងនោះ អ្នកប្រហែលជាមានបញ្ហាក្នុងការព្យាយាមបង្ហោះកូដថ្មី បញ្ចេញ ESP32 ជាមួយនឹងកម្មវិធីបង្កប់ថ្មី ឬកំណត់បន្ទះឡើងវិញ។ ប្រសិនបើអ្នកមានគ្រឿងកុំព្យូទ័រមួយចំនួនដែលភ្ជាប់ជាមួយនឹងខ្សែរភ្ជាប់ ហើយអ្នកកំពុងមានបញ្ហាក្នុងការបង្ហោះកូដ ឬបញ្ចេញពន្លឺ ESP32 វាប្រហែលជាដោយសារតែគ្រឿងកុំព្យូទ័រទាំងនោះរារាំង ESP32 ពីការចូលទៅក្នុងរបៀបត្រឹមត្រូវ។ អានឯកសារជ្រើសរើសរបៀបចាប់ផ្ដើម ដើម្បីណែនាំអ្នកក្នុងទិសដៅត្រឹមត្រូវ។ បន្ទាប់ពីការកំណត់ឡើងវិញ ពន្លឺ ឬចាប់ផ្ដើម ម្ជុលទាំងនោះដំណើរការដូចការរំពឹងទុក។
កំណត់ HIGH នៅ Boot
GPIOs មួយចំនួនផ្លាស់ប្តូរស្ថានភាពរបស់ពួកគេទៅជា HIGH ឬបញ្ចេញសញ្ញា PWM នៅពេលចាប់ផ្ដើម ឬកំណត់ឡើងវិញ។
នេះមានន័យថាប្រសិនបើអ្នកមានលទ្ធផលភ្ជាប់ទៅ GPIOs ទាំងនេះ អ្នកអាចទទួលបានលទ្ធផលដែលមិនរំពឹងទុកនៅពេលដែល ESP32 កំណត់ឡើងវិញ ឬចាប់ផ្ដើម។

  • GPIO ១០
  • GPIO ១០
  • GPIO ១០
  • GPIO 6 ទៅ GPIO 11 (បានភ្ជាប់ទៅអង្គចងចាំពន្លឺ SPI រួមបញ្ចូលគ្នា ESP32 – មិនត្រូវបានណែនាំអោយប្រើទេ)។
  • GPIO ១០
  • GPIO ១០

បើក (EN)
បើក (EN) គឺជាម្ជុលបើករបស់និយតករ 3.3V ។ វាត្រូវបានទាញឡើង ដូច្នេះភ្ជាប់ទៅដីដើម្បីបិទនិយតករ 3.3V ។ នេះមានន័យថាអ្នកអាចប្រើម្ជុលនេះភ្ជាប់ទៅនឹងប៊ូតុងរុញដើម្បីចាប់ផ្តើម ESP32 របស់អ្នកឡើងវិញ ឧទាហរណ៍ampលេ
GPIO គូរបច្ចុប្បន្ន
ចរន្តអតិបរិមាដែលត្រូវបានទាញក្នុងមួយ GPIO គឺ 40mA យោងតាមផ្នែក "លក្ខខណ្ឌប្រតិបត្តិការដែលបានណែនាំ" នៅក្នុងឯកសារទិន្នន័យ ESP32 ។
ឧបករណ៍ចាប់សញ្ញាបែបផែន Hall ភ្ជាប់មកជាមួយ ESP32
ESP32 ក៏មានបំពាក់នូវឧបករណ៍ចាប់សញ្ញាបែបផែនសាលដែលភ្ជាប់មកជាមួយដែលរកឃើញការផ្លាស់ប្តូរនៅក្នុងដែនម៉ាញេទិកជុំវិញរបស់វា។
ESP32 Arduino IDE
មានកម្មវិធីបន្ថែមសម្រាប់ Arduino IDE ដែលអនុញ្ញាតឱ្យអ្នកសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE និងភាសាសរសេរកម្មវិធីរបស់វា។ នៅក្នុងមេរៀននេះ យើងនឹងបង្ហាញអ្នកពីរបៀបដំឡើងបន្ទះ ESP32 នៅក្នុង Arduino IDE មិនថាអ្នកកំពុងប្រើ Windows, Mac OS X ឬ Linux ទេ។
តម្រូវការជាមុន៖ 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 ដើម្បីស្វែងរកវា។
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
ដើម្បីដំឡើងបន្ទះ ESP32 នៅក្នុង Arduino IDE របស់អ្នក សូមធ្វើតាមការណែនាំបន្ទាប់ទាំងនេះ៖

  1. នៅក្នុង Arduino IDE របស់អ្នក សូមចូលទៅកាន់ File> ចំណូលចិត្តកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ចំណូលចិត្ត
  2. បញ្ចូលដូចខាងក្រោមទៅក្នុង "អ្នកគ្រប់គ្រងក្រុមប្រឹក្សាបន្ថែម URLs" វាល៖

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
បន្ទាប់មកចុចប៊ូតុង "យល់ព្រម"៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ប៊ូតុង "យល់ព្រម"ចំណាំ៖ ប្រសិនបើអ្នកមានក្តារ ESP8266 រួចហើយ URLអ្នកអាចបំបែក URLs ជាមួយសញ្ញាក្បៀសដូចខាងក្រោម៖
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
បើកកម្មវិធីគ្រប់គ្រងក្តារ។ ចូលទៅកាន់ Tools > Board > Boards Manager...កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - Espressifស្វែងរក ESP32 and press install button for the “ESP32 by Espressif Systems“:កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - Espressifនោះហើយជាវា។ វាគួរតែត្រូវបានដំឡើងបន្ទាប់ពីពីរបីវិនាទី។LAFVIN ESP32 Basic Starter Kit - បានដំឡើង

បង្ហោះកូដសាកល្បង

ដោតបន្ទះ ESP32 ទៅកុំព្យូទ័ររបស់អ្នក។ ជាមួយនឹងការបើក Arduino IDE របស់អ្នក សូមអនុវត្តតាមជំហានទាំងនេះ៖

  1. ជ្រើសរើសក្រុមប្រឹក្សាភិបាលរបស់អ្នកនៅក្នុង ឧបករណ៍> ម៉ឺនុយក្តារ (ក្នុងករណីរបស់ខ្ញុំ វាជាម៉ូឌុល ESP32 DEV)កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បន្ទះឧបករណ៍
  2. ជ្រើសរើសច្រក (ប្រសិនបើអ្នកមិនឃើញច្រក COM នៅក្នុង Arduino IDE របស់អ្នកទេ អ្នកត្រូវដំឡើង CP210x USB to UART Bridge VCP Drivers):កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ស្ពាន UART
  3. បើក ex ខាងក្រោមampឡេក្រោម File > ឧamples > វ៉ាយហ្វាយ
    (ESP32) > WiFi Scanកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - WiFiScanកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - WiFiScan 1
  4. គំនូរព្រាងថ្មីបើកនៅក្នុង Arduino IDE របស់អ្នក៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - Arduino IDE
  5. ចុចប៊ូតុងផ្ទុកឡើងនៅក្នុង Arduino IDE ។ រង់ចាំពីរបីវិនាទី ខណៈពេលដែលលេខកូដចងក្រង និងផ្ទុកឡើងទៅកាន់ក្តាររបស់អ្នក។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ក្តារ
  6. ប្រសិនបើអ្វីៗដំណើរការដូចការរំពឹងទុក អ្នកគួរតែឃើញ "ការបង្ហោះរួចរាល់"។ សារ។LAFVIN ESP32 Basic Starter Kit - បានបញ្ចប់ការបង្ហោះ
  7. បើក Arduino IDE Serial Monitor ក្នុងអត្រា baud នៃ 115200៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ម៉ូនីទ័រ
  8. ចុចប៊ូតុងបើកដំណើរការ ESP32 នៅលើយន្តហោះ ហើយអ្នកគួរតែឃើញបណ្តាញដែលនៅជិត ESP32 របស់អ្នក៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បើកប៊ូតុង

ការដោះស្រាយបញ្ហា

ប្រសិនបើអ្នកព្យាយាមបង្ហោះរូបព្រាងថ្មីទៅ ESP32 របស់អ្នក ហើយអ្នកទទួលបានសារកំហុសនេះ “កំហុសធ្ងន់ធ្ងរបានកើតឡើង៖ បរាជ័យក្នុងការតភ្ជាប់ទៅ ESP32៖ អស់ពេល… តភ្ជាប់…”។ វាមានន័យថា ESP32 របស់អ្នកមិនស្ថិតនៅក្នុងរបៀប flashing/uploading។
ដោយមានឈ្មោះក្រុមប្រឹក្សាភិបាលត្រឹមត្រូវ និង COM por ដែលបានជ្រើសរើស សូមអនុវត្តតាមជំហានទាំងនេះ៖
សង្កត់ប៊ូតុង "BOOT" នៅក្នុងបន្ទះ ESP32 របស់អ្នក។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - "BOOT"

  • ចុចប៊ូតុង "អាប់ឡូត" នៅក្នុង Arduino IDE ដើម្បីបង្ហោះរូបគំនូរព្រាងរបស់អ្នក៖LAFVIN ESP32 Basic Starter Kit - ICON 6
  • បន្ទាប់ពីអ្នកឃើញ "ការតភ្ជាប់ ... " ។ សារនៅក្នុង Arduino IDE របស់អ្នក លែងម្រាមដៃចេញពីប៊ូតុង “BOOT”៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - "ការបង្ហោះរួចរាល់
  • បន្ទាប់ពីនោះ អ្នកគួរតែឃើញសារ "ការបង្ហោះរួចរាល់"
    នោះហើយជាវា។ ESP32 របស់អ្នកគួរតែមានការគូសវាសថ្មីដែលកំពុងដំណើរការ។ ចុចប៊ូតុង "ENABLE" ដើម្បីចាប់ផ្តើម ESP32 ឡើងវិញ ហើយដំណើរការគំនូរព្រាងដែលបានបង្ហោះថ្មី។
    អ្នក​ក៏​នឹង​ត្រូវ​ធ្វើ​តាម​លំដាប់​ប៊ូតុង​នោះ​ឡើងវិញ​រាល់​ពេល​ដែល​អ្នក​ចង់​បង្ហោះ​រូប​ព្រាង​ថ្មី។

គម្រោង 1 ESP32 បញ្ចូលលទ្ធផល

នៅក្នុងមគ្គុទ្ទេសក៍ចាប់ផ្តើមនេះ អ្នកនឹងរៀនពីរបៀបអានការបញ្ចូលឌីជីថលដូចជាប៊ូតុងបិទបើក និងគ្រប់គ្រងលទ្ធផលឌីជីថលដូចជា LED ដោយប្រើ ESP32 ជាមួយ Arduino IDE។
តម្រូវការជាមុន
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ។ ដូច្នេះ ត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែមក្តារ ESP32 មុនពេលបន្ត៖

  • ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE

ESP32 គ្រប់គ្រងលទ្ធផលឌីជីថល
ដំបូងអ្នកត្រូវកំណត់ GPIO ដែលអ្នកចង់គ្រប់គ្រងជា OUTPUT ។ ប្រើមុខងារ pinMode() ដូចខាងក្រោម៖
pinMode(GPIO, OUTPUT);
ដើម្បីគ្រប់គ្រងលទ្ធផលឌីជីថល អ្នកគ្រាន់តែត្រូវប្រើមុខងារ digitalWrite() ដែលទទួលយកជាអាគុយម៉ង់ GPIO (លេខ int) ដែលអ្នកកំពុងយោង និងរដ្ឋ ទាំង HIGH ឬ LOW ។
digitalWrite(GPIO, រដ្ឋ);
GPIOs ទាំងអស់អាចត្រូវបានប្រើជាលទ្ធផល លើកលែងតែ GPIOs 6 ដល់ 11 (បានភ្ជាប់ទៅ SPI flash ដែលរួមបញ្ចូល) និង GPIOs 34, 35, 36 និង 39 (បញ្ចូលតែ GPIOs ប៉ុណ្ណោះ);
ស្វែងយល់បន្ថែមអំពី ESP32 GPIOs: ESP32 GPIO Reference Guide
ESP32 អានការបញ្ចូលឌីជីថល
ដំបូងកំណត់ GPIO ដែលអ្នកចង់អានជា INPUT ដោយប្រើមុខងារ pinMode() ដូចខាងក្រោម៖
pinMode(GPIO, បញ្ចូល);
ដើម្បីអានការបញ្ចូលឌីជីថល ដូចជាប៊ូតុងមួយ អ្នកប្រើមុខងារ digitalRead() ដែលទទួលយកជាអាគុយម៉ង់ GPIO (លេខ int) ដែលអ្នកកំពុងយោង។
digitalRead (GPIO);
ESP32 GPIOs ទាំងអស់អាចត្រូវបានប្រើជាធាតុបញ្ចូល លើកលែងតែ GPIOs 6 ដល់ 11 (បានភ្ជាប់ទៅ SPI flash ដែលរួមបញ្ចូល)។
ស្វែងយល់បន្ថែមអំពី ESP32 GPIOs: ESP32 GPIO Reference Guide
គម្រោង Example
ដើម្បីបង្ហាញអ្នកពីរបៀបប្រើធាតុបញ្ចូលឌីជីថល និងលទ្ធផលឌីជីថល យើងនឹងបង្កើតគម្រោងដ៏សាមញ្ញមួយ។ample ជាមួយនឹងប៊ូតុងរុញ និង LED ។ យើង​នឹង​អាន​ស្ថានភាព​នៃ​ប៊ូតុង​រុញ ហើយ​បំភ្លឺ​ LED តាម​ការ​បង្ហាញ​ក្នុង​រូប​ខាងក្រោម។LAFVIN ESP32 Basic Starter Kit - Project Example

ផ្នែកដែលត្រូវការ
នេះគឺជាបញ្ជីនៃផ្នែកដែលអ្នកត្រូវការដើម្បីបង្កើតសៀគ្វី៖

  • ESP32 DEVKIT V1
  • LED 5 ម។
  • ឧបករណ៍ទប់ទល់ 220 Ohm
  • ចុច​ប៊ូតុង
  • ឧបករណ៍ទប់ទល់ 10k Ohm
  • ក្តារនំប៉័ង
  • ខ្សែភ្លើងលោត

ដ្យាក្រាមគ្រោងការណ៍
មុនពេលដំណើរការអ្នកត្រូវប្រមូលផ្តុំសៀគ្វីជាមួយ LED និងប៊ូតុងរុញ។
យើងនឹងភ្ជាប់ LED ទៅ GPIO 5 និងប៊ូតុងរុញទៅ GPIO 4.កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ដ្យាក្រាមគ្រោងការណ៍កូដ
បើកកូដ Project_1_ESP32_Inputs_Outputs.ino ក្នុង arduino IDEកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 1របៀបដែលកូដដំណើរការ
ក្នុង​បន្ទាត់​ពីរ​ខាង​ក្រោម អ្នក​បង្កើត​អថេរ​ដើម្បី​កំណត់​ម្ជុល៖

កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ដំណើរការកូដប៊ូតុងត្រូវបានភ្ជាប់ទៅ GPIO 4 ហើយ LED ត្រូវបានភ្ជាប់ទៅ GPIO 5. នៅពេលប្រើ Arduino IDE ជាមួយ ESP32, 4 ត្រូវគ្នានឹង GPIO 4 និង 5 ត្រូវនឹង GPIO 5 ។
បន្ទាប់មក អ្នកបង្កើតអថេរមួយ ដើម្បីរក្សាស្ថានភាពប៊ូតុង។ តាមលំនាំដើម វាជា 0 (មិនចុច)។
int buttonState = 0;
នៅក្នុងការដំឡើង () អ្នកចាប់ផ្តើមប៊ូតុងជា INPUT ហើយ LED ជា OUTPUT ។
សម្រាប់នោះ អ្នកប្រើមុខងារ pinMode() ដែលទទួលយក pin ដែលអ្នកកំពុងសំដៅលើ ហើយរបៀប៖ បញ្ចូល ឬ OUTPUT ។
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
នៅក្នុង loop() គឺជាកន្លែងដែលអ្នកអានស្ថានភាពប៊ូតុង ហើយកំណត់ LED តាមនោះ។
នៅក្នុងបន្ទាត់បន្ទាប់ អ្នកអានស្ថានភាពប៊ូតុង ហើយរក្សាទុកវានៅក្នុងអថេរ buttonState ។
ដូចដែលយើងបានឃើញពីមុន អ្នកប្រើមុខងារ digitalRead()។
buttonState = digitalRead(buttonPin);
ប្រសិនបើសេចក្តីថ្លែងការណ៍ខាងក្រោម ពិនិត្យមើលថាតើស្ថានភាពប៊ូតុងគឺខ្ពស់ឬអត់។ ប្រសិនបើវាគឺ វានឹងបើក LED ដោយប្រើមុខងារ digitalWrite() ដែលទទួលយកជាអាគុយម៉ង់ ledPin និងរដ្ឋ HIGH ។
ប្រសិនបើ (buttonState == ខ្ពស់)LAFVIN ESP32 Basic Starter Kit - Code Works 1ប្រសិនបើស្ថានភាពប៊ូតុងមិនខ្ពស់ អ្នកបិទ LED ។ គ្រាន់តែកំណត់ LOW ជាអាគុយម៉ង់ទីពីរក្នុងមុខងារ digitalWrite()។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - digitalWriteការបង្ហោះកូដ
មុន​នឹង​ចុច​ប៊ូតុង​ផ្ទុក​ឡើង សូម​ចូល​ទៅ​កាន់ ឧបករណ៍ > Board ហើយ​ជ្រើស​រើស​ក្ដារ៖ DOIT ESP32 DEVKIT V1 board។
ចូលទៅកាន់ ឧបករណ៍ > ច្រក ហើយជ្រើសរើសច្រក COM ដែល ESP32 ត្រូវបានភ្ជាប់។ បន្ទាប់មក ចុចប៊ូតុងអាប់ឡូត ហើយរង់ចាំសារ "ការបង្ហោះរួចរាល់"។LAFVIN ESP32 Basic Starter Kit - ICON 7ចំណាំ៖ ប្រសិនបើអ្នកឃើញចំណុចជាច្រើន (តភ្ជាប់… __…__) នៅលើបង្អួចបំបាត់កំហុស ហើយសារ “បរាជ័យក្នុងការតភ្ជាប់ទៅ ESP32៖ អស់ពេលរង់ចាំសម្រាប់បឋមកថាកញ្ចប់ព័ត៌មាន” នោះមានន័យថាអ្នកត្រូវចុចប៊ូតុង BOOT នៅលើក្តារ ESP32 បន្ទាប់ពីចំនុច។
ចាប់ផ្តើមលេចឡើង។ ការដោះស្រាយបញ្ហា

បាតុកម្ម

បន្ទាប់​ពី​ផ្ទុក​ឡើង​កូដ សូម​សាកល្បង​សៀគ្វី​របស់​អ្នក។ LED របស់អ្នកគួរតែភ្លឺនៅពេលអ្នកចុចប៊ូតុង៖LAFVIN ESP32 Basic Starter Kit - ការបង្ហាញហើយបិទនៅពេលអ្នកបញ្ចេញវា៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - វេននៃ

គម្រោង 2 ESP32 បញ្ចូលអាណាឡូក

គម្រោងនេះបង្ហាញពីរបៀបអានការបញ្ចូលអាណាឡូកជាមួយ ESP32 ដោយប្រើ Arduino IDE ។
ការអានអាណាឡូកមានប្រយោជន៍ក្នុងការអានតម្លៃពីឧបករណ៍ទប់ទល់អថេរដូចជា potentiometers ឬឧបករណ៍ចាប់សញ្ញាអាណាឡូក។
ការបញ្ចូលអាណាឡូក (ADC)
ការអានតម្លៃអាណាឡូកជាមួយ ESP32 មានន័យថាអ្នកអាចវាស់វ៉ុលខុសៗគ្នាtage កម្រិតរវាង 0 V និង 3.3 V ។
វ៉ុលtage បានវាស់វែងបន្ទាប់មកត្រូវបានកំណត់ទៅតម្លៃរវាង 0 និង 4095 ដែល 0 V ត្រូវគ្នានឹង 0 និង 3.3 V ត្រូវគ្នានឹង 4095 ។ វ៉ុលណាមួយtage រវាង 0 V និង 3.3 V នឹងត្រូវបានផ្តល់តម្លៃដែលត្រូវគ្នានៅចន្លោះ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ការបញ្ចូលអាណាឡូកADC គឺមិនមែនលីនេអ៊ែរ
តាមឧត្ដមគតិអ្នកនឹងរំពឹងថានឹងមានឥរិយាបទលីនេអ៊ែរនៅពេលប្រើម្ជុល ESP32 ADC ។
ទោះយ៉ាងណាក៏ដោយវាមិនកើតឡើងទេ។ អ្វីដែលអ្នកនឹងទទួលបានគឺអាកប្បកិរិយាដូចបានបង្ហាញក្នុងតារាងខាងក្រោម៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - មិនមែនជាលីនេអ៊ែរឥរិយាបថនេះមានន័យថា ESP32 របស់អ្នកមិនអាចបែងចែក 3.3 V ពី 3.2 V បានទេ។
អ្នកនឹងទទួលបានតម្លៃដូចគ្នាសម្រាប់វ៉ុលទាំងពីរtages: 4095 ។
ដូចគ្នានេះដែរកើតឡើងសម្រាប់វ៉ុលទាបបំផុត។tagតម្លៃ e៖ សម្រាប់ 0 V និង 0.1 V អ្នកនឹងទទួលបានតម្លៃដូចគ្នា៖ 0. អ្នកត្រូវចងចាំចំណុចនេះនៅពេលប្រើម្ជុល ESP32 ADC ។
មុខងារ analogRead()
ការអានការបញ្ចូលអាណាឡូកជាមួយ ESP32 ដោយប្រើ Arduino IDE គឺសាមញ្ញដូចជាការប្រើប្រាស់មុខងារ analogRead() ដែរ។ វាទទួលយកជាអាគុយម៉ង់ GPIO ដែលអ្នកចង់អាន៖
analogRead (GPIO);
មានតែ 15 ប៉ុណ្ណោះដែលមាននៅក្នុង DEVKIT V1board (កំណែដែលមាន 30 GPIOs) ។
ចាប់យកបន្ទះក្តារ ESP32 របស់អ្នក ហើយកំណត់ទីតាំងម្ជុល ADC ។ ទាំង​នេះ​ត្រូវ​បាន​រំលេច​ដោយ​ស៊ុម​ពណ៌​ក្រហម​ក្នុង​រូប​ខាង​ក្រោម។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ស៊ុមម្ជុលបញ្ចូលអាណាឡូកទាំងនេះមានគុណភាពបង្ហាញ 12 ប៊ីត។ នេះមានន័យថា នៅពេលអ្នកអានការបញ្ចូលអាណាឡូក ជួររបស់វាអាចប្រែប្រួលពី 0 ដល់ 4095។
ចំណាំ៖ ម្ជុល ADC2 មិនអាចប្រើបានទេ នៅពេលដែល Wi-Fi ត្រូវបានប្រើប្រាស់។ ដូច្នេះ ប្រសិនបើអ្នកកំពុងប្រើ Wi-Fi ហើយអ្នកមានបញ្ហាក្នុងការទទួលបានតម្លៃពី ADC2 GPIO អ្នកអាចពិចារណាប្រើ ADC1 GPIO ជំនួសវិញ ដែលគួរតែដោះស្រាយបញ្ហារបស់អ្នក។
ដើម្បីមើលពីរបៀបដែលអ្វីៗភ្ជាប់ជាមួយគ្នា យើងនឹងបង្កើតអតីតសាមញ្ញampដើម្បីអានតម្លៃអាណាឡូកពី potentiometer ។
ផ្នែកដែលត្រូវការ
សម្រាប់អតីតនេះ។ampដូច្នេះ អ្នកត្រូវការផ្នែកខាងក្រោម៖

  • ក្រុមប្រឹក្សាភិបាល ESP32 DEVKIT V1
  • Potentiometer
  • ក្តារនំប៉័ង
  • ខ្សែភ្លើងលោត

គ្រោងការណ៍
ភ្ជាប់ឧបករណ៍វាស់ថាមពលទៅ ESP32 របស់អ្នក។ ម្ជុលកណ្តាល potentiometer គួរតែត្រូវបានភ្ជាប់ទៅ GPIO 4 ។ អ្នកអាចប្រើដ្យាក្រាមគ្រោងការណ៍ខាងក្រោមជាឯកសារយោង។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍កូដ
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
បើកកូដ Project_2_ESP32_Inputs_Outputs.ino ក្នុង arduino IDEកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 2កូដនេះគ្រាន់តែអានតម្លៃពី potentiometer ហើយបោះពុម្ពតម្លៃទាំងនោះនៅក្នុង Serial Monitor ។
នៅក្នុងកូដ អ្នកចាប់ផ្តើមដោយកំណត់ GPIO ដែល potentiometer ត្រូវបានភ្ជាប់។ នៅក្នុងនេះ អតីតample, GPIO ៤.កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ឧampleនៅក្នុងការដំឡើង() ចាប់ផ្តើមទំនាក់ទំនងសៀរៀលក្នុងអត្រា baud នៃ 115200។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ឧampឡេ ២០នៅក្នុង loop() ប្រើមុខងារ analogRead() ដើម្បីអាន analog input ពី potPin ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ឧampឡេ ២០ជាចុងក្រោយ បោះពុម្ពតម្លៃដែលបានអានពី potentiometer នៅក្នុងម៉ូនីទ័រសៀរៀល។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ឧampឡេ ២០ផ្ទុកឡើងលេខកូដដែលបានផ្តល់ទៅ ESP32 របស់អ្នក។ ត្រូវប្រាកដថាអ្នកមានក្តារត្រឹមត្រូវ និងច្រក COM ដែលបានជ្រើសរើសនៅក្នុងម៉ឺនុយឧបករណ៍។
ការធ្វើតេស្ត Example
បន្ទាប់ពីបង្ហោះកូដហើយចុចប៊ូតុងកំណត់ឡើងវិញ ESP32 សូមបើក Serial Monitor ក្នុងអត្រា baud 115200។ បង្វិល potentiometer ហើយឃើញតម្លៃផ្លាស់ប្តូរ។តម្លៃអតិបរមាដែលអ្នកនឹងទទួលបានគឺ 4095 ហើយតម្លៃអប្បបរមាគឺ 0។LAFVIN ESP32 Basic Starter Kit -តម្លៃអតិបរមា

រុំឡើង

នៅក្នុងអត្ថបទនេះ អ្នកបានរៀនពីរបៀបអានការបញ្ចូលអាណាឡូកដោយប្រើ ESP32 ជាមួយ Arduino IDE។ សរុបមក៖

  • បន្ទះ ESP32 DEVKIT V1 DOIT (កំណែដែលមាន 30 pin) មាន 15 pins ADC ដែលអ្នកអាចប្រើដើម្បីអានការបញ្ចូលអាណាឡូក។
  • ម្ជុលទាំងនេះមានគុណភាពបង្ហាញ 12 ប៊ីត ដែលមានន័យថាអ្នកអាចទទួលបានតម្លៃពី 0 ដល់ 4095 ។
  • ដើម្បីអានតម្លៃនៅក្នុង Arduino IDE អ្នកគ្រាន់តែប្រើមុខងារ analogRead() ។
  • ម្ជុល ESP32 ADC មិនមានឥរិយាបថលីនេអ៊ែរទេ។ អ្នកប្រហែលជាមិនអាចបែងចែករវាង 0 និង 0.1V ឬរវាង 3.2 និង 3.3V បានទេ។ អ្នកត្រូវចងចាំវានៅពេលប្រើម្ជុល ADC ។

គម្រោងទី 3 ESP32 PWM (ទិន្នផលអាណាឡូក)

នៅក្នុងការបង្រៀននេះ យើងនឹងបង្ហាញអ្នកពីរបៀបបង្កើតសញ្ញា PWM ជាមួយ ESP32 ដោយប្រើ Arduino IDE។ ក្នុងនាមជាអតីតampយើងនឹងបង្កើតសៀគ្វីសាមញ្ញមួយដែលបន្ថយ LED ដោយប្រើឧបករណ៍បញ្ជា LED PWM នៃ ESP32 ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - AnalogOutputឧបករណ៍បញ្ជា LED PWM ESP32
ESP32 មានឧបករណ៍បញ្ជា LED PWM ដែលមានបណ្តាញឯករាជ្យចំនួន 16 ដែលអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីបង្កើតសញ្ញា PWM ជាមួយនឹងលក្ខណៈសម្បត្តិផ្សេងគ្នា។
នេះជាជំហានដែលអ្នកត្រូវធ្វើដើម្បីបន្ថយ LED ជាមួយ PWM ដោយប្រើ Arduino IDE៖

  1. ដំបូងអ្នកត្រូវជ្រើសរើសឆានែល PWM ។ មាន 16 ឆានែលពី 0 ទៅ 15 ។
  2. បន្ទាប់មកអ្នកត្រូវកំណត់ប្រេកង់សញ្ញា PWM ។ សម្រាប់ LED ប្រេកង់ 5000 Hz គឺល្អក្នុងការប្រើប្រាស់។
  3. អ្នកក៏ត្រូវកំណត់ការដោះស្រាយវដ្តកាតព្វកិច្ចរបស់សញ្ញាផងដែរ៖ អ្នកមានដំណោះស្រាយពី 1 ដល់ 16 ប៊ីត។ យើងនឹងប្រើគុណភាពបង្ហាញ 8 ប៊ីត ដែលមានន័យថាអ្នកអាចគ្រប់គ្រងពន្លឺ LED ដោយប្រើតម្លៃពី 0 ដល់ 255។
  4.  បន្ទាប់មកអ្នកត្រូវបញ្ជាក់ថាតើ GPIO ឬ GPIOs ណាដែលសញ្ញានឹងបង្ហាញ។ សម្រាប់នោះអ្នកនឹងប្រើមុខងារដូចខាងក្រោមៈ
    ledcAttachPin (GPIO, ឆានែល)
    មុខងារនេះទទួលយកអាគុយម៉ង់ពីរ។ ទីមួយគឺ GPIO ដែលនឹងបញ្ចេញសញ្ញា ហើយទីពីរគឺជាឆានែលដែលនឹងបង្កើតសញ្ញា។
  5. ជាចុងក្រោយ ដើម្បីគ្រប់គ្រងពន្លឺ LED ដោយប្រើ PWM អ្នកអាចប្រើមុខងារខាងក្រោម៖

ledcWrite(ឆានែល, វដ្តកាតព្វកិច្ច)
មុខងារនេះទទួលយកជាអាគុយម៉ង់ឆានែលដែលកំពុងបង្កើតសញ្ញា PWM និងវដ្តកាតព្វកិច្ច។
ផ្នែកដែលត្រូវការ
ដើម្បីធ្វើតាមការបង្រៀននេះ អ្នកត្រូវការផ្នែកទាំងនេះ៖

  • ក្រុមប្រឹក្សាភិបាល ESP32 DEVKIT V1
  • អំពូល LED 5 ម។
  • ឧបករណ៍ទប់ទល់ 220 Ohm
  •  ក្តារនំប៉័ង
  • ខ្សែភ្លើងលោត

គ្រោងការណ៍
ភ្ជាប់ LED ទៅកាន់ ESP32 របស់អ្នក ដូចនៅក្នុងដ្យាក្រាមគ្រោងការណ៍ខាងក្រោម។ LED គួរតែត្រូវបានភ្ជាប់ទៅ GPIO 4.កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍ចំណាំ៖ អ្នកអាចប្រើម្ជុលណាមួយដែលអ្នកចង់បាន ដរាបណាវាអាចដើរតួជាទិន្នផល។ ម្ជុលទាំងអស់ដែលអាចដើរតួជាទិន្នផលអាចត្រូវបានប្រើជាម្ជុល PWM ។ សម្រាប់ព័ត៌មានបន្ថែមអំពី ESP32 GPIOs សូមអាន៖ ESP32 Pinout Reference៖ តើម្ជុល GPIO មួយណាដែលអ្នកគួរប្រើ?
កូដ
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
បើកលេខកូដ Project_3_ESP32_PWM.ino ក្នុង arduino IDEកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 3កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 4អ្នកចាប់ផ្តើមដោយកំណត់ម្ជុលដែល LED ត្រូវបានភ្ជាប់។ ក្នុងករណីនេះ LED ត្រូវបានភ្ជាប់ទៅ GPIO 4 ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 5បន្ទាប់មកអ្នកកំណត់លក្ខណៈសម្បត្តិសញ្ញា PWM ។ អ្នកកំណត់ប្រេកង់ 5000 Hz ជ្រើសរើសឆានែល 0 ដើម្បីបង្កើតសញ្ញា ហើយកំណត់គុណភាពបង្ហាញ 8 ប៊ីត។ អ្នកអាចជ្រើសរើសលក្ខណៈសម្បត្តិផ្សេងទៀត ដែលខុសពីទាំងនេះ ដើម្បីបង្កើតសញ្ញា PWM ផ្សេងៗគ្នា។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 6នៅក្នុង setup() អ្នកត្រូវកំណត់រចនាសម្ព័ន្ធ LED PWM ជាមួយនឹងលក្ខណៈសម្បត្តិដែលអ្នកបានកំណត់ពីមុន ដោយប្រើមុខងារ ledcSetup() ដែលទទួលយកជាអាគុយម៉ង់ ledChannel ប្រេកង់ និងដំណោះស្រាយដូចខាងក្រោម៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 8បន្ទាប់មកអ្នកត្រូវជ្រើសរើស GPIO ដែលអ្នកនឹងទទួលបានសញ្ញាពី។ សម្រាប់នោះប្រើមុខងារ ledcAttachPin() ដែលទទួលយកជាអាគុយម៉ង់ GPIO ដែលអ្នកចង់ទទួលបានសញ្ញា និងឆានែលដែលកំពុងបង្កើតសញ្ញា។ នៅក្នុងនេះ អតីតample យើងនឹងទទួលបានសញ្ញានៅក្នុង ledPin GPIO ដែលត្រូវគ្នានឹង GPIO 4. ឆានែលដែលបង្កើតសញ្ញាគឺ ledChannel ដែលត្រូវនឹង channel 0 ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 9នៅក្នុងរង្វិលជុំ អ្នកនឹងផ្លាស់ប្តូរវដ្តកាតព្វកិច្ចរវាង 0 និង 255 ដើម្បីបង្កើនពន្លឺ LED ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ពន្លឺហើយបន្ទាប់មករវាង 255 និង 0 ដើម្បីបន្ថយពន្លឺ។LAFVIN ESP32 Basic Starter Kit - ពន្លឺ ១ដើម្បីកំណត់ពន្លឺរបស់ LED អ្នកគ្រាន់តែត្រូវប្រើមុខងារ ledcWrite() ដែលទទួលយកជាអាគុយម៉ង់នៃឆានែលដែលកំពុងបង្កើតសញ្ញា និងវដ្តកាតព្វកិច្ច។LAFVIN ESP32 Basic Starter Kit - ពន្លឺ ១ដូចដែលយើងកំពុងប្រើគុណភាពបង្ហាញ 8 ប៊ីត វដ្តកាតព្វកិច្ចនឹងត្រូវបានគ្រប់គ្រងដោយប្រើតម្លៃពី 0 ដល់ 255។ ចំណាំថានៅក្នុងមុខងារ ledcWrite() យើងប្រើឆានែលដែលបង្កើតសញ្ញា មិនមែន GPIO ទេ។

ការធ្វើតេស្ត Example

ផ្ទុកឡើងកូដទៅ ESP32 របស់អ្នក។ ត្រូវប្រាកដថាអ្នកមានក្តារត្រឹមត្រូវ និងច្រក COM ដែលបានជ្រើសរើស។ សូមក្រឡេកមើលសៀគ្វីរបស់អ្នក។ អ្នកគួរតែមាន LED dimmer ដែលបង្កើននិងបន្ថយពន្លឺ។LAFVIN ESP32 Basic Starter Kit - សាកល្បង Example

គម្រោងទី 4 ឧបករណ៍ចាប់សញ្ញាចលនា ESP32 PIR

គម្រោងនេះបង្ហាញពីរបៀបចាប់ចលនាជាមួយ ESP32 ដោយប្រើឧបករណ៍ចាប់សញ្ញាចលនា PIR។ ឧបករណ៍ចាប់សញ្ញានឹងបន្លឺសំឡេងរោទិ៍នៅពេលរកឃើញចលនា ហើយបញ្ឈប់ការជូនដំណឹងនៅពេលដែលគ្មានចលនាត្រូវបានរកឃើញសម្រាប់រយៈពេលកំណត់ជាមុន (ដូចជា 4 វិនាទី)
របៀបដែលឧបករណ៍ចាប់សញ្ញាចលនា HC-SR501 ដំណើរការ
.កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ឧបករណ៍ចាប់សញ្ញាចលនាដំណើរការគោលការណ៍ការងាររបស់ឧបករណ៍ចាប់សញ្ញា HC-SR501 គឺផ្អែកលើការផ្លាស់ប្តូរវិទ្យុសកម្មអ៊ីនហ្វ្រារ៉េដលើវត្ថុដែលកំពុងផ្លាស់ទី។ ដើម្បីត្រូវបានរកឃើញដោយឧបករណ៍ចាប់សញ្ញា HC-SR501 វត្ថុត្រូវតែបំពេញតាមតម្រូវការពីរ៖

  • វត្ថុកំពុងបញ្ចេញតាមអ៊ីនហ្វ្រារ៉េដ។
  • វត្ថុកំពុងផ្លាស់ទី ឬញ័រ

ដូច្នេះ៖
ប្រសិនបើវត្ថុមួយកំពុងបញ្ចេញកាំរស្មីអ៊ីនហ្វ្រារ៉េដ ប៉ុន្តែមិនមានចលនា (ឧ. មនុស្សម្នាក់ឈរស្ងៀមដោយមិនផ្លាស់ទី) វាមិនត្រូវបានរកឃើញដោយឧបករណ៍ចាប់សញ្ញានោះទេ។
ប្រសិនបើវត្ថុមួយកំពុងផ្លាស់ទី ប៉ុន្តែគ្មានការបំភាយកាំរស្មីអ៊ីនហ្វ្រារ៉េដ (ឧទាហរណ៍ មនុស្សយន្ត ឬយានជំនិះ) វាមិនត្រូវបានរកឃើញដោយឧបករណ៍ចាប់សញ្ញានោះទេ។
ការណែនាំកម្មវិធីកំណត់ម៉ោង
នៅក្នុងនេះ អតីតampយើងក៏នឹងណែនាំកម្មវិធីកំណត់ម៉ោងផងដែរ។ យើងចង់ឱ្យ LED បន្តសម្រាប់ចំនួនវិនាទីដែលបានកំណត់ទុកជាមុនបន្ទាប់ពីចលនាត្រូវបានរកឃើញ។ ជំនួសឱ្យការប្រើមុខងារ delay() ដែលរារាំងកូដរបស់អ្នក ហើយមិនអនុញ្ញាតឱ្យអ្នកធ្វើអ្វីផ្សេងទៀតសម្រាប់ចំនួនវិនាទីដែលបានកំណត់នោះ យើងគួរតែប្រើកម្មវិធីកំណត់ម៉ោង។LAFVIN ESP32 Basic Starter Kit - ការណែនាំអំពីកម្មវិធីកំណត់ម៉ោងមុខងារពន្យាពេល ()
អ្នកគួរតែស្គាល់មុខងារ delay() ដូចដែលវាត្រូវបានគេប្រើយ៉ាងទូលំទូលាយ។ មុខងារនេះគឺសាមញ្ញណាស់ក្នុងការប្រើប្រាស់។ វាទទួលយកលេខ int តែមួយជាអាគុយម៉ង់។
លេខនេះតំណាងឱ្យពេលវេលាគិតជាមិល្លីវិនាទី ដែលកម្មវិធីត្រូវរង់ចាំរហូតដល់បន្តទៅជួរបន្ទាប់នៃកូដ។LAFVIN ESP32 Basic Starter Kit - លេខកូដនៅពេលអ្នកពន្យារពេល (1000) កម្មវិធីរបស់អ្នកឈប់នៅលើបន្ទាត់នោះរយៈពេល 1 វិនាទី។
delay() គឺជាមុខងារទប់ស្កាត់។ មុខងារទប់ស្កាត់រារាំងកម្មវិធីមិនឱ្យធ្វើអ្វីផ្សេងទៀតរហូតដល់កិច្ចការពិសេសនោះត្រូវបានបញ្ចប់។ ប្រសិនបើអ្នកត្រូវការកិច្ចការច្រើនដើម្បីកើតឡើងក្នុងពេលតែមួយ អ្នកមិនអាចប្រើ delay() បានទេ។
សម្រាប់គម្រោងភាគច្រើន អ្នកគួរជៀសវាងការប្រើការពន្យារពេល ហើយប្រើកម្មវិធីកំណត់ម៉ោងជំនួសវិញ។
មុខងារ millis()
ដោយប្រើមុខងារមួយហៅថា millis() អ្នកអាចត្រឡប់ចំនួនមីលីវិនាទីដែលបានកន្លងផុតចាប់តាំងពីកម្មវិធីចាប់ផ្តើមដំបូង។LAFVIN ESP32 Basic Starter Kit - កម្មវិធីបានចាប់ផ្តើមដំបូងហេតុអ្វីបានជាមុខងារនោះមានប្រយោជន៍? ដោយ​សារ​តែ​ការ​ប្រើ​គណិត​វិទ្យា​មួយ​ចំនួន អ្នក​អាច​ផ្ទៀងផ្ទាត់​ថា​តើ​ពេលវេលា​បាន​កន្លង​ផុត​ទៅ​យ៉ាង​ងាយ​ដោយ​មិន​បាច់​បិទ​កូដ​របស់​អ្នក។
ផ្នែកដែលត្រូវការ
ដើម្បីធ្វើតាមការបង្រៀននេះ អ្នកត្រូវការផ្នែកខាងក្រោម

  • ក្រុមប្រឹក្សាភិបាល ESP32 DEVKIT V1
  • ឧបករណ៍ចាប់សញ្ញាចលនា PIR (HC-SR501)
  • Buzzer សកម្ម
  • ខ្សែភ្លើងលោត
  • ក្តារនំប៉័ង

គ្រោងការណ៍កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍ 1ចំណាំ៖ វ៉ុលការងារtage នៃ HC-SR501 គឺ 5V ។ ប្រើម្ជុល Vin ដើម្បីថាមពលវា។
កូដ
មុនពេលបន្តការបង្រៀននេះ អ្នកគួរតែដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE របស់អ្នក។ សូមអនុវត្តតាមការបង្រៀនមួយខាងក្រោមដើម្បីដំឡើង ESP32 នៅលើ Arduino IDE ប្រសិនបើអ្នកមិនទាន់បានអនុវត្ត។ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
បើកលេខកូដ Project_4_ESP32_PIR_Motion_Sensor.ino ក្នុង arduino IDE ។
បាតុកម្ម
ផ្ទុកឡើងកូដទៅកាន់ក្តារ ESP32 របស់អ្នក។ ត្រូវប្រាកដថាអ្នកមានក្តារត្រឹមត្រូវ និងច្រក COM ដែលបានជ្រើសរើស។ ផ្ទុកឡើងនូវជំហានយោងកូដ។
បើក Serial Monitor ក្នុងអត្រា baud នៃ 115200។LAFVIN ESP32 Basic Starter Kit - ការបង្ហាញ ១ផ្លាស់ទីដៃរបស់អ្នកនៅពីមុខឧបករណ៍ចាប់សញ្ញា PIR ។ buzzer គួរតែបើក ហើយសារត្រូវបានបោះពុម្ពនៅក្នុង Serial Monitor ដោយនិយាយថា "Motion detected! Buzzer alarm"។
បន្ទាប់ពី 4 វិនាទី buzzer គួរតែបិទ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - buzzer

គម្រោងទី 5 ESP32 Switch Web ម៉ាស៊ីនមេ

នៅក្នុងគម្រោងនេះ អ្នកនឹងបង្កើតឯកត្តជន web ម៉ាស៊ីនមេដែលមាន ESP32 ដែលគ្រប់គ្រងលទ្ធផល (LED ពីរ) ដោយប្រើបរិយាកាសសរសេរកម្មវិធី Arduino IDE ។ នេះ។ web ម៉ាស៊ីនមេគឺឆ្លើយតបតាមទូរស័ព្ទ ហើយអាចចូលប្រើជាមួយឧបករណ៍ណាមួយដែលជាកម្មវិធីរុករកលើបណ្តាញមូលដ្ឋាន។ យើងនឹងបង្ហាញអ្នកពីរបៀបបង្កើត web ម៉ាស៊ីនមេ និងរបៀបដែលកូដដំណើរការជាជំហានៗ។
គម្រោងបញ្ចប់view
មុននឹងទៅគម្រោងដោយផ្ទាល់ វាជារឿងសំខាន់ដែលត្រូវគូសបញ្ជាក់អំពីអ្វីដែលរបស់យើង។ web ម៉ាស៊ីនមេនឹងធ្វើ ដូច្នេះវាកាន់តែងាយស្រួលក្នុងការធ្វើតាមជំហាននៅពេលក្រោយ។

  • នេះ។ web ម៉ាស៊ីនមេដែលអ្នកនឹងបង្កើតការគ្រប់គ្រង LEDs ពីរដែលភ្ជាប់ទៅ ESP32 GPIO 26 និង GPIO 27;
  • អ្នកអាចចូលប្រើ ESP32 web server ដោយវាយបញ្ចូលអាសយដ្ឋាន IP ESP32 នៅលើកម្មវិធីរុករកតាមអ៊ីនធឺណិតក្នុងបណ្តាញមូលដ្ឋាន។
  • ដោយចុចប៊ូតុងនៅលើរបស់អ្នក។ web ម៉ាស៊ីនមេ អ្នកអាចផ្លាស់ប្តូរស្ថានភាពនៃ LED នីមួយៗភ្លាមៗ។

ផ្នែកដែលត្រូវការ
សម្រាប់មេរៀននេះ អ្នកនឹងត្រូវការផ្នែកខាងក្រោម៖

  • ក្រុមប្រឹក្សាភិបាល ESP32 DEVKIT V1
  • អំពូល LED 2x5 ម។
  • 2x 200 Ohm resistor
  • ក្តារនំប៉័ង
  • ខ្សែភ្លើងលោត

គ្រោងការណ៍
ចាប់ផ្តើមដោយការបង្កើតសៀគ្វី។ ភ្ជាប់ LEDs ពីរទៅ ESP32 ដូចដែលបានបង្ហាញនៅក្នុងដ្យាក្រាមគ្រោងការណ៍ខាងក្រោម - LED មួយបានភ្ជាប់ទៅ GPIO 26 និងមួយទៀតទៅ GPIO 27 ។
ចំណាំ៖ យើងកំពុងប្រើបន្ទះ ESP32 DEVKIT DOIT ដែលមាន 36 pins។ មុនពេលដំឡើងសៀគ្វី សូមប្រាកដថាអ្នកពិនិត្យមើល pinout សម្រាប់បន្ទះដែលអ្នកកំពុងប្រើ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍កូដ
នៅទីនេះយើងផ្តល់លេខកូដដែលបង្កើត ESP32 web ម៉ាស៊ីនមេ។ បើកលេខកូដ Project_5_ESP32_Switch _Web_Server.ino នៅក្នុង arduino IDE ប៉ុន្តែកុំបង្ហោះវានៅឡើយ។ អ្នកត្រូវធ្វើការកែប្រែខ្លះដើម្បីឱ្យវាដំណើរការសម្រាប់អ្នក។
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
ការកំណត់អត្តសញ្ញាណបណ្តាញរបស់អ្នក។
អ្នក​ត្រូវ​កែប្រែ​បន្ទាត់​ខាងក្រោម​ជាមួយ​នឹង​ព័ត៌មាន​អត្តសញ្ញាណ​បណ្តាញ​របស់អ្នក៖ SSID និង​ពាក្យសម្ងាត់។ លេខកូដត្រូវបានផ្តល់មតិយ៉ាងល្អអំពីកន្លែងដែលអ្នកគួរធ្វើការផ្លាស់ប្តូរ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - អត្តសញ្ញាណបណ្តាញការបង្ហោះកូដ
ឥឡូវ​នេះ​អ្នក​អាច​ផ្ទុក​ឡើង​កូដ​និង​ web ម៉ាស៊ីនមេនឹងដំណើរការភ្លាមៗ។
អនុវត្តតាមជំហានបន្ទាប់ដើម្បីបង្ហោះកូដទៅកាន់ ESP32៖

  1. ដោតបន្ទះ ESP32 របស់អ្នកនៅក្នុងកុំព្យូទ័ររបស់អ្នក។
  2. នៅក្នុង Arduino IDE ជ្រើសរើសក្តាររបស់អ្នកនៅក្នុង ឧបករណ៍ > ក្តារ (ក្នុងករណីរបស់យើង យើងកំពុងប្រើក្តារ ESP32 DEVKIT DOIT);កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ផ្ទុកឡើងកូដ
  3. ជ្រើសរើសច្រក COM នៅក្នុង ឧបករណ៍> ច្រក។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ឧបករណ៍ច្រក
  4. ចុចប៊ូតុងផ្ទុកឡើងនៅក្នុង Arduino IDE ហើយរង់ចាំពីរបីវិនាទីខណៈពេលដែលលេខកូដចងក្រងនិងផ្ទុកឡើងទៅកាន់ក្តាររបស់អ្នក។LAFVIN ESP32 Basic Starter Kit - ICON 7
  5. រង់ចាំសារ "ការបង្ហោះរួចរាល់"។LAFVIN ESP32 Basic Starter Kit - បញ្ចប់ការបង្ហោះ 1

ស្វែងរកអាសយដ្ឋាន IP របស់ ESP
បន្ទាប់ពីបង្ហោះកូដរួច សូមបើក Serial Monitor ក្នុងអត្រា baud 115200។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - អាសយដ្ឋាន IP ESPចុចប៊ូតុង ESP32 EN (កំណត់ឡើងវិញ) ។ ESP32 ភ្ជាប់ទៅ Wi-Fi ហើយបញ្ចេញអាសយដ្ឋាន ESP IP នៅលើ Serial Monitor។ ចម្លងអាសយដ្ឋាន IP នោះ ពីព្រោះអ្នកត្រូវការវាដើម្បីចូលប្រើ ESP32 web ម៉ាស៊ីនមេ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - web ម៉ាស៊ីនមេការចូលប្រើ Web ម៉ាស៊ីនមេ
ដើម្បីចូលប្រើ web server បើក browser របស់អ្នក បិទភ្ជាប់អាសយដ្ឋាន IP ESP32 ហើយអ្នកនឹងឃើញទំព័រខាងក្រោម។
ចំណាំ៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិត និង ESP32 របស់អ្នកគួរតែត្រូវបានភ្ជាប់ទៅបណ្តាញមូលដ្ឋានដូចគ្នា។LAFVIN ESP32 Basic Starter Kit - ការចូលប្រើ Web ម៉ាស៊ីនមេប្រសិនបើអ្នកក្រឡេកមើល Serial Monitor អ្នកអាចមើលឃើញថាមានអ្វីកើតឡើងនៅផ្ទៃខាងក្រោយ។ ESP ទទួលសំណើ HTTP ពីអតិថិជនថ្មី (ក្នុងករណីនេះ កម្មវិធីរុករករបស់អ្នក)។LAFVIN ESP32 Basic Starter Kit - សំណើ HTTPអ្នកក៏អាចមើលព័ត៌មានផ្សេងទៀតអំពីសំណើ HTTP ផងដែរ។
បាតុកម្ម
ឥឡូវនេះអ្នកអាចសាកល្បងថាតើរបស់អ្នក។ web ម៉ាស៊ីនមេកំពុងដំណើរការត្រឹមត្រូវ។ ចុចប៊ូតុងដើម្បីគ្រប់គ្រង LEDs ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ផ្ទៃខាងក្រោយក្នុងពេលជាមួយគ្នានេះ អ្នកអាចមើល Serial Monitor ដើម្បីមើលថាតើមានអ្វីកើតឡើងនៅផ្ទៃខាងក្រោយ។ សម្រាប់អតីតampនៅពេលអ្នកចុចប៊ូតុងដើម្បីបើក GPIO 26 បើក ESP32 ទទួលសំណើនៅលើ /26/on URL.កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - URLនៅពេលដែល ESP32 ទទួលបានសំណើនោះ វាប្រែ LED ដែលភ្ជាប់ទៅ GPIO 26 ON ហើយធ្វើបច្ចុប្បន្នភាពស្ថានភាពរបស់វានៅលើ web ទំព័រ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - web ទំព័រប៊ូតុងសម្រាប់ GPIO 27 ដំណើរការតាមរបៀបស្រដៀងគ្នា។ សាកល្បងថាវាដំណើរការបានត្រឹមត្រូវ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ដំណើរការបានត្រឹមត្រូវ។

របៀបដែលកូដដំណើរការ

នៅក្នុងផ្នែកនេះនឹងពិនិត្យមើលកាន់តែដិតដល់នូវកូដដើម្បីមើលពីរបៀបដែលវាដំណើរការ។
រឿងដំបូងដែលអ្នកត្រូវធ្វើគឺបញ្ចូលបណ្ណាល័យវ៉ាយហ្វាយ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បណ្ណាល័យវ៉ាយហ្វាយដូចដែលបានរៀបរាប់ពីមុន អ្នកត្រូវបញ្ចូល ssid និងពាក្យសម្ងាត់របស់អ្នកនៅក្នុងបន្ទាត់ខាងក្រោមនៅខាងក្នុងសម្រង់ទ្វេ។LAFVIN ESP32 Basic Starter Kit - សម្រង់ទ្វេបន្ទាប់មកអ្នកកំណត់របស់អ្នក។ web server ទៅច្រក 80 ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - web ម៉ាស៊ីនមេបន្ទាត់ខាងក្រោមបង្កើតអថេរដើម្បីរក្សាទុកបឋមកថានៃសំណើ HTTP៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - HTTPrequestបន្ទាប់មក អ្នកបង្កើតអថេរជំនួយ ដើម្បីរក្សាទុកស្ថានភាពបច្ចុប្បន្ននៃលទ្ធផលរបស់អ្នក។ ប្រសិនបើអ្នកចង់បន្ថែមលទ្ធផលបន្ថែមទៀត និងរក្សាទុកស្ថានភាពរបស់វា អ្នកត្រូវបង្កើតអថេរបន្ថែមទៀត។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - អថេរអ្នកក៏ត្រូវកំណត់ GPIO ទៅនឹងលទ្ធផលនីមួយៗរបស់អ្នក។ នៅទីនេះយើងកំពុងប្រើ GPIO 26 និង GPIO 27។ អ្នកអាចប្រើ GPIO ដែលសមស្របណាមួយផ្សេងទៀត។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - សមរម្យផ្សេងទៀត។រៀបចំ()
ឥឡូវនេះយើងចូលទៅក្នុងការដំឡើង () ។ ដំបូង យើងចាប់ផ្តើមទំនាក់ទំនងសៀរៀលក្នុងអត្រា baud នៃ 115200 សម្រាប់គោលបំណងបំបាត់កំហុស។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គោលបំណងអ្នកក៏កំណត់ GPIO របស់អ្នកជា OUTPUTs ហើយកំណត់វាទៅទាប។LAFVIN ESP32 Basic Starter Kit - GPIOs ជា OUTPUTsបន្ទាត់ខាងក្រោមចាប់ផ្តើមការភ្ជាប់ Wi-Fi ជាមួយ WiFi.begin(ssid, password) រង់ចាំការតភ្ជាប់ជោគជ័យ ហើយបោះពុម្ពអាសយដ្ឋាន ESP IP នៅក្នុង Serial Monitor។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - សៀរៀលកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - សៀរៀល 1រង្វិលជុំ()
នៅក្នុង loop() យើងសរសេរកម្មវិធីអ្វីដែលកើតឡើងនៅពេលដែលអតិថិជនថ្មីបង្កើតការភ្ជាប់ជាមួយ web ម៉ាស៊ីនមេ។
ESP32 តែងតែស្តាប់អតិថិជនដែលចូលមកជាមួយបន្ទាត់ខាងក្រោម៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - រង្វិលជុំនៅពេលសំណើត្រូវបានទទួលពីអតិថិជន យើងនឹងរក្សាទុកទិន្នន័យចូល។ while loop ដែលបន្តបន្ទាប់នឹងដំណើរការដរាបណាអតិថិជននៅភ្ជាប់។ យើងមិនណែនាំឱ្យផ្លាស់ប្តូរផ្នែកខាងក្រោមនៃកូដទេ លុះត្រាតែអ្នកដឹងច្បាស់ពីអ្វីដែលអ្នកកំពុងធ្វើ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ពិតប្រាកដកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ពិតប្រាកដ 1កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ពិតប្រាកដ 2ផ្នែកបន្ទាប់នៃសេចក្តីថ្លែងការណ៍ if និង else ពិនិត្យមើលថាតើប៊ូតុងមួយណាត្រូវបានចុចនៅក្នុងរបស់អ្នក។ web ទំព័រ និងគ្រប់គ្រងលទ្ធផលទៅតាមនោះ។ ដូចដែលយើងបានឃើញពីមុន យើងធ្វើសំណើលើភាពខុសគ្នា URLs អាស្រ័យលើប៊ូតុងដែលបានចុច។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បានចុចប៊ូតុងកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ចុចប៊ូតុង 1សម្រាប់អតីតampដូច្នេះ ប្រសិនបើអ្នកបានចុចប៊ូតុង GPIO 26 ON នោះ ESP32 ទទួលបានសំណើនៅលើ /26/ON URL (យើងអាចឃើញថាព័ត៌មាននោះនៅលើបឋមកថា HTTP នៅលើ Serial Monitor)។ ដូច្នេះយើងអាចពិនិត្យមើលថាតើបឋមកថាមានកន្សោម GET /26/on ដែរឬទេ។ ប្រសិនបើវាមាន យើងប្តូរអថេរ output26state ទៅ ON ហើយ ESP32 បើក LED។
វាដំណើរការដូចគ្នាសម្រាប់ប៊ូតុងផ្សេងទៀត។ ដូច្នេះ ប្រសិនបើអ្នកចង់បន្ថែមលទ្ធផលបន្ថែមទៀត អ្នកគួរតែកែប្រែផ្នែកនៃកូដនេះ ដើម្បីបញ្ចូលពួកវា។
ការបង្ហាញ HTML web ទំព័រ
រឿងបន្ទាប់ដែលអ្នកត្រូវធ្វើគឺការបង្កើត web ទំព័រ។ ESP32 នឹងត្រូវបានផ្ញើការឆ្លើយតបទៅកាន់កម្មវិធីរុករករបស់អ្នកជាមួយនឹងកូដ HTML មួយចំនួនដើម្បីបង្កើត web ទំព័រ។
នេះ។ web ទំព័រត្រូវបានផ្ញើទៅម៉ាស៊ីនភ្ញៀវដោយប្រើ Expressing client.println() នេះ។ អ្នកគួរតែបញ្ចូលអ្វីដែលអ្នកចង់ផ្ញើទៅអតិថិជនជាអាគុយម៉ង់។
រឿងដំបូងដែលយើងគួរផ្ញើគឺតែងតែជាបន្ទាត់ខាងក្រោម ដែលបង្ហាញថាយើងកំពុងផ្ញើ HTML ។LAFVIN ESP32 Basic Starter Kit - ផ្ញើ HTMLបន្ទាប់មកបន្ទាត់ខាងក្រោមបង្កើត web ទំព័រឆ្លើយតបនៅក្នុងណាមួយ។ web កម្មវិធីរុករក។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - web កម្មវិធីរុករកហើយខាងក្រោមនេះត្រូវបានប្រើដើម្បីការពារការស្នើសុំនៅលើ favicon ។ - អ្នកមិនចាំបាច់ព្រួយបារម្ភអំពីខ្សែនេះទេ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - client.println

រចនាប័ទ្ម Web ទំព័រ

បន្ទាប់​មក​យើង​មាន​អត្ថបទ CSS មួយ​ចំនួន​ដើម្បី​កំណត់​រចនាប័ទ្ម​ប៊ូតុង និង​ web រូបរាងទំព័រ។
យើងជ្រើសរើសពុម្ពអក្សរ Helvetica កំណត់មាតិកាដែលត្រូវបង្ហាញជាប្លុក និងតម្រឹមនៅកណ្តាល។LAFVIN ESP32 Basic Starter Kit - ការកំណត់រចនាប័ទ្ម Web ទំព័រយើងកំណត់រចនាប័ទ្មប៊ូតុងរបស់យើងជាមួយនឹងពណ៌ #4CAF50, ដោយគ្មានស៊ុម, អត្ថបទជាពណ៌ស, និងជាមួយ padding នេះ: 16px 40px ។ យើងក៏កំណត់ការតុបតែងអត្ថបទទៅជាគ្មាន កំណត់ទំហំពុម្ពអក្សរ រឹម និងទស្សន៍ទ្រនិចទៅទ្រនិច។LAFVIN ESP32 Basic Starter Kit - ទ្រនិចយើងក៏កំណត់រចនាប័ទ្មសម្រាប់ប៊ូតុងទីពីរ ជាមួយនឹងលក្ខណៈសម្បត្តិទាំងអស់នៃប៊ូតុងដែលយើងបានកំណត់ពីមុន ប៉ុន្តែមានពណ៌ផ្សេង។ នេះនឹងជារចនាប័ទ្មសម្រាប់ប៊ូតុងបិទ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - client.println ១

ការកំណត់ Web ទំព័រចំណងជើងទីមួយ
នៅជួរបន្ទាប់អ្នកអាចកំណត់ក្បាលទីមួយរបស់អ្នក។ web ទំព័រ។ នៅទីនេះយើងមាន "ESP32 Web ម៉ាស៊ីនមេ” ប៉ុន្តែអ្នកអាចផ្លាស់ប្តូរអត្ថបទនេះទៅអ្វីដែលអ្នកចូលចិត្ត។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - Web ចំណងជើងទំព័រការបង្ហាញប៊ូតុង និងស្ថានភាពដែលត្រូវគ្នា។
បន្ទាប់មក អ្នកសរសេរកថាខណ្ឌដើម្បីបង្ហាញស្ថានភាពបច្ចុប្បន្ន GPIO 26។ ដូចដែលអ្នកអាចឃើញយើងប្រើអថេរ output26State ដូច្នេះរដ្ឋធ្វើបច្ចុប្បន្នភាពភ្លាមៗនៅពេលដែលអថេរនេះផ្លាស់ប្តូរ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ការផ្លាស់ប្តូរអថេរបន្ទាប់មក យើងបង្ហាញប៊ូតុងបើក ឬបិទ អាស្រ័យលើស្ថានភាពបច្ចុប្បន្នរបស់ GPIO។ ប្រសិនបើស្ថានភាពបច្ចុប្បន្នរបស់ GPIO ត្រូវបានបិទ យើងបង្ហាញប៊ូតុង ON ប្រសិនបើមិនមានទេ យើងបង្ហាញប៊ូតុងបិទ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បង្ហាញប៊ូតុងបិទយើងប្រើនីតិវិធីដូចគ្នាសម្រាប់ GPIO 27 ។
ការបិទការតភ្ជាប់
ជាចុងក្រោយ នៅពេលដែលការឆ្លើយតបបានបញ្ចប់ យើងសម្អាតអថេរបឋមកថា ហើយបញ្ឈប់ការតភ្ជាប់ជាមួយម៉ាស៊ីនភ្ញៀវជាមួយ client.stop()។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បិទការភ្ជាប់

រុំឡើង

នៅក្នុងមេរៀននេះ យើងបានបង្ហាញអ្នកពីរបៀបបង្កើត a web ម៉ាស៊ីនមេជាមួយ ESP32 ។ យើង​បាន​បង្ហាញ​អ្នក​នូវ​អតីត​មនុស្ស​សាមញ្ញample ដែលគ្រប់គ្រង LEDs ពីរ ប៉ុន្តែគំនិតគឺដើម្បីជំនួស LEDs ទាំងនោះជាមួយនឹងការបញ្ជូនត ឬទិន្នផលផ្សេងទៀតដែលអ្នកចង់គ្រប់គ្រង។

គម្រោង 6 RGB LED Web ម៉ាស៊ីនមេ

នៅក្នុងគម្រោងនេះ យើងនឹងបង្ហាញអ្នកពីរបៀបបញ្ជា RGB LED ពីចម្ងាយជាមួយនឹងបន្ទះ ESP32 ដោយប្រើ a web ម៉ាស៊ីនមេជាមួយឧបករណ៍ជ្រើសរើសពណ៌។
គម្រោងបញ្ចប់view
មុននឹងចាប់ផ្តើម សូមមើលពីរបៀបដែលគម្រោងនេះដំណើរការ៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គម្រោងបានបញ្ចប់view

  • ESP32 web ម៉ាស៊ីនមេបង្ហាញឧបករណ៍ជ្រើសរើសពណ៌។
  • នៅពេលអ្នកជ្រើសរើសពណ៌ កម្មវិធីរុករកតាមអ៊ីនធឺណិតរបស់អ្នកធ្វើការស្នើសុំនៅលើ a URL ដែលមានប៉ារ៉ាម៉ែត្រ R, G និង B នៃពណ៌ដែលបានជ្រើសរើស។
  • ESP32 របស់អ្នកទទួលបានសំណើ និងបំបែកតម្លៃសម្រាប់ប៉ារ៉ាម៉ែត្រពណ៌នីមួយៗ។
  • បន្ទាប់មកវាបញ្ជូនសញ្ញា PWM ជាមួយនឹងតម្លៃដែលត្រូវគ្នាទៅ GPIOs ដែលកំពុងគ្រប់គ្រង RGB LED ។

តើអំពូល LED RGB ដំណើរការយ៉ាងដូចម្តេច?
នៅក្នុង cathode RGB LED ធម្មតា LEDs ទាំងបីចែករំលែកការតភ្ជាប់អវិជ្ជមាន (cathode)។ ទាំងអស់ដែលបានរួមបញ្ចូលនៅក្នុងឧបករណ៍គឺ common-cathode RGB ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - LEDs RGB ដំណើរការតើធ្វើដូចម្តេចដើម្បីបង្កើតពណ៌ផ្សេងគ្នា?
ជា​មួយ​នឹង RGB LED អ្នក​អាច​បង្កើត​ពន្លឺ​ពណ៌​ក្រហម បៃតង និង​ខៀវ ហើយ​ដោយ​កំណត់​រចនាសម្ព័ន្ធ​អាំងតង់ស៊ីតេ​នៃ LED នីមួយៗ អ្នក​អាច​បង្កើត​ពណ៌​ផ្សេង​ទៀត​បាន​ផង​ដែរ។
សម្រាប់អតីតampឡេ ដើម្បីផលិតពន្លឺពណ៌ខៀវសុទ្ធ អ្នកត្រូវកំណត់ LED ពណ៌ខៀវទៅអាំងតង់ស៊ីតេខ្ពស់បំផុត ហើយ LEDs ពណ៌បៃតង និងក្រហមទៅអាំងតង់ស៊ីតេទាបបំផុត។ សម្រាប់ពន្លឺពណ៌ស អ្នកនឹងកំណត់ LEDs ទាំងបីទៅអាំងតង់ស៊ីតេខ្ពស់បំផុត។
ការលាយពណ៌
ដើម្បីផលិតពណ៌ផ្សេងទៀត អ្នកអាចផ្សំពណ៌ទាំងបីក្នុងអាំងតង់ស៊ីតេខុសៗគ្នា។ ដើម្បីកែតម្រូវអាំងតង់ស៊ីតេនៃ LED នីមួយៗអ្នកអាចប្រើសញ្ញា PWM ។
ដោយសារ LEDs នៅជិតគ្នាខ្លាំង ភ្នែករបស់យើងឃើញលទ្ធផលនៃការរួមបញ្ចូលគ្នានៃពណ៌ ជាជាងពណ៌ទាំងបីរៀងៗខ្លួន។
ដើម្បីមានគំនិតអំពីរបៀបផ្សំពណ៌ សូមមើលតារាងខាងក្រោម។
នេះគឺជាតារាងលាយពណ៌សាមញ្ញបំផុត ប៉ុន្តែផ្តល់ឱ្យអ្នកនូវគំនិតពីរបៀបដែលវាដំណើរការ និងរបៀបបង្កើតពណ៌ផ្សេងគ្នា។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ពណ៌ផ្សេងគ្នាផ្នែកដែលត្រូវការ
សម្រាប់គម្រោងនេះ អ្នកត្រូវការផ្នែកដូចខាងក្រោមៈ

  • ក្រុមប្រឹក្សាភិបាល ESP32 DEVKIT V1
  • RGB LED
  • ឧបករណ៍ទប់ទល់ 3x220 ohm
  • ខ្សែភ្លើងលោត
  • ក្តារនំប៉័ង

គ្រោងការណ៍កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍កូដ
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )

  • ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE

បន្ទាប់ពីដំឡើងសៀគ្វីបើកលេខកូដ
គម្រោង_6_RGB_LED_Web_Server.ino ក្នុង arduino IDE ។
មុននឹងបង្ហោះកូដ សូមកុំភ្លេចបញ្ចូលអត្តសញ្ញាណបណ្តាញរបស់អ្នក ដើម្បីឱ្យ ESP អាចភ្ជាប់ទៅបណ្តាញមូលដ្ឋានរបស់អ្នក។LAFVIN ESP32 Basic Starter Kit - បណ្តាញមូលដ្ឋានរបៀបដែលលេខកូដដំណើរការ
គំនូរព្រាង ESP32 ប្រើបណ្ណាល័យ WiFi.h ។LAFVIN ESP32 Basic Starter Kit - បណ្ណាល័យ WiFi.hបន្ទាត់ខាងក្រោមកំណត់អថេរខ្សែអក្សរដើម្បីរក្សាប៉ារ៉ាម៉ែត្រ R, G និង B ពីសំណើ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ខ្សែអក្សរក្រហមអថេរបួនបន្ទាប់ត្រូវបានប្រើដើម្បីឌិកូដសំណើ HTTP នៅពេលក្រោយ។LAFVIN ESP32 Basic Starter Kit - សំណើ HTTPបង្កើតអថេរចំនួនបីសម្រាប់ GPIOs ដែលនឹងគ្រប់គ្រងប៉ារ៉ាម៉ែត្រឆ្នូត R, G និង B ។ ក្នុងករណីនេះយើងកំពុងប្រើ GPIO 13, GPIO 12 និង GPIO 14 ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - GPIOs ត្រូវការGPIOs ទាំងនេះត្រូវបញ្ចេញសញ្ញា PWM ដូច្នេះយើងត្រូវកំណត់រចនាសម្ព័ន្ធ PWM ជាមុនសិន។ កំណត់ប្រេកង់សញ្ញា PWM ទៅ 5000 Hz ។ បន្ទាប់មកភ្ជាប់ឆានែល PWM សម្រាប់ពណ៌នីមួយៗកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ពណ៌នីមួយៗហើយចុងក្រោយកំណត់ដំណោះស្រាយនៃឆានែល PWM ទៅ 8 ប៊ីតកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បណ្តាញ PWMនៅក្នុងការដំឡើង () កំណត់លក្ខណៈសម្បត្តិ PWM ទៅឆានែល PWMកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បណ្តាញ PWMភ្ជាប់បណ្តាញ PWM ទៅ GPIOs ដែលត្រូវគ្នា។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - GPIOs ដែលត្រូវគ្នា។ផ្នែកកូដខាងក្រោមបង្ហាញឧបករណ៍រើសពណ៌នៅក្នុងរបស់អ្នក។ web ទំព័រ និងធ្វើការស្នើសុំដោយផ្អែកលើពណ៌ដែលអ្នកបានជ្រើសរើស។LAFVIN ESP32 Basic Starter Kit - បានជ្រើសរើសកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - client.printlnកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - client.println ១នៅពេលអ្នកជ្រើសរើសពណ៌ អ្នកទទួលបានសំណើដែលមានទម្រង់ដូចខាងក្រោម។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ទម្រង់ដូចខាងក្រោម

ដូច្នេះ យើង​ត្រូវ​បំបែក​ខ្សែ​នេះ​ដើម្បី​ទទួល​បាន​ប៉ារ៉ាម៉ែត្រ R, G និង B ។ ប៉ារ៉ាម៉ែត្រត្រូវបានរក្សាទុកក្នុងអថេរ redString, greenString, និង blueString ហើយអាចមានតម្លៃចន្លោះពី 0 និង 255។LAFVIN ESP32 Basic Starter Kit - បឋមកថាLAFVIN ESP32 Basic Starter Kit - បឋមកថា ១ដើម្បីគ្រប់គ្រងបន្ទះជាមួយ ESP32 សូមប្រើមុខងារ ledcWrite() ដើម្បីបង្កើតសញ្ញា PWM ជាមួយនឹងតម្លៃដែលបានឌិកូដពី HTTP សំណើ។LAFVIN ESP32 Basic Starter Kit - សំណើ HTTP 1ចំណាំ៖ ស្វែងយល់បន្ថែមអំពី PWM ជាមួយ ESP32: គម្រោងទី 3 ESP32 PWM (ទិន្នផលអាណាឡូក)
ដើម្បីគ្រប់គ្រងបន្ទះជាមួយ ESP8266 យើងគ្រាន់តែត្រូវប្រើ
មុខងារ analogWrite() ដើម្បីបង្កើតសញ្ញា PWM ជាមួយនឹងតម្លៃដែលបានឌិកូដពីសំណើ HTPP ។
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
ដោយសារយើងទទួលបានតម្លៃនៅក្នុងអថេរខ្សែអក្សរ យើងត្រូវបំប្លែងពួកវាទៅជាចំនួនគត់ដោយប្រើវិធី toInt()។
បាតុកម្ម
បន្ទាប់ពីបញ្ចូលព័ត៌មានសម្ងាត់បណ្តាញរបស់អ្នករួចហើយ សូមជ្រើសរើសបន្ទះត្រឹមត្រូវ និងច្រក COM ហើយបង្ហោះកូដទៅកាន់ ESP32.Upload code reference step របស់អ្នក។
បន្ទាប់ពីផ្ទុកឡើង សូមបើក Serial Monitor ក្នុងអត្រា baud 115200 ហើយចុចប៊ូតុង ESP Enable/Reset។ អ្នកគួរតែទទួលបានអាសយដ្ឋាន IP របស់ក្រុមប្រឹក្សាភិបាល។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - LAN ដូចគ្នា។បើកកម្មវិធីរុករករបស់អ្នក ហើយបញ្ចូលអាសយដ្ឋាន IP ESP ។ ឥឡូវនេះ សូមប្រើឧបករណ៍ជ្រើសរើសពណ៌ ដើម្បីជ្រើសរើសពណ៌សម្រាប់ LED RGB ។
បន្ទាប់មកអ្នកត្រូវចុចប៊ូតុង "ផ្លាស់ប្តូរពណ៌" ដើម្បីឱ្យពណ៌មានប្រសិទ្ធភាព។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - LED RGBដើម្បីបិទ RGB LED សូមជ្រើសរើសពណ៌ខ្មៅ។
ពណ៌ខ្លាំងបំផុត (នៅផ្នែកខាងលើនៃជម្រើសពណ៌) គឺជាពណ៌ដែលនឹងផ្តល់លទ្ធផលកាន់តែប្រសើរ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លទ្ធផលកាន់តែប្រសើរ

គម្រោង 7 ESP32 Relay Web ម៉ាស៊ីនមេ

ការប្រើប្រាស់ឧបករណ៍បញ្ជូនតជាមួយ ESP32 គឺជាវិធីដ៏ល្អមួយក្នុងការគ្រប់គ្រងឧបករណ៍ប្រើប្រាស់ក្នុងផ្ទះ AC ពីចម្ងាយ។ ការបង្រៀននេះពន្យល់ពីរបៀបគ្រប់គ្រងម៉ូឌុលបញ្ជូនតជាមួយ ESP32 ។
យើងនឹងពិនិត្យមើលពីរបៀបដែលម៉ូឌុលបញ្ជូនតដំណើរការ របៀបភ្ជាប់ការបញ្ជូនតទៅ ESP32 និងបង្កើត web server ដើម្បីគ្រប់គ្រងការបញ្ជូនតពីចម្ងាយ។
ការណែនាំអំពីការបញ្ជូនត
ឧបករណ៍បញ្ជូនត គឺជាកុងតាក់ដែលដំណើរការដោយអគ្គិសនី ហើយដូចកុងតាក់ផ្សេងទៀតដែរ វាអាចបើក ឬបិទ អនុញ្ញាតឱ្យចរន្តឆ្លងកាត់ ឬអត់។ វាអាចត្រូវបានគ្រប់គ្រងដោយវ៉ុលទាបtages ដូចជា 3.3V ដែលផ្តល់ដោយ ESP32 GPIOs និងអនុញ្ញាតឱ្យយើងគ្រប់គ្រងវ៉ុលខ្ពស់tagដូចជា 12V, 24V ឬ mains voltage (230V នៅអឺរ៉ុប និង 120V នៅអាមេរិក)។LAFVIN ESP32 Basic Starter Kit - ការណែនាំអំពីការបញ្ជូនតនៅផ្នែកខាងឆ្វេងមានពីរសំណុំនៃរន្ធបីដើម្បីភ្ជាប់វ៉ុលខ្ពស់។tages និងម្ជុលនៅខាងស្តាំ (វ៉ុលទាបtage) ភ្ជាប់ទៅ ESP32 GPIOs ។
វ៉ុលមេសtagអ៊ីការតភ្ជាប់LAFVIN ESP32 Basic Starter Kit - Mains Voltagអ៊ីការតភ្ជាប់ម៉ូឌុលបញ្ជូនតដែលបង្ហាញក្នុងរូបថតមុនមានឧបករណ៍ភ្ជាប់ពីរ ដែលនីមួយៗមានរន្ធចំនួនបី៖ ធម្មតា (COM) ធម្មតាបិទ (NC) និងធម្មតាបើក (NO) ។

  • COM៖ ភ្ជាប់ចរន្តដែលអ្នកចង់គ្រប់គ្រង (main voltagង) ។
  • NC (ធម្មតាបិទ): ការកំណត់រចនាសម្ព័ន្ធបិទជាធម្មតាត្រូវបានប្រើនៅពេលដែលអ្នកចង់ឱ្យការបញ្ជូនតត្រូវបានបិទតាមលំនាំដើម។ NC គឺ COM pins ត្រូវបានតភ្ជាប់ មានន័យថា ចរន្តកំពុងហូរ លុះត្រាតែអ្នកបញ្ជូនសញ្ញាពី ESP32 ទៅកាន់ម៉ូឌុលបញ្ជូនបន្ត ដើម្បីបើកសៀគ្វី និងបញ្ឈប់លំហូរបច្ចុប្បន្ន។
  • NO (Normalally Open): ការកំណត់រចនាសម្ព័ន្ធបើកចំហធម្មតាដំណើរការតាមរបៀបផ្សេងទៀត៖ មិនមានការតភ្ជាប់រវាងម្ជុល NO និង COM ដូច្នេះសៀគ្វីត្រូវបានខូច លុះត្រាតែអ្នកផ្ញើសញ្ញាពី ESP32 ដើម្បីបិទសៀគ្វី។

ម្ជុលបញ្ជាកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ម្ជុលបញ្ជាវ៉ុលទាបtagខាងអ៊ីមានសំណុំម្ជុលបួន និងសំណុំម្ជុលបី។ ឈុតទីមួយមាន VCC និង GND ដើម្បីផ្តល់ថាមពលដល់ម៉ូឌុល ហើយបញ្ចូល 1 (IN1) និង input 2 (IN2) ដើម្បីគ្រប់គ្រងការបញ្ជូនបន្តខាងក្រោម និងផ្នែកខាងលើរៀងៗខ្លួន។
ប្រសិនបើម៉ូឌុលបញ្ជូនតរបស់អ្នកមានឆានែលតែមួយ នោះអ្នកនឹងមានម្ជុល IN តែមួយប៉ុណ្ណោះ។ ប្រសិនបើអ្នកមានប៉ុស្តិ៍ចំនួនបួន អ្នកនឹងមាន IN pins បួន ហើយដូច្នេះនៅលើ។
សញ្ញាដែលអ្នកផ្ញើទៅម្ជុល IN កំណត់ថាតើការបញ្ជូនតសកម្មឬអត់។ ការបញ្ជូនតត្រូវបានកេះនៅពេលដែលការបញ្ចូលទៅខាងក្រោមប្រហែល 2V ។ នេះមានន័យថាអ្នកនឹងមានសេណារីយ៉ូដូចខាងក្រោមៈ

  • ការកំណត់រចនាសម្ព័ន្ធបិទជាធម្មតា (NC)៖
  • សញ្ញាខ្ពស់ - ចរន្តកំពុងហូរ
  • សញ្ញាទាប - ចរន្តមិនហូរទេ។
  • ជាធម្មតាបើកការកំណត់រចនាសម្ព័ន្ធ (NO):
  • សញ្ញាខ្ពស់ - ចរន្តមិនហូរទេ។
  • សញ្ញាទាប - ចរន្តនៅក្នុងលំហូរ

អ្នកគួរតែប្រើការកំណត់រចនាសម្ព័ន្ធបិទជាធម្មតា នៅពេលដែលចរន្តគួរតែហូរភាគច្រើន ហើយអ្នកគ្រាន់តែចង់បញ្ឈប់វាម្តងម្កាល។
ប្រើការកំណត់រចនាសម្ព័ន្ធបើកធម្មតា នៅពេលអ្នកចង់ឱ្យចរន្តហូរម្តងម្កាល (សម្រាប់ឧample, បើក alamp ម្តងម្កាល)។
ការជ្រើសរើសការផ្គត់ផ្គង់ថាមពលកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ការជ្រើសរើសការផ្គត់ផ្គង់ថាមពលសំណុំម្ជុលទីពីរមានម្ជុល GND, VCC និង JD-VCC ។
ម្ជុល JD-VCC ផ្តល់ថាមពលដល់មេដែកអេឡិចត្រុងនៃការបញ្ជូនត។ ចំណាំថាម៉ូឌុលមានមួក jumper ភ្ជាប់ម្ជុល VCC និង JD-VCC; ដែលបង្ហាញនៅទីនេះមានពណ៌លឿង ប៉ុន្តែរបស់អ្នកប្រហែលជាពណ៌ផ្សេង។
ជាមួយនឹងការបើក jumper cap ម្ជុល VCC និង JD-VCC ត្រូវបានភ្ជាប់។ នោះមានន័យថា អេឡិចត្រូម៉ាញ៉េទិចបញ្ជូនតត្រូវបានផ្តល់ថាមពលដោយផ្ទាល់ពីម្ជុលថាមពល ESP32 ដូច្នេះម៉ូឌុលបញ្ជូនត និងសៀគ្វី ESP32 មិនដាច់ឆ្ងាយពីគ្នាទៅវិញទៅមកទេ។
បើគ្មានមួក jumper ទេ អ្នកត្រូវផ្តល់ប្រភពថាមពលឯករាជ្យ ដើម្បីផ្តល់ថាមពលដល់អេឡិចត្រូម៉ាញ៉េទិចរបស់ relay តាមរយៈម្ជុល JD-VCC ។ ការកំណត់រចនាសម្ព័ន្ធនោះផ្តាច់ការបញ្ជូនតចេញពី ESP32 ជាមួយនឹងឧបករណ៍ភ្ជាប់មកជាមួយ optocoupler របស់ម៉ូឌុល ដែលការពារការខូចខាតដល់ ESP32 ក្នុងករណីមានចរន្តអគ្គិសនី។
គ្រោងការណ៍កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍ការព្រមាន៖ ការប្រើប្រាស់វ៉ុលខ្ពស់tage ការផ្គត់ផ្គង់ថាមពលអាចបណ្តាលឱ្យមានរបួសធ្ងន់ធ្ងរ។
ដូច្នេះ LEDs 5mm ត្រូវបានប្រើជំនួសឱ្យវ៉ុលផ្គត់ផ្គង់ខ្ពស់។tage អំពូលនៅក្នុងការពិសោធន៍។ ប្រសិនបើអ្នកមិនស៊ាំជាមួយ mains voltagខ្ញុំសុំនរណាម្នាក់ដើម្បីជួយអ្នក។ ខណៈពេលដែលកំពុងសរសេរកម្មវិធី ESP ឬខ្សែភ្លើងសៀគ្វីរបស់អ្នក ត្រូវប្រាកដថាអ្វីៗទាំងអស់ត្រូវបានផ្តាច់ចេញពី mains voltage.LAFVIN ESP32 Basic Starter Kit - mains voltageការដំឡើងបណ្ណាល័យសម្រាប់ ESP32
ដើម្បីសាងសង់នេះ។ web ម៉ាស៊ីនមេ យើងប្រើ ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ និងបណ្ណាល័យ AsyncTCP ។
ការដំឡើង ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ
អនុវត្តតាមជំហានបន្ទាប់ដើម្បីដំឡើង ESPAsyncWebម៉ាស៊ីនមេ បណ្ណាល័យ៖

  1. ចុចទីនេះដើម្បីទាញយក ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ។ អ្នកគួរតែមាន
    ថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែទទួលបាន ESPAsyncWebថតម៉ាស៊ីនមេ
  3. ប្តូរឈ្មោះថតរបស់អ្នកពី ESPAsyncWebServer-master ទៅ ESPAsyncWebម៉ាស៊ីនមេ
  4. ផ្លាស់ទី ESPAsyncWebថតម៉ាស៊ីនមេទៅកាន់ថតឯកសារបណ្ណាល័យដំឡើង Arduino IDE របស់អ្នក។

ជាជម្រើស នៅក្នុង Arduino IDE របស់អ្នក អ្នកអាចចូលទៅកាន់ Sketch > Include
បណ្ណាល័យ > បន្ថែមបណ្ណាល័យ .ZIP… ហើយជ្រើសរើសបណ្ណាល័យដែលអ្នកទើបតែបានទាញយក។
ការដំឡើងបណ្ណាល័យ AsyncTCP សម្រាប់ ESP32
នេះ។ ESPAsyncWebម៉ាស៊ីនមេ បណ្ណាល័យត្រូវការ AsyncTCP បណ្ណាល័យដើម្បីធ្វើការ។ ធ្វើតាម
ជំហានបន្ទាប់ដើម្បីដំឡើងបណ្ណាល័យនោះ៖

  1. ចុចទីនេះដើម្បីទាញយកបណ្ណាល័យ AsyncTCP ។ អ្នកគួរតែមានថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែទទួលបានថត AsyncTCP-master
    1. ប្តូរឈ្មោះថតរបស់អ្នកពី AsyncTCP-master ទៅ AsyncTCP
    3. ផ្លាស់ទីថត AsyncTCP ទៅថតឯកសារដំឡើង Arduino IDE របស់អ្នក។
    4. ជាចុងក្រោយ សូមបើក Arduino IDE របស់អ្នកឡើងវិញ

ជាជម្រើស នៅក្នុង Arduino IDE របស់អ្នក អ្នកអាចចូលទៅកាន់ Sketch > Include
បណ្ណាល័យ > បន្ថែមបណ្ណាល័យ .ZIP… ហើយជ្រើសរើសបណ្ណាល័យដែលអ្នកទើបតែបានទាញយក។
កូដ
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
បន្ទាប់ពីដំឡើងបណ្ណាល័យដែលត្រូវការ សូមបើកកូដ Project_7_ESP32_Relay_Web_Server.ino ក្នុង arduino IDE ។
មុននឹងបង្ហោះកូដ សូមកុំភ្លេចបញ្ចូលអត្តសញ្ញាណបណ្តាញរបស់អ្នក ដើម្បីឱ្យ ESP អាចភ្ជាប់ទៅបណ្តាញមូលដ្ឋានរបស់អ្នក។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បណ្តាញអូឡាំបាតុកម្ម
បន្ទាប់ពីធ្វើការផ្លាស់ប្តូរចាំបាច់ សូមបង្ហោះកូដទៅកាន់ ESP32.Upload code reference step របស់អ្នក។
បើក Serial Monitor ក្នុងអត្រា baud នៃ 115200 ហើយចុចប៊ូតុង ESP32 EN ដើម្បីទទួលបានអាសយដ្ឋាន IP របស់វា។ បន្ទាប់មក សូមបើកកម្មវិធីរុករកតាមអ៊ីនធឺណិតក្នុងបណ្តាញមូលដ្ឋានរបស់អ្នក ហើយវាយបញ្ចូលអាសយដ្ឋាន IP របស់ ESP32 ដើម្បីទទួលបានការចូលទៅកាន់ web ម៉ាស៊ីនមេ។
បើក Serial Monitor ក្នុងអត្រា baud នៃ 115200 ហើយចុចប៊ូតុង ESP32 EN ដើម្បីទទួលបានអាសយដ្ឋាន IP របស់វា។ បន្ទាប់មក សូមបើកកម្មវិធីរុករកតាមអ៊ីនធឺណិតក្នុងបណ្តាញមូលដ្ឋានរបស់អ្នក ហើយវាយបញ្ចូលអាសយដ្ឋាន IP របស់ ESP32 ដើម្បីទទួលបានការចូលទៅកាន់ web ម៉ាស៊ីនមេ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - web ម៉ាស៊ីនមេចំណាំ៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិត និង ESP32 របស់អ្នកគួរតែត្រូវបានភ្ជាប់ទៅបណ្តាញមូលដ្ឋានដូចគ្នា។
អ្នកគួរតែទទួលបានអ្វីមួយដូចខាងក្រោមជាមួយនឹងប៊ូតុងពីរដូចជាចំនួននៃការបញ្ជូនតដែលអ្នកបានកំណត់នៅក្នុងកូដរបស់អ្នក។LAFVIN ESP32 Basic Starter Kit - ស្មាតហ្វូនឥឡូវនេះ អ្នកអាចប្រើប៊ូតុងដើម្បីគ្រប់គ្រងការបញ្ជូនតរបស់អ្នកដោយប្រើស្មាតហ្វូនរបស់អ្នក។LAFVIN ESP32 Basic Starter Kit - ស្មាតហ្វូន ១

Project_8_Output_State_Synchronization_ Web_ម៉ាស៊ីនមេ

គម្រោងនេះបង្ហាញពីរបៀបគ្រប់គ្រងលទ្ធផល ESP32 ឬ ESP8266 ដោយប្រើ a web ម៉ាស៊ីនមេ និងប៊ូតុងរូបវ័ន្តក្នុងពេលដំណាលគ្នា។ ស្ថានភាពទិន្នផលត្រូវបានធ្វើបច្ចុប្បន្នភាពនៅលើ web ទំព័រថាតើវាត្រូវបានផ្លាស់ប្តូរតាមរយៈប៊ូតុងរូបវ័ន្តឬ web ម៉ាស៊ីនមេ។
គម្រោងបញ្ចប់view
សូមក្រឡេកមើលពីរបៀបដែលគម្រោងដំណើរការ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គម្រោងបានបញ្ចប់viewESP32 ឬ ESP8266 ជាម្ចាស់ផ្ទះ a web ម៉ាស៊ីនមេដែលអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងស្ថានភាពនៃលទ្ធផល;

  • ស្ថានភាពទិន្នផលបច្ចុប្បន្នត្រូវបានបង្ហាញនៅលើ web ម៉ាស៊ីនមេ;
  • ESP ក៏ត្រូវបានភ្ជាប់ទៅប៊ូតុងរុញដែលគ្រប់គ្រងទិន្នផលដូចគ្នា;
  • ប្រសិនបើអ្នកផ្លាស់ប្តូរស្ថានភាពទិន្នផលដោយប្រើប៊ូតុងរូបវ័ន្ត ស្ថានភាពបច្ចុប្បន្នរបស់វាក៏ត្រូវបានអាប់ដេតនៅលើប៊ូតុង web ម៉ាស៊ីនមេ។

សរុបមក គម្រោងនេះអនុញ្ញាតឱ្យអ្នកត្រួតពិនិត្យទិន្នផលដូចគ្នាដោយប្រើ a web ម៉ាស៊ីនមេ និងប៊ូតុងរុញក្នុងពេលដំណាលគ្នា។ នៅពេលណាដែលស្ថានភាពទិន្នផលផ្លាស់ប្តូរ web ម៉ាស៊ីនមេត្រូវបានធ្វើបច្ចុប្បន្នភាព។
ផ្នែកដែលត្រូវការ
នេះគឺជាបញ្ជីនៃផ្នែកដែលអ្នកត្រូវការដើម្បីបង្កើតសៀគ្វី៖

  • ក្រុមប្រឹក្សាភិបាល ESP32 DEVKIT V1
  • LED 5 ម។
  • ឧបករណ៍ទប់ទល់ 220 Ohm
  • ចុច​ប៊ូតុង
  • ឧបករណ៍ទប់ទល់ 10k Ohm
  • ក្តារនំប៉័ង
  • ខ្សែភ្លើងលោត

គ្រោងការណ៍កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍ 1ការដំឡើងបណ្ណាល័យសម្រាប់ ESP32
ដើម្បីសាងសង់នេះ។ web ម៉ាស៊ីនមេ យើងប្រើ ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ និងបណ្ណាល័យ AsyncTCP ។(ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។)
ការដំឡើង ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ
អនុវត្តតាមជំហានបន្ទាប់ដើម្បីដំឡើង ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ៖

  1. ចុចទីនេះដើម្បីទាញយក ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ។ អ្នកគួរតែមាន
    ថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែទទួលបាន ESPAsyncWebថតម៉ាស៊ីនមេ
  3. ប្តូរឈ្មោះថតរបស់អ្នកពី ESPAsyncWebServer-master ទៅ ESPAsyncWebម៉ាស៊ីនមេ
  4. ផ្លាស់ទី ESPAsyncWebថតម៉ាស៊ីនមេទៅកាន់ថតឯកសារបណ្ណាល័យដំឡើង Arduino IDE របស់អ្នក។
    ជាជម្រើស នៅក្នុង Arduino IDE របស់អ្នក អ្នកអាចចូលទៅកាន់ Sketch > Include
    បណ្ណាល័យ > បន្ថែមបណ្ណាល័យ .ZIP… ហើយជ្រើសរើសបណ្ណាល័យដែលអ្នកទើបតែបានទាញយក។

ការដំឡើងបណ្ណាល័យ AsyncTCP សម្រាប់ ESP32
ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេតម្រូវឱ្យបណ្ណាល័យ AsyncTCP ដំណើរការ។ សូមអនុវត្តតាមជំហានបន្ទាប់ ដើម្បីដំឡើងបណ្ណាល័យនោះ៖

  1. ចុចទីនេះដើម្បីទាញយកបណ្ណាល័យ AsyncTCP ។ អ្នកគួរតែមានថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែទទួលបានថត AsyncTCP-master
  3. ប្តូរឈ្មោះថតរបស់អ្នកពី AsyncTCP-master ទៅ AsyncTCP
  4. ផ្លាស់ទីថត AsyncTCP ទៅថតឯកសារដំឡើង Arduino IDE របស់អ្នក។
  5. ជាចុងក្រោយ បើក Arduino IDE របស់អ្នកឡើងវិញ
    ជាជម្រើស នៅក្នុង Arduino IDE របស់អ្នក អ្នកអាចចូលទៅកាន់ Sketch > Include
    បណ្ណាល័យ > បន្ថែមបណ្ណាល័យ .ZIP… ហើយជ្រើសរើសបណ្ណាល័យដែលអ្នកទើបតែបានទាញយក។

កូដ
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
បន្ទាប់ពីដំឡើងបណ្ណាល័យដែលត្រូវការ បើកកូដ
Project_8_Output_State_Synchronization_Web_Server.ino ក្នុង arduino IDE ។
មុននឹងបង្ហោះកូដ សូមកុំភ្លេចបញ្ចូលអត្តសញ្ញាណបណ្តាញរបស់អ្នក ដើម្បីឱ្យ ESP អាចភ្ជាប់ទៅបណ្តាញមូលដ្ឋានរបស់អ្នក។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ

របៀបដែលកូដដំណើរការ

ស្ថានភាពប៊ូតុង និងស្ថានភាពទិន្នផល
អថេរ ledState រក្សាស្ថានភាពទិន្នផល LED ។ សម្រាប់លំនាំដើម, នៅពេលដែល web ម៉ាស៊ីនមេចាប់ផ្តើម វាទាប។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ដំណើរការកូដ

buttonState និង lastButtonState ត្រូវបានប្រើដើម្បីរកមើលថាតើប៊ូតុងរុញត្រូវបានចុចឬអត់។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ត្រូវបានចុចប៊ូតុង (web ម៉ាស៊ីនមេ)
យើងមិនបានបញ្ចូល HTML ដើម្បីបង្កើតប៊ូតុងនៅលើអថេរ index_html ទេ។
នោះដោយសារតែយើងចង់អាចផ្លាស់ប្តូរវាអាស្រ័យលើស្ថានភាព LED បច្ចុប្បន្នដែលអាចត្រូវបានផ្លាស់ប្តូរផងដែរជាមួយនឹងប៊ូតុងរុញ។
ដូច្នេះ យើងបានបង្កើតកន្លែងដាក់សម្រាប់ប៊ូតុង %BUTTONPLACEHOLDER% ដែលនឹងត្រូវបានជំនួសដោយអត្ថបទ HTML ដើម្បីបង្កើតប៊ូតុងនៅពេលក្រោយនៅលើកូដ (វាត្រូវបានធ្វើនៅក្នុងមុខងារ processor())។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ត្រូវបានចុច 1ខួរក្បាល ()
មុខងារ processor() ជំនួសកន្លែងដាក់ណាមួយនៅលើអត្ថបទ HTML ជាមួយនឹងតម្លៃជាក់ស្តែង។ ជាដំបូង វាពិនិត្យមើលថាតើអត្ថបទ HTML មានផ្ទុកណាមួយឬអត់
កន្លែងដាក់ %BUTTONPLACEHOLDER% ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ដំណើរការបន្ទាប់មក ហៅមុខងារ theoutputState() ដែលត្រឡប់ស្ថានភាពលទ្ធផលបច្ចុប្បន្ន។ យើងរក្សាទុកវានៅក្នុងអថេរ outputStateValue ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - outputStateបន្ទាប់ពីនោះ សូមប្រើតម្លៃនោះដើម្បីបង្កើតអត្ថបទ HTML ដើម្បីបង្ហាញប៊ូតុងជាមួយនឹងស្ថានភាពត្រឹមត្រូវ៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 4HTTP GET សំណើដើម្បីផ្លាស់ប្តូរស្ថានភាពទិន្នផល (JavaScript)
នៅពេលអ្នកចុចប៊ូតុង មុខងារ thetoggleCheckbox() ត្រូវបានហៅ។ មុខងារនេះនឹងធ្វើការស្នើសុំលើភាពខុសគ្នា URLs ដើម្បីបើកឬបិទ LED ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - JavaScriptដើម្បីបើក LED វាធ្វើការស្នើសុំនៅលើ /update?state=1 URL:កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - element.checkedបើមិនដូច្នេះទេ វាធ្វើសំណើនៅលើ /update?state=0 URL.
HTTP GET សំណើដើម្បីធ្វើបច្ចុប្បន្នភាពរដ្ឋ (JavaScript)
ដើម្បីរក្សាស្ថានភាពទិន្នផលធ្វើឱ្យទាន់សម័យនៅលើ web server យើងហៅមុខងារខាងក្រោមដែលធ្វើសំណើថ្មីនៅលើ /state URL រាល់វិនាទី។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ធ្វើបច្ចុប្បន្នភាពស្ថានភាពកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ធ្វើបច្ចុប្បន្នភាពស្ថានភាព 1ដោះស្រាយសំណើ
បន្ទាប់មក យើងត្រូវដោះស្រាយនូវអ្វីដែលកើតឡើងនៅពេលដែល ESP32 ឬ ESP8266 ទទួលបានសំណើរទាំងនោះ។ URLs.
នៅពេលដែលសំណើត្រូវបានទទួលនៅលើ root /URLយើងផ្ញើទំព័រ HTML ក៏ដូចជាខួរក្បាល។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ដោះស្រាយសំណើកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ដោះស្រាយសំណើ 1បន្ទាត់ខាងក្រោមពិនិត្យមើលថាតើអ្នកបានទទួលសំណើនៅលើ /update?state=1 ឬ /update?state=0 URL និងផ្លាស់ប្តូរ ledState ទៅតាមនោះ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ledStateកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - inputParamនៅពេលដែលសំណើត្រូវបានទទួលនៅលើ / រដ្ឋ URLយើងផ្ញើស្ថានភាពទិន្នផលបច្ចុប្បន្ន៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ស្ថានភាពទិន្នផលរង្វិលជុំ()
នៅក្នុងរង្វិលជុំ () យើងបញ្ចេញប៊ូតុងរុញហើយបើកឬបិទ LED អាស្រ័យលើតម្លៃនៃ ledState អថេរ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - រង្វិលជុំ 1បាតុកម្ម
ផ្ទុកឡើងកូដទៅកាន់ក្រុមប្រឹក្សាភិបាល ESP32 របស់អ្នក។ ផ្ទុកឡើងនូវជំហានយោងកូដ។
បន្ទាប់មក បើក Serial Monitor ក្នុងអត្រា baud 115200។ ចុចប៊ូតុង EN/RST នៅលើយន្តហោះ ដើម្បីទទួលបានអាសយដ្ឋាន IP។LAFVIN ESP32 Basic Starter Kit - ការបង្ហាញបើកកម្មវិធីរុករកតាមអ៊ីនធឺណិតនៅលើបណ្តាញមូលដ្ឋានរបស់អ្នក ហើយវាយអាសយដ្ឋាន IP របស់ ESP ។ អ្នកគួរតែមានសិទ្ធិចូលប្រើ web server ដូចបង្ហាញខាងក្រោម។
ចំណាំ៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិត និង ESP32 របស់អ្នកគួរតែត្រូវបានភ្ជាប់ទៅបណ្តាញមូលដ្ឋានដូចគ្នា។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - កម្មវិធីរុករកអ្នកអាចបិទបើកប៊ូតុងនៅលើ web ម៉ាស៊ីនមេដើម្បីបើក LED ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - web ម៉ាស៊ីនបម្រើ 1អ្នកក៏អាចគ្រប់គ្រង LED ដូចគ្នាដោយប្រើប៊ូតុងរុញរាងកាយ។ ស្ថានភាពរបស់វានឹងតែងតែត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិនៅលើ web ម៉ាស៊ីនមេ។

គម្រោងទី 9 ESP32 DHT11 Web ម៉ាស៊ីនមេ

នៅក្នុងគម្រោងនេះ អ្នកនឹងរៀនពីរបៀបបង្កើត ESP32 អសមកាល web ម៉ាស៊ីនមេជាមួយ DHT11 ដែលបង្ហាញសីតុណ្ហភាព និងសំណើមដោយប្រើ Arduino IDE ។
តម្រូវការជាមុន
នេះ។ web ម៉ាស៊ីនមេ យើងនឹងបង្កើតការអាប់ដេតការអានដោយស្វ័យប្រវត្តិ ដោយមិនចាំបាច់ធ្វើបច្ចុប្បន្នភាព web ទំព័រ។
ជាមួយនឹងគម្រោងនេះ អ្នកនឹងរៀន៖

  • របៀបអានសីតុណ្ហភាព និងសំណើមពីឧបករណ៍ចាប់សញ្ញា DHT;
  • បង្កើតអសមកាល web ម៉ាស៊ីនមេដោយប្រើ ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ;
  • ធ្វើបច្ចុប្បន្នភាពការអានរបស់ឧបករណ៍ចាប់សញ្ញាដោយស្វ័យប្រវត្តិដោយមិនចាំបាច់ធ្វើបច្ចុប្បន្នភាព web ទំព័រ។

អសមកាល Web ម៉ាស៊ីនមេ
ដើម្បីសាងសង់ web ម៉ាស៊ីនមេដែលយើងនឹងប្រើ ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ ដែលផ្តល់នូវវិធីងាយស្រួលក្នុងការបង្កើតអសមកាល web ម៉ាស៊ីនមេ។ ការកសាងអសមកាល web server មាន advan ជាច្រើន។tages ដូចដែលបានរៀបរាប់ក្នុងបណ្ណាល័យទំព័រ GitHub ដូចជា៖

  • "គ្រប់គ្រងការតភ្ជាប់ច្រើនជាងមួយក្នុងពេលតែមួយ";
  • "នៅពេលអ្នកផ្ញើការឆ្លើយតប អ្នកត្រៀមខ្លួនភ្លាមៗដើម្បីដោះស្រាយការភ្ជាប់ផ្សេងទៀត ខណៈពេលដែលម៉ាស៊ីនមេកំពុងយកចិត្តទុកដាក់ក្នុងការផ្ញើការឆ្លើយតបនៅក្នុងផ្ទៃខាងក្រោយ";
  • "ម៉ាស៊ីនដំណើរការគំរូសាមញ្ញដើម្បីគ្រប់គ្រងគំរូ";

ផ្នែកដែលត្រូវការ
ដើម្បីបញ្ចប់ការបង្រៀននេះ អ្នកត្រូវការផ្នែកខាងក្រោម៖

  • ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ ESP32
  • ម៉ូឌុល DHT11
  • ក្តារនំប៉័ង
  • ខ្សែភ្លើងលោត

គ្រោងការណ៍កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍ 2ការដំឡើងបណ្ណាល័យ
អ្នកត្រូវដំឡើងបណ្ណាល័យពីរបីសម្រាប់គម្រោងនេះ៖

ការដំឡើងបណ្ណាល័យឧបករណ៍ចាប់សញ្ញា DHT
ដើម្បីអានពីឧបករណ៍ចាប់សញ្ញា DHT ដោយប្រើ Arduino IDE អ្នកត្រូវដំឡើង បណ្ណាល័យឧបករណ៍ចាប់សញ្ញា DHT. អនុវត្តតាមជំហានបន្ទាប់ដើម្បីដំឡើងបណ្ណាល័យ។

  1. ចុចទីនេះដើម្បីទាញយកបណ្ណាល័យ DHT Sensor ។ អ្នកគួរតែមានថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែទទួលបានថតឯកសារ DHT-sensor-library-master
  3. ប្តូរឈ្មោះថតរបស់អ្នកពី DHT-sensor-library-master ទៅ DHT_sensor
  4. ផ្លាស់ទីថត DHT_sensor ទៅថតឯកសារដំឡើង Arduino IDE របស់អ្នក។
  5. ជាចុងក្រោយ បើក Arduino IDE របស់អ្នកឡើងវិញ

ការដំឡើង Adafruit Unified Sensor Driver
អ្នកក៏ត្រូវដំឡើង បណ្ណាល័យកម្មវិធីបញ្ជាឧបករណ៍ចាប់សញ្ញាបង្រួបបង្រួម Adafruit ដើម្បីធ្វើការជាមួយឧបករណ៍ចាប់សញ្ញា DHT ។ អនុវត្តតាមជំហានបន្ទាប់ដើម្បីដំឡើងបណ្ណាល័យ។

  1. ចុចទីនេះដើម្បីទាញយកបណ្ណាល័យ Adafruit Unified Sensor ។ អ្នកគួរតែមានថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែទទួលបានថតឯកសារ Adafruit_sensor-master
  3. ប្តូរឈ្មោះថតរបស់អ្នកពី Adafruit_sensor-master ទៅ Adafruit_sensor
  4. ផ្លាស់ទីថត Adafruit_sensor ទៅថតឯកសារដំឡើង Arduino IDE របស់អ្នក។
  5. ជាចុងក្រោយ បើក Arduino IDE របស់អ្នកឡើងវិញ

ការដំឡើង ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ

អនុវត្តតាមជំហានបន្ទាប់ដើម្បីដំឡើង ESPAsyncWebម៉ាស៊ីនមេ បណ្ណាល័យ៖

  1. ចុចទីនេះដើម្បីទាញយក ESPAsyncWebបណ្ណាល័យម៉ាស៊ីនមេ។ អ្នកគួរតែមាន
    ថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែ
    ទទួលបាន ESPAsyncWebថតម៉ាស៊ីនមេ
  3. ប្តូរឈ្មោះថតរបស់អ្នកពី ESPAsyncWebServer-master ទៅ ESPAsyncWebម៉ាស៊ីនមេ
  4. ផ្លាស់ទី ESPAsyncWebថតម៉ាស៊ីនមេទៅកាន់ថតឯកសារបណ្ណាល័យដំឡើង Arduino IDE របស់អ្នក។

ការដំឡើងបណ្ណាល័យ Async TCP សម្រាប់ ESP32
នេះ។ ESPAsyncWebម៉ាស៊ីនមេ បណ្ណាល័យត្រូវការ AsyncTCP បណ្ណាល័យដើម្បីធ្វើការ។ សូមអនុវត្តតាមជំហានបន្ទាប់ ដើម្បីដំឡើងបណ្ណាល័យនោះ៖

  1. ចុចទីនេះដើម្បីទាញយកបណ្ណាល័យ AsyncTCP ។ អ្នកគួរតែមានថតឯកសារ .zip នៅក្នុងថតឯកសារទាញយករបស់អ្នក។
  2. ពន្លាថតឯកសារ .zip ហើយអ្នកគួរតែទទួលបានថត AsyncTCP-master
  3. ប្តូរឈ្មោះថតរបស់អ្នកពី AsyncTCP-master ទៅ AsyncTCP
  4. ផ្លាស់ទីថត AsyncTCP ទៅថតឯកសារដំឡើង Arduino IDE របស់អ្នក។
  5. ជាចុងក្រោយ បើក Arduino IDE របស់អ្នកឡើងវិញ

កូដ
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDE
បន្ទាប់ពីដំឡើងបណ្ណាល័យដែលត្រូវការ បើកកូដ
គម្រោង_9_ESP32_DHT11_Web_Server.ino ក្នុង arduino IDE ។
មុននឹងបង្ហោះកូដ សូមកុំភ្លេចបញ្ចូលអត្តសញ្ញាណបណ្តាញរបស់អ្នក ដើម្បីឱ្យ ESP អាចភ្ជាប់ទៅបណ្តាញមូលដ្ឋានរបស់អ្នក។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដរបៀបដែលកូដដំណើរការ
នៅក្នុងកថាខណ្ឌខាងក្រោម យើងនឹងពន្យល់ពីរបៀបដែលកូដដំណើរការ។ បន្តអានប្រសិនបើអ្នកចង់ស្វែងយល់បន្ថែម ឬចូលទៅកាន់ផ្នែកបាតុកម្ម ដើម្បីមើលលទ្ធផលចុងក្រោយ។
ការនាំចូលបណ្ណាល័យ
ដំបូងនាំចូលបណ្ណាល័យដែលត្រូវការ។ វ៉ាយហ្វាយ ESPAsyncWebម៉ាស៊ីនមេ និង ESPAsyncTCP ត្រូវការជាចាំបាច់ដើម្បីបង្កើត web ម៉ាស៊ីនមេ។ Adafruit_Sensor និងបណ្ណាល័យ DHT ត្រូវការដើម្បីអានពីឧបករណ៍ចាប់សញ្ញា DHT11 ឬ DHT22។LAFVIN ESP32 Basic Starter Kit - កំពុងនាំចូលបណ្ណាល័យកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - របៀបដែលកូដដំណើរការនិយមន័យអថេរ
កំណត់ GPIO ដែលម្ជុលទិន្នន័យ DHT ត្រូវបានភ្ជាប់។ ក្នុងករណីនេះវាត្រូវបានភ្ជាប់ទៅ GPIO 4 ។LAFVIN ESP32 Basic Starter Kit - និយមន័យអថេរបន្ទាប់មក ជ្រើសរើសប្រភេទឧបករណ៍ចាប់សញ្ញា DHT ដែលអ្នកកំពុងប្រើ។ នៅក្នុងអតីតរបស់យើង។ampដូច្នេះ យើងកំពុងប្រើ DHT22។ ប្រសិនបើអ្នកកំពុងប្រើប្រភេទផ្សេងទៀត អ្នកគ្រាន់តែត្រូវការបញ្ចេញមតិលើឧបករណ៍ចាប់សញ្ញារបស់អ្នក ហើយបញ្ចេញមតិផ្សេងទៀតទាំងអស់។LAFVIN ESP32 Basic Starter Kit - និយមន័យអថេរ ១

បញ្ចូលវត្ថុ DHT ភ្លាមៗជាមួយនឹងប្រភេទ និងម្ជុលដែលយើងបានកំណត់ពីមុន។LAFVIN ESP32 Basic Starter Kit - និយមន័យអថេរ ១បង្កើត AsyncWebវត្ថុម៉ាស៊ីនមេនៅលើច្រក 80 ។LAFVIN ESP32 Basic Starter Kit - និយមន័យអថេរ ១អានមុខងារសីតុណ្ហភាព និងសំណើម
យើងបានបង្កើតមុខងារពីរ៖ មួយសម្រាប់អានសីតុណ្ហភាព យើងបានបង្កើតមុខងារពីរ៖ មួយសម្រាប់អានសីតុណ្ហភាព (readDHTTemperature()) និងមួយទៀតសម្រាប់អានសំណើម (readDHTHumidity())។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - អានDHTHumidityកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ការអានឧបករណ៍ចាប់សញ្ញាការទទួលការអានរបស់ឧបករណ៍ចាប់សញ្ញាគឺសាមញ្ញដូចជាការប្រើ Getting sensor readings គឺសាមញ្ញដូចជាការប្រើ readTemperature() និង readHumidity() method នៅលើ dht object។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - វត្ថុយើងក៏មានលក្ខខណ្ឌមួយដែលត្រឡប់សញ្ញាពីរ (–) ក្នុងករណីដែលឧបករណ៍ចាប់សញ្ញាបរាជ័យក្នុងការទទួលការអាន។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ការអានការអានត្រូវបានត្រឡប់ជាប្រភេទខ្សែអក្សរ។ ដើម្បីបំប្លែងអណ្តែតទៅខ្សែអក្សរ សូមប្រើមុខងារ String()កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ខ្សែអក្សរតាមលំនាំដើម យើងកំពុងអានសីតុណ្ហភាពជាអង្សាសេ។ ដើម្បីទទួលបានសីតុណ្ហភាពជាអង្សាហ្វារិនហៃ សូមបញ្ចេញមតិអំពីសីតុណ្ហភាពជាអង្សាសេ ហើយមិនបញ្ចេញមតិអំពីសីតុណ្ហភាពជាហ្វារិនហៃ ដូច្នេះអ្នកមានដូចខាងក្រោម៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ហ្វារិនហៃLAFVIN ESP32 Basic Starter Kit - Fahrenheit ១បង្ហោះកូដ
ឥឡូវនេះ សូមផ្ទុកឡើងកូដទៅកាន់ ESP32 របស់អ្នក។ ត្រូវប្រាកដថាអ្នកមានក្តារត្រឹមត្រូវ និងច្រក COM ដែលបានជ្រើសរើស។ ផ្ទុកឡើងនូវជំហានយោងកូដ។
បន្ទាប់ពីផ្ទុកឡើង សូមបើក Serial Monitor ក្នុងអត្រា baud 115200។ ចុចប៊ូតុង Reset ESP32។ អាសយដ្ឋាន IP ESP32 គួរតែត្រូវបានបោះពុម្ពនៅក្នុងសៀរៀល ម៉ូនីទ័រ។LAFVIN ESP32 Basic Starter Kit - ផ្ទុកឡើងកូដបាតុកម្ម
បើកកម្មវិធីរុករកហើយវាយអាសយដ្ឋាន IP ESP32 ។ របស់អ្នក។ web ម៉ាស៊ីនមេគួរតែបង្ហាញការអានឧបករណ៍ចាប់សញ្ញាចុងក្រោយបំផុត។
ចំណាំ៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិត និង ESP32 របស់អ្នកគួរតែត្រូវបានភ្ជាប់ទៅបណ្តាញមូលដ្ឋានដូចគ្នា។
ចំណាំថាការអានសីតុណ្ហភាព និងសំណើមត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិដោយមិនចាំបាច់ធ្វើបច្ចុប្បន្នភាព web ទំព័រ។LAFVIN ESP32 Basic Starter Kit - ការបង្ហាញ ១

Project_10_ESP32_OLED_Display

គម្រោងនេះបង្ហាញពីរបៀបប្រើប្រាស់អេក្រង់ 0.96 អ៊ីង SSD1306 OLED ជាមួយ ESP32 ដោយប្រើ Arduino IDE ។
បង្ហាញអេក្រង់ OLED ទំហំ 0.96 អ៊ីញ
នេះ។ អេក្រង់ OLED ដែលយើងនឹងប្រើនៅក្នុងការបង្រៀននេះគឺម៉ូដែល SSD1306៖ មួយពណ៌ អេក្រង់ 0.96 អ៊ីង ជាមួយនឹង 128 × 64 ភីកសែល ដូចបង្ហាញក្នុងរូបខាងក្រោម។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - OLEDDisplayអេក្រង់ OLED មិនតម្រូវឱ្យមានអំពូល Backlight ដែលនាំឱ្យមានភាពផ្ទុយគ្នាល្អនៅក្នុងបរិយាកាសងងឹត។ លើសពីនេះ ភីកសែលរបស់វាប្រើប្រាស់ថាមពលតែនៅពេលដែលវាបើក ដូច្នេះអេក្រង់ OLED ប្រើប្រាស់ថាមពលតិចជាងបើប្រៀបធៀបទៅនឹងអេក្រង់ផ្សេងទៀត។
ដោយសារអេក្រង់ OLED ប្រើពិធីការទំនាក់ទំនង I2C ខ្សែភ្លើងគឺសាមញ្ញណាស់។ អ្នកអាចប្រើតារាងខាងក្រោមជាឯកសារយោង។

ម្ជុល OLED ESP១៧.៦
វីន 3.3V
GND GND
SCL GPIO ១០
អេសឌីអេ GPIO ១០

គ្រោងការណ៍កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គ្រោងការណ៍ការដំឡើង SSD1306 OLED Library - ESP32
មានបណ្ណាល័យជាច្រើនដែលអាចគ្រប់គ្រងអេក្រង់ OLED ជាមួយ ESP32។
នៅក្នុងការបង្រៀននេះ យើងនឹងប្រើបណ្ណាល័យ Adafruit ពីរ៖ បណ្ណាល័យ Adafruit_SSD1306 និង បណ្ណាល័យ Adafruit_GFX.
អនុវត្តតាមជំហានបន្ទាប់ដើម្បីដំឡើងបណ្ណាល័យទាំងនោះ។

  1. បើក Arduino IDE របស់អ្នក ហើយចូលទៅកាន់ Sketch > Include Library > Manage Libraries។ កម្មវិធីគ្រប់គ្រងបណ្ណាល័យគួរតែបើក។
  2. វាយ "SSD1306" នៅក្នុងប្រអប់ស្វែងរក ហើយដំឡើងបណ្ណាល័យ SSD1306 ពី Adafruit ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - OLEDLibrary–
  3. បន្ទាប់ពីដំឡើងបណ្ណាល័យ SSD1306 ពី Adafruit វាយ "GFX" នៅក្នុងប្រអប់ស្វែងរក ហើយដំឡើងបណ្ណាល័យ។LAFVIN ESP32 Basic Starter Kit - បណ្ណាល័យ
  4. បន្ទាប់ពីដំឡើងបណ្ណាល័យរួច សូមចាប់ផ្តើម Arduino IDE របស់អ្នកឡើងវិញ។

កូដ
បន្ទាប់ពីដំឡើងបណ្ណាល័យដែលត្រូវការ សូមបើក Project_10_ESP32_OLED_Display.ino នៅក្នុង arduino IDE ។ កូដ
យើងនឹងសរសេរកម្មវិធី ESP32 ដោយប្រើ Arduino IDE ដូច្នេះត្រូវប្រាកដថាអ្នកបានដំឡើងកម្មវិធីបន្ថែម ESP32 មុនពេលបន្ត៖ (ប្រសិនបើអ្នកបានធ្វើជំហាននេះរួចហើយ អ្នកអាចរំលងទៅជំហានបន្ទាប់។ )
ការដំឡើងកម្មវិធីបន្ថែម ESP32 នៅក្នុង Arduino IDEកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 1កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 2កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 3របៀបដែលកូដដំណើរការ
ការនាំចូលបណ្ណាល័យ
ដំបូងអ្នកត្រូវនាំចូលបណ្ណាល័យចាំបាច់។ បណ្ណាល័យ Wire ដើម្បីប្រើ I2C និងបណ្ណាល័យ Adafruit ដើម្បីសរសេរទៅកាន់ការបង្ហាញ៖ Adafruit_GFX និង Adafruit_SSD1306។LAFVIN ESP32 Basic Starter Kit - Code Works 1LAFVIN ESP32 Basic Starter Kit - Code Works 2ចាប់ផ្តើមអេក្រង់ OLED
បន្ទាប់មក អ្នកកំណត់ទទឹង និងកម្ពស់ OLED របស់អ្នក។ នៅក្នុងនេះ អតីតampដូច្នេះ យើងកំពុងប្រើអេក្រង់ OLED 128×64។ ប្រសិនបើអ្នកកំពុងប្រើទំហំផ្សេងទៀត អ្នកអាចផ្លាស់ប្តូរវានៅក្នុងអថេរ SCREEN_WIDTH និង SCREEN_HEIGHT។LAFVIN ESP32 Basic Starter Kit - អេក្រង់ OLEDបន្ទាប់មក ចាប់ផ្តើមវត្ថុបង្ហាញជាមួយនឹងទទឹង និងកម្ពស់ដែលបានកំណត់ពីមុនជាមួយនឹងពិធីការទំនាក់ទំនង I2C (&Wire)។LAFVIN ESP32 Basic Starter Kit - ពិធីការទំនាក់ទំនងប៉ារ៉ាម៉ែត្រ (-1) មានន័យថាអេក្រង់ OLED របស់អ្នកមិនមានម្ជុល RESET ទេ។ ប្រសិនបើអេក្រង់ OLED របស់អ្នកមានម្ជុល RESET វាគួរតែភ្ជាប់ទៅ GPIO ។ ក្នុងករណីនោះ អ្នកគួរតែហុចលេខ GPIO ជាប៉ារ៉ាម៉ែត្រ។
នៅក្នុងការដំឡើង () ចាប់ផ្តើម Serial Monitor នៅ baud raute នៃ 115200 សម្រាប់គោលបំណងបំបាត់កំហុស។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - គោលបំណងចាប់ផ្តើមអេក្រង់ OLED ជាមួយនឹងវិធីសាស្រ្ត start() ដូចខាងក្រោម៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - display.beginកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - Serial.printlnអត្ថបទខ្លីៗនេះក៏បោះពុម្ពសារនៅលើ Serial Monitor ក្នុងករណីដែលយើងមិនអាចភ្ជាប់ទៅអេក្រង់។

កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - Serial.println ១ក្នុងករណីដែលអ្នកកំពុងប្រើអេក្រង់ OLED ផ្សេង អ្នកប្រហែលជាត្រូវផ្លាស់ប្តូរអាសយដ្ឋាន OLED ។ ក្នុងករណីរបស់យើងអាសយដ្ឋានគឺ 0x3C ។LAFVIN ESP32 Basic Starter Kit - អាសយដ្ឋានបន្ទាប់ពីចាប់ផ្តើមការបង្ហាញ សូមបន្ថែមការពន្យាពេលពីរវិនាទី ដូច្នេះ OLED មានពេលគ្រប់គ្រាន់ដើម្បីចាប់ផ្តើមមុនពេលសរសេរអត្ថបទ៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - ពន្យាពេលជម្រះការបង្ហាញ កំណត់ទំហំពុម្ពអក្សរ ពណ៌ និងសរសេរអត្ថបទ
បន្ទាប់​ពី​ចាប់ផ្ដើម​ការ​បង្ហាញ សូម​សម្អាត​សតិបណ្ដោះ​អាសន្ន​ការ​បង្ហាញ​ដោយ​ប្រើ​វិធីសាស្ត្រ clearDisplay()៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បង្ហាញ

មុនពេលសរសេរអត្ថបទ អ្នកត្រូវកំណត់ទំហំអត្ថបទ ពណ៌ និងកន្លែងដែលអត្ថបទនឹងត្រូវបានបង្ហាញនៅក្នុង OLED ។
កំណត់ទំហំពុម្ពអក្សរដោយប្រើវិធីសាស្ត្រ setTextSize()៖កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បង្ហាញ 1កំណត់ពណ៌ពុម្ពអក្សរដោយប្រើវិធីសាស្ត្រ setTextColor()៖
WHITE កំណត់ពុម្ពអក្សរពណ៌ស និងផ្ទៃខាងក្រោយខ្មៅ។
កំណត់ទីតាំងដែលអត្ថបទចាប់ផ្តើមដោយប្រើវិធី setCursor(x,y) ។ ក្នុង​ករណី​នេះ យើង​កំពុង​កំណត់​អត្ថបទ​ដើម្បី​ចាប់​ផ្តើម​នៅ​កូអរដោណេ (0,0) – នៅ​ជ្រុង​កំពូល​ឆ្វេង។LAFVIN ESP32 Basic Starter Kit - setTextColor 1ជាចុងក្រោយ អ្នកអាចផ្ញើអត្ថបទទៅការបង្ហាញដោយប្រើវិធីសាស្ត្រ println() ដូចខាងក្រោមកញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - លេខកូដ 5បន្ទាប់មក អ្នកត្រូវហៅវិធីសាស្ត្រ display() ដើម្បីបង្ហាញអត្ថបទនៅលើអេក្រង់។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - បង្ហាញ

បណ្ណាល័យ Adafruit OLED ផ្តល់នូវវិធីសាស្រ្តមានប្រយោជន៍ដើម្បីងាយស្រួលរមូរអត្ថបទ។

  • startscrollright(0x00, 0x0F)៖ រំកិលអត្ថបទពីឆ្វេងទៅស្តាំ
  • startscrollleft(0x00, 0x0F)៖ រំកិលអត្ថបទពីស្តាំទៅឆ្វេង
  • startscrolldiagright(0x00, 0x07): រមូរអត្ថបទពីជ្រុងខាងក្រោមឆ្វេងទៅជ្រុងខាងលើស្តាំ startscrolldiagleft(0x00, 0x07): រមូរអត្ថបទពីជ្រុងខាងក្រោមស្តាំទៅជ្រុងខាងលើខាងឆ្វេង

បង្ហោះកូដ
ឥឡូវនេះ សូមផ្ទុកឡើងកូដទៅកាន់ ESP32 របស់អ្នក។ ផ្ទុកឡើងនូវជំហានយោងកូដ។
បន្ទាប់​ពី​ផ្ទុក​ឡើង​កូដ OLED នឹង​បង្ហាញ​អត្ថបទ​រមូរ។កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 - អត្ថបទរមូរនិមិត្តសញ្ញា LAFVIN

ឯកសារ/ធនធាន

កញ្ចប់ចាប់ផ្តើមមូលដ្ឋាន LAFVIN ESP32 [pdf] សៀវភៅណែនាំ
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *