LAFVIN логоESP32 үндсэн эхлүүлэгч
Иж бүрдэл

Сав баглаа боодлын жагсаалт

LAFVIN ESP32 үндсэн гарааны хэрэгсэл - PackingList

ESP32 танилцуулга

ESP32-г шинээр ашиглаж байна уу? Эндээс эхэл! ESP32 нь Wi-Fi болон Bluetooth утасгүй холболт, хоёр цөмт процессорыг багтаасан Espressif-ийн бүтээсэн Chip дээрх бага хүчин чадалтай систем (SoC) микроконтроллеруудын цуврал юм. Хэрэв та ESP8266-г мэддэг бол ESP32 нь түүний залгамжлагч бөгөөд олон шинэ функцээр дүүрэн байдаг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ESP32 танилцуулгаESP32 техникийн үзүүлэлтүүд
Хэрэв та арай илүү техникийн болон тодорхой мэдээлэл авахыг хүсвэл ESP32-ийн дараах нарийвчилсан үзүүлэлтүүдийг үзэж болно (эх сурвалж: http://esp32.net/)-дэлгэрэнгүй мэдээллийг, мэдээллийн хуудсыг шалгана уу):

  • Утасгүй холболт WiFi: HT150.0-тай 40 Mbps өгөгдлийн хурд
  • Bluetooth: BLE (Bluetooth Low Energy) болон Bluetooth Classic
  • Процессор: Tensilica Xtensa Dual-Core 32 бит LX6 микропроцессор, 160 эсвэл 240 МГц давтамжтай ажилладаг
  • Санах ой:
  • ROM: 448 KB (ачаалах болон үндсэн функцуудад зориулагдсан)
  • SRAM: 520 KB (өгөгдөл болон зааварчилгааны хувьд)
  • RTC fas SRAM: 8 КБ (унтах горимоос RTC ачаалах үед өгөгдөл хадгалах болон үндсэн CPU-д зориулагдсан)
  • RTC удаашралтай SRAM: 8KB (гүн нойрны горимын үед хамтран процессор хандах) eFuse: 1 Кбит (үүнээс 256 битийг системд (MAC хаяг болон чипийн тохиргоо) ашигладаг) үлдсэн 768 битийг хэрэглэгчийн программуудад зориулж нөөцөлсөн. Flash-шифрлэлт ба чип ID)

Суулгасан флаш: ESP16-D17WD болон ESP0-PICO-D1 дээрх IO32, IO2, SD_CMD, SD_CLK, SD_DATA_32 болон SD_DATA_4-ээр дамжуулан дотооддоо холбогдсон флаш.

  • 0 МБ (ESP32-D0WDQ6, ESP32-D0WD, болон ESP32-S0WD чипүүд)
  • 2 МБ (ESP32-D2WD чип)
  • 4 МБ (ESP32-PICO-D4 SiP модуль)

Бага чадал: жишээлбэл, ADC хөрвүүлэлтийг ашиглах боломжтой гэдгийг баталгаажуулдагample, гүн нойрсох үед.
Захын оролт/гаралт:

  • багтаамжтай мэдрэгчийг агуулсан DMA-тай захын интерфейс
  • ADCs (Аналог-тоон хувиргагч)
  • DAC (дижитал-аналог хөрвүүлэгч)
  • I²C (Integrated Circuit)
  • UART (Бүх нийтийн асинхрон хүлээн авагч/дамжуулагч)
  • SPI (цуваа захын интерфейс)
  • I²S (Integrated Interchip Sound)
  • RMII (Багасгасан медиа-бие даасан интерфэйс)
  • PWM (импульсийн өргөн модуляц)

Аюулгүй байдал: AES болон SSL/TLS-д зориулсан техник хангамжийн хурдасгуур

ESP32 Хөгжлийн самбар

ESP32 нь нүцгэн ESP32 чипийг хэлдэг. Гэсэн хэдий ч "ESP32" гэсэн нэр томъёог ESP32 хөгжүүлэлтийн самбарт ашиглахад ашигладаг. ESP32 нүцгэн чипийг ашиглах нь тийм ч хялбар биш бөгөөд практик биш юм, ялангуяа суралцах, турших, загвар гаргах үед. Ихэнх тохиолдолд та ESP32 хөгжүүлэлтийн самбар ашиглахыг хүсэх болно.
Бид ESP32 DEVKIT V1 хавтанг лавлагаа болгон ашиглах болно. Доорх зурган дээр 32 GPIO зүү бүхий ESP1 DEVKIT V30 хавтанг харуулж байна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ESP32 хөгжүүлэлтийн самбарҮзүүлэлтүүд - ESP32 DEVKIT V1
Дараах хүснэгтэд ESP32 DEVKIT V1 DOIT хавтангийн онцлог, үзүүлэлтүүдийн хураангуйг харуулав.

Цөмийн тоо 2 (хоёр цөмт)
Wi-Fi 2.4 GHz хүртэл 150 Мбит/с хүртэл
Bluetooth BLE (Bluetooth Low Energy) болон хуучин Bluetooth
Архитектур 32 бит
Цагийн давтамж 240 МГц хүртэл
RAM 512 КБ
Зүү 30 (загвараас хамаарч)
Захын төхөөрөмжүүд Capacitive touch, ADC (аналогоос дижитал хөрвүүлэгч), DAC (тооноос аналог руу хөрвүүлэгч), 12C (интер-интеграц хэлхээ), UART (бүх нийтийн асинхрон хүлээн авагч/дамжуулагч), CAN 2.0 (хяналтын бүсийн сүлжээ), SPI (цуваа захын интерфейс) , 12S (Integrated Inter-IC
Дуу), RMII (Багасгасан медиа-бие даасан интерфэйс), PWM (импульсийн өргөн модуляц) гэх мэт.
Суулгасан товчлуурууд RESET болон BOOT товчлуурууд
Баригдсан LED GPIO2-д холбогдсон цэнхэр LED суурилуулсан; самбарыг тэжээж байгааг харуулсан улаан LED суурилуулсан
USB-ээс UART
гүүр
CP2102

LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ESP32 DEVKITЭнэ нь microUSB интерфэйстэй хамт ирдэг бөгөөд та кодыг байршуулах эсвэл тэжээл өгөхийн тулд самбарыг компьютерт холбоход ашиглаж болно.
Энэ нь цуваа интерфэйс ашиглан COM портоор дамжуулан таны компьютертэй холбогдохын тулд CP2102 чипийг (USB to UART) ашигладаг. Өөр нэг алдартай чип бол CH340 юм. USB-аас UART чип хувиргагчийг самбар дээр байгаа эсэхийг шалгаарай, учир нь та компьютерт самбартай холбогдохын тулд шаардлагатай драйверуудыг суулгах шаардлагатай болно (энэ талаар дэлгэрэнгүй мэдээллийг энэ гарын авлагын дараагаар уншина уу).
Энэ самбар нь мөн самбарыг дахин эхлүүлэх RESET товчлуур (EN гэж шошготой байж болно) болон самбарыг анивчдаг горимд оруулах BOOT товчлууртай (код хүлээн авах боломжтой). Зарим самбарт BOOT товчлуур байхгүй байж болохыг анхаарна уу.
Энэ нь мөн GPIO 2-д холбогдсон хөх өнгийн LED-тэй хамт ирдэг. Энэхүү LED нь дибаг хийхэд ашигтай бөгөөд зарим төрлийн харааны физик гаралтыг өгдөг. Мөн самбарт тэжээл өгөх үед асдаг улаан LED байдаг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл -самбарESP32 залгуур
ESP32 дагалдах төхөөрөмжүүд нь:

  • 18 Аналог-тоон хөрвүүлэгч (ADC) суваг
  • 3 SPI интерфейс
  • 3 UART интерфейс
  • 2 I2C интерфейс
  • 16 PWM гаралтын суваг
  • 2 тоон-аналог хөрвүүлэгч (DAC)
  • 2 I2S интерфейс
  • 10 багтаамж мэдрэгчтэй GPIO

ADC (аналогоос дижитал хөрвүүлэгч) ба DAC (тооноос аналог хөрвүүлэгч) функцуудыг тодорхой статик тээглүүрүүдэд хуваарилдаг. Гэсэн хэдий ч, та UART, I2C, SPI, PWM гэх мэт ямар тээглүүрийг сонгох боломжтой - та тэдгээрийг кодонд оруулахад л хангалттай. Энэ нь ESP32 чипийн олон талт функцын ачаар боломжтой юм.
Хэдийгээр та програм хангамж дээрх тээглүүрийн шинж чанарыг тодорхойлж болох ч дараах зурагт үзүүлсэн шиг анхдагчаар томилогдсон тээглүүрүүд байдаг.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 GPIO болон түүний функцүүдийн талаар илүү дэлгэрэнгүй, гүнзгий дүн шинжилгээ хийхийн тулд үргэлжлүүлэн уншина уу.
Зөвхөн зүү оруулах
GPIO 34-39 нь GPI - зөвхөн оролтын зүү. Эдгээр зүү нь дотоод татах эсвэл доош татах резисторгүй. Тэдгээрийг гаралт болгон ашиглах боломжгүй тул эдгээр зүүг зөвхөн оролт болгон ашиглаарай:

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

ESP-WROOM-32 дээр нэгдсэн SPI флэш
GPIO 6-аас GPIO 11 хүртэл зарим ESP32 хөгжүүлэлтийн самбарт илэрдэг. Гэсэн хэдий ч эдгээр зүү нь ESP-WROOM-32 чип дээрх нэгдсэн SPI флэштэй холбогдсон тул бусад зориулалтаар ашиглахыг зөвлөдөггүй. Тиймээс төслүүддээ эдгээр зүүг бүү ашигла:

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

Capacitive touch GPIOs
ESP32 нь 10 дотоод багтаамжтай мэдрэгчтэй мэдрэгчтэй. Эдгээр нь хүний ​​арьс гэх мэт цахилгаан цэнэг агуулсан аливаа зүйлийн өөрчлөлтийг мэдэрч чаддаг. Тиймээс тэд GPIO-д хуруугаараа хүрэхэд үүссэн өөрчлөлтийг илрүүлж чадна. Эдгээр зүүг багтаамжтай дэвсгэрт хялбархан нэгтгэж, механик товчлууруудыг сольж болно. Capacitive мэдрэгчтэй зүү нь ESP32-г гүн нойрноос сэрээхэд ашиглаж болно. Эдгээр дотоод мэдрэгч мэдрэгч нь эдгээр GPIO-д холбогдсон байна:

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

Дижитал хөрвүүлэгчийн аналог (ADC)
ESP32 нь 18 x 12 бит ADC оролтын сувагтай (ESP8266 нь зөвхөн 1x 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.1 В, эсвэл 3.2 ба 3.3 В хооронд ялгах чадваргүй байх болно. Та ADC зүүг ашиглахдаа үүнийг санаж байх хэрэгтэй. Та дараах зурагт үзүүлсэнтэй төстэй зан үйлийг олж авах болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - зан төлөвДижитал-аналог хөрвүүлэгч (DAC)
ESP2 дээр дижитал дохиог аналог дуу болгон хувиргах 8 х 32 бит DAC суваг байдагtage дохионы гаралт. Эдгээр нь DAC сувгууд юм:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
ESP32 дээр RTC GPIO дэмжлэг байдаг. RTC бага чадлын дэд систем рүү чиглүүлсэн GPIO-г ESP32 гүн нойронд байх үед ашиглаж болно. Эдгээр RTC GPIO-уудыг Ultra Low үед ESP32-г гүн нойрноос сэрээхэд ашиглаж болно
Power (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 зүү болгон ашиглаж болно (GPIO 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 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

Тасалдаг
Бүх GPIO-г тасалдал болгон тохируулах боломжтой.
Туузан зүү
ESP32 чип нь дараах оосортой байна.

  • GPIO 0 (ачаалах горимд орохын тулд БАГА байх ёстой)
  • GPIO 2 (ачаалах үед хөвөх эсвэл БАГА байх ёстой)
  • GPIO 4
  • GPIO 5 (ачаалах үед өндөр байх ёстой)
  • GPIO 12 (ачаалах үед БАГА байх ёстой)
  • GPIO 15 (ачаалах үед өндөр байх ёстой)

Эдгээрийг ESP32-г ачаалагч эсвэл анивчдаг горимд оруулахад ашигладаг. Суурилуулсан USB/цуваа бүхий хөгжүүлэлтийн ихэнх самбар дээр та эдгээр тээглүүрүүдийн төлөв байдлын талаар санаа зовох шаардлагагүй болно. Самбар нь анивчсан эсвэл ачаалах горимд зүүг зөв төлөвт оруулдаг. ESP32 ачаалах горимын сонголтын талаарх дэлгэрэнгүй мэдээллийг эндээс авах боломжтой.
Гэсэн хэдий ч, хэрэв танд эдгээр тээглүүрүүдэд холбогдох нэмэлт төхөөрөмж байгаа бол шинэ код байршуулах, ESP32-г шинэ програм хангамжаар анивчуулах, самбарыг дахин тохируулах зэрэгт асуудал гарч болзошгүй. Хэрэв танд оосортой холбогдсон зарим нэмэлт төхөөрөмж байгаа бөгөөд код байршуулах эсвэл ESP32-г анивчуулахад асуудал гарч байгаа бол эдгээр нэмэлт төхөөрөмжүүд нь ESP32-г зөв горимд оруулахад саад болж байгаатай холбоотой байж магадгүй юм. Таныг зөв чиглэлд чиглүүлэхийн тулд ачаалах горимыг сонгох баримт бичгийг уншина уу. Дахин тохируулсны дараа анивчсан эсвэл ачаалсны дараа тэдгээр зүү нь хүлээгдэж буй байдлаар ажиллана.
Ачаалах үед өндөр зүү
Зарим GPIO нь ачаалах эсвэл дахин тохируулах үед төлөвөө HIGH болгож өөрчилдөг эсвэл PWM дохиог гаргадаг.
Энэ нь хэрэв танд эдгээр GPIO-д холбогдсон гаралт байгаа бол ESP32-г дахин тохируулах эсвэл ачаалах үед гэнэтийн үр дүн гарч болзошгүй гэсэн үг юм.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6-аас GPIO 11 хүртэл (ESP32 нэгдсэн SPI флаш санах ойд холбогдсон - ашиглахыг зөвлөдөггүй).
  • GPIO 14
  • GPIO 15

Идэвхжүүлэх (EN)
Enable (EN) нь 3.3V зохицуулагчийн идэвхжүүлэх зүү юм. Энэ нь дээш татагдсан тул 3.3V зохицуулагчийг идэвхгүй болгохын тулд газартай холбоно уу. Энэ нь та товчлууртай холбогдсон энэ зүүг ашиглан ESP32-оо дахин эхлүүлэх боломжтой гэсэн үг юмample.
GPIO гүйдэл зурсан
ESP40 мэдээллийн хуудасны "Зөвлөмж болгож буй үйл ажиллагааны нөхцөл" хэсгийн дагуу GPIO-д авсан үнэмлэхүй хамгийн их гүйдэл нь 32 мА байна.
ESP32 суурилуулсан танхимын эффект мэдрэгч
ESP32 нь хүрээлэн буй орчны соронзон орны өөрчлөлтийг илрүүлдэг танхимын эффект мэдрэгчтэй.
ESP32 Arduino IDE
Arduino IDE болон түүний програмчлалын хэлийг ашиглан ESP32 програмчлах боломжийг олгодог Arduino IDE-д зориулсан нэмэлт хэрэгсэл байдаг. Энэ зааварт бид Windows, Mac OS X эсвэл Linux ашиглаж байгаа эсэхээс үл хамааран Arduino IDE дээр ESP32 самбарыг хэрхэн суулгахыг харуулах болно.
Тавигдах шаардлага: Arduino IDE суулгасан
Энэхүү суулгах процедурыг эхлүүлэхийн өмнө та компьютер дээрээ Arduino IDE суулгасан байх шаардлагатай. Arduino IDE-ийн хоёр хувилбарыг суулгаж болно: хувилбар 1 ба хувилбар 2.
Та дараах холбоос дээр дарж Arduino IDE-г татаж аваад суулгаж болно. arduino.cc/en/Main/Software
Бид ямар Arduino IDE хувилбарыг санал болгож байна вэ? Одоогоор зарим нь бий plugins ESP32-д зориулсан (SPIFFS гэх мэт Filesystem Uploader Plugin) Arduino 2 дээр хараахан дэмжигдээгүй байна. Тиймээс, хэрэв та ирээдүйд SPIFFS залгаасыг ашиглахаар төлөвлөж байгаа бол хуучин хувилбар 1.8.X-г суулгахыг зөвлөж байна. Та үүнийг олохын тулд Arduino програмын хуудсыг доош гүйлгэх хэрэгтэй.
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Arduino IDE-дээ ESP32 хавтанг суулгахын тулд дараах зааврыг дагана уу.

  1. Arduino IDE-дээ дараах руу очно уу File> СонголтуудLAFVIN ESP32 үндсэн гарааны хэрэгсэл - Сонголт
  2. Дараахыг "Нэмэлт Удирдах Зөвлөлийн Менежер URLs" талбар:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Дараа нь "OK" товчийг дарна уу:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - "OK" товчЖич: Хэрэв танд ESP8266 самбар байгаа бол URL, та салгаж болно URLдараах байдлаар таслалтай s:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Самбарын менежерийг нээнэ үү. Хэрэгсэл > Самбар > Самбарын менежер рүү очно уу…LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Espressifхайх ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - EspressifИнгээд л болоо. Үүнийг хэдхэн секундын дараа суулгах хэрэгтэй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - суулгасан

Туршилтын кодыг байршуулах

ESP32 хавтанг компьютерт холбоно уу. Arduino IDE нээлттэй үед дараах алхмуудыг дагана уу:

  1. Хэрэгслүүд > Самбар цэснээс самбараа сонгоно уу (миний хувьд энэ нь ESP32 DEV модуль юм)LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Хэрэгслийн самбар
  2. Портыг сонгоно уу (хэрэв та Arduino IDE-д COM порт харагдахгүй бол CP210x USB to UART Bridge VCP драйверуудыг суулгах хэрэгтэй):LAFVIN ESP32 үндсэн гарааны иж бүрдэл - UART Bridge
  3. Дараах эксийг нээнэ үүample under File > Жишээ ньamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 үндсэн гарааны хэрэгсэл - WiFiScanLAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - WiFiScan 1
  4. Таны Arduino IDE дээр шинэ ноорог нээгдэнэ:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Arduino IDE
  5. Arduino IDE-д байршуулах товчийг дарна уу. Кодыг эмхэтгэж, самбарт байршуулах хүртэл хэдэн секунд хүлээнэ үү.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - самбар
  6. Хэрэв бүх зүйл санаснаар болсон бол та "Байршуулж дууслаа" гэж харах болно. мессеж.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Байршуулж дууссан
  7. Arduino IDE цуврал мониторыг 115200 дамжуулах хурдаар нээнэ үү.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Монитор
  8. ESP32-г идэвхжүүлэх товчийг дарснаар та өөрийн ESP32-ийн ойролцоо байгаа сүлжээг харах болно.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - идэвхжүүлэх товч

Алдааг олж засварлах

Хэрэв та өөрийн ESP32-дээ шинэ ноорог байршуулах гэж оролдвол "Үнэхээр алдаа гарлаа: ESP32-д холбогдож чадсангүй: Хугацаа хэтэрсэн... Холбогдож байна..." гэсэн алдааны мессежийг хүлээн авбал. Энэ нь таны ESP32 анивчих/байршуулах горимд ороогүй байна гэсэн үг.
Самбарын зөв нэр болон COM портыг сонгосны дараа дараах алхмуудыг дагана уу.
ESP32 самбар дээрх "BOOT" товчийг удаан дарна ууLAFVIN ESP32 үндсэн гарааны хэрэгсэл - "BOOT"

  • Arduino IDE дээрх "Байршуулах" товчийг дарж нооргоо байршуулна уу:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ICON 6
  • "Холбож байна..."-г харсны дараа. Arduino IDE дээрх мессежийг "BOOT" товчлуураас хуруугаа суллана.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - “Байршуулж дууслаа
  • Үүний дараа та "Байршуулж дууссан" гэсэн мессежийг харах болно
    Ингээд л болоо. Таны ESP32 шинэ ноорог ажиллаж байгаа байх ёстой. ESP32-г дахин эхлүүлэхийн тулд "ENABLE" товчийг дарж, шинээр байршуулсан ноорог ажиллуулна уу.
    Та мөн шинэ ноорог байршуулахыг хүсэх бүртээ энэ товчлуурын дарааллыг давтах шаардлагатай болно.

Төслийн 1 ESP32 оролт гаралт

Энэхүү эхлэх гарын авлагад та Arduino IDE-тэй ESP32-г ашиглан товчлуурын унтраалга гэх мэт дижитал оролтыг уншиж, LED гэх мэт дижитал гаралтыг хэрхэн удирдах талаар сурах болно.
Урьдчилсан нөхцөл
Бид Arduino IDE ашиглан ESP32 программчлах болно. Тиймээс, үргэлжлүүлэхээсээ өмнө ESP32 хавтангийн нэмэлтийг суулгасан эсэхээ шалгаарай:

  • Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна

ESP32 хяналтын дижитал гаралт
Эхлээд та хянахыг хүсч буй GPIO-г ГАРАЛТ болгон тохируулах хэрэгтэй. PinMode() функцийг дараах байдлаар ашиглана уу.
pinMode (GPIO, OUTPUT);
Дижитал гаралтыг удирдахын тулд та аргумент болгон хүлээн авдаг digitalWrite() функцийг, таны хэлж буй GPIO (int тоо) болон ӨНДӨР эсвэл БАГА гэсэн төлөвийг ашиглахад л хангалттай.
digitalWrite(GPIO, STATE);
GPIO 6-11 (нэгдсэн SPI флэштэй холбогдсон) болон GPIO 34, 35, 36, 39 (зөвхөн GPIO оролт)-аас бусад бүх GPIO-г гаралт болгон ашиглаж болно;
ESP32 GPIO-ийн талаар нэмэлт мэдээлэл аваарай: ESP32 GPIO лавлах гарын авлага
ESP32 Дижитал оролтыг уншина
Эхлээд pinMode() функцийг ашиглан уншихыг хүссэн GPIO-г INPUT болгон тохируулна уу:
pinMode (GPIO, INPUT);
Товчлуур шиг дижитал оролтыг уншихын тулд та аргумент болгон хүлээн зөвшөөрч буй digitalRead() функцийг ашиглана.
дижитал Унших (GPIO);
GPIO 32-6 (нэгдсэн SPI флэштэй холбогдсон)-аас бусад бүх ESP11 GPIO-г оролт болгон ашиглаж болно.
ESP32 GPIO-ийн талаар нэмэлт мэдээлэл аваарай: ESP32 GPIO лавлах гарын авлага
Төсөл Example
Дижитал оролт болон дижитал гаралтыг хэрхэн ашиглахыг танд харуулахын тулд бид энгийн төслийн жишээг бүтээх болноampтовчлуур болон LED бүхий le. Дараах зурагт үзүүлсэн шиг бид товчлуурын төлөвийг уншиж, LED-ийг гэрэлтүүлэх болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Төслийн өмнөхample

Шаардлагатай хэсгүүд
Хэлхээ барихад шаардлагатай хэсгүүдийн жагсаалт энд байна.

  • ESP32 DEVKIT V1
  • 5 мм LED
  • 220 Ом эсэргүүцэл
  • Дарах товчлуур
  • 10 к Ом эсэргүүцэл
  • Талхны самбар
  • Холболтын утаснууд

Схемийн диаграм
Үргэлжлүүлэхийн өмнө та 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 товчлуурState = 0;
Setup() хэсэгт та товчлуурыг INPUT, LED-ийг OUTPUT болгон эхлүүлнэ.
Үүний тулд та өөрийн хэлж буй зүүг хүлээн авах pinMode() функц болон INPUT эсвэл OUTPUT горимыг ашиглана.
pinMode(товчлуур, INPUT);
pinMode(ledPin, OUTPUT);
Loop() нь товчлуурын төлөвийг уншиж, LED-ийг тохируулсан газар юм.
Дараагийн мөрөнд товчлуурын төлөвийг уншиж, buttonState хувьсагчд хадгална.
Өмнө нь харсанчлан, та digitalRead() функцийг ашигладаг.
buttonState = digitalRead(buttonPin);
Дараах if хэллэг нь товчлуурын төлөв HIGH байгаа эсэхийг шалгана. Хэрэв тийм бол ledPin-ийг аргумент болгон хүлээн авах digitalWrite() функцийг ашиглан LED-ийг асааж, ӨНДӨР төлөвийг асаана.
хэрэв (buttonState == HIGH)LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Кодын ажил 1Хэрэв товчлуурын төлөв ӨНДӨР биш бол та LED-ийг унтраана. DigitalWrite() функцэд LOW-г хоёр дахь аргумент болгон тохируулна уу.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - digitalWriteКодыг байршуулж байна
Байршуулах товчийг дарахаас өмнө Tools > Board руу ороод :DOIT ESP32 DEVKIT V1 самбарыг сонго.
Tools > Port руу очоод ESP32 холбогдсон COM портыг сонгоно уу. Дараа нь байршуулах товчийг дараад "Байршуулж дууслаа" гэсэн мессежийг хүлээнэ үү.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ICON 7Тэмдэглэл: Хэрэв та дибаг хийх цонхон дээр олон цэгүүд (холбож байна…__…__) харвал "ESP32-д холбогдож чадсангүй: Пакетийн толгой хэсгийг хүлээхэд хугацаа хэтэрсэн" гэсэн мессеж гарч ирвэл та ESP32-ийн BOOT дээр дарах хэрэгтэй гэсэн үг юм. цэгийн дараа товчлуур
гарч эхлэх.Алдааг олж засварлах

Жагсаал

Кодоо байршуулсны дараа хэлхээгээ шалгана уу. Таныг товчлуурыг дарахад таны LED гэрэл асна:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ҮзүүлэнҮүнийг суллахдаа унтраа:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - эргэх

Төслийн 2 ESP32 аналог оролтууд

Энэхүү төсөл нь Arduino IDE ашиглан ESP32 ашиглан аналог оролтыг хэрхэн уншихыг харуулж байна.
Аналог унших нь потенциометр эсвэл аналог мэдрэгч зэрэг хувьсах резисторуудын утгыг уншихад тустай.
Аналог оролт (ADC)
ESP32 ашиглан аналог утгыг унших нь янз бүрийн эзлэхүүнийг хэмжих боломжтой гэсэн үг юмtage түвшин 0 В-оос 3.3 В хооронд байна.
Ботьtagхэмжсэн e-г дараа нь 0-ээс 4095-ын хоорондох утгыг оноож, 0 В нь 0-тэй, 3.3 В нь 4095-тай тохирч байна. Дурын хэмжээ.tage 0 В-оос 3.3 В-ын хооронд тохирох утгыг өгнө.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Аналог оролтADC нь шугаман бус юм
Хамгийн тохиромжтой нь ESP32 ADC тээглүүрүүдийг ашиглахдаа шугаман зан төлөвийг хүлээх болно.
Гэсэн хэдий ч ийм зүйл болохгүй. Дараах диаграммд үзүүлсэн зан төлөвийг олж авах болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Шугаман бусЭнэ нь таны ESP32 нь 3.3 В-ыг 3.2 В-оос ялгах чадваргүй гэсэн үг юм.
Та хоёр боть ижил утгыг авах болноtages: 4095.
Энэ нь маш бага хэмжээний хувьд тохиолддогtage утгууд: 0 В ба 0.1 В-ийн хувьд та ижил утгыг авах болно: 0. ESP32 ADC зүүг ашиглахдаа үүнийг санаж байх хэрэгтэй.
analogRead() функц
Arduino IDE ашиглан ESP32 ашиглан аналог оролтыг унших нь analogRead() функцийг ашиглахтай адил хялбар юм. Энэ нь таны уншихыг хүссэн GPIO-г аргумент болгон хүлээн зөвшөөрдөг:
аналог унших (GPIO);
DEVKIT V15board-д (1 GPIO-той хувилбар) ердөө 30 ширхэг байдаг.
ESP32 самбарын зүүг аваад ADC зүүг олоорой. Эдгээрийг доорх зурган дээр улаан хүрээгээр тодруулсан.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - хилЭдгээр аналог оролтын зүү нь 12 битийн нягтралтай. Энэ нь аналог оролтыг унших үед түүний хүрээ 0-ээс 4095 хооронд хэлбэлзэж болно гэсэн үг юм.
Тайлбар: Wi-Fi ашиглаж байгаа үед ADC2 зүүг ашиглах боломжгүй. Тиймээс, хэрэв та Wi-Fi ашиглаж байгаа бөгөөд ADC2 GPIO-ээс утгыг авахад асуудалтай байгаа бол оронд нь ADC1 GPIO-г ашиглах нь таны асуудлыг шийдэх ёстой.
Бүх зүйл хоорондоо хэрхэн уялдаж байгааг харахын тулд бид энгийн экс-г хийх болноample потенциометрээс аналог утгыг унших.
Шаардлагатай хэсгүүд
Энэ эксample, танд дараах хэсгүүд хэрэгтэй:

  • ESP32 DEVKIT V1 самбар
  • Potentiometer
  • Талхны самбар
  • Холболтын утаснууд

Бүдүүвч
Потенциометрийг өөрийн ESP32 руу холбоно уу. Потенциометрийн дунд зүү нь GPIO 4-д холбогдсон байх ёстой. Та дараах бүдүүвч диаграмыг лавлагаа болгон ашиглаж болно.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - схемКод
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Project_2_ESP32_Inputs_Outputs.ino кодыг arduino IDE дээр нээнэ үү.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 2Энэ код нь потенциометрийн утгыг зүгээр л уншиж, цуврал монитор дээр хэвлэнэ.
Кодод та потенциометрийн холбогдсон GPIO-г тодорхойлж эхэлнэ. Энэ жишээндample, GPIO 4.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - жишээ ньampleSetup() хэсэгт цуваа холболтыг 115200 дамжуулах хурдаар эхлүүлнэ.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - жишээ ньample 1Loop()-д analogRead() функцийг ашиглан potPin-ээс аналог оролтыг уншина уу.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - жишээ ньample 2Эцэст нь цуваа дэлгэц дээрх потенциометрээс уншсан утгыг хэвлэнэ.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - жишээ ньample 3Өгөгдсөн кодыг өөрийн ESP32 руу оруулна уу. Хэрэгслийн цэснээс зөв самбар болон COM портыг сонгосон эсэхээ шалгаарай.
Эксийг туршиж байнаample
Кодоо байршуулж, ESP32 дахин тохируулах товчийг дарсны дараа Цуваа мониторыг 115200 дамжуулах хурдаар нээнэ үү. Потенциометрийг эргүүлж, утгууд өөрчлөгдөж байгааг харна уу.Таны авах хамгийн дээд утга нь 4095, хамгийн бага утга нь 0 байна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл -хамгийн их утга

Боож байна

Энэ нийтлэлээс та Arduino IDE-тэй ESP32 ашиглан аналог оролтыг хэрхэн унших талаар сурсан. Дүгнэж хэлэхэд:

  • ESP32 DEVKIT V1 DOIT хавтан (30 тээглүүртэй хувилбар) нь аналог оролтыг уншихад ашиглаж болох 15 ADC зүүтэй.
  • Эдгээр зүү нь 12 битийн нягтаршилтай бөгөөд энэ нь та 0-ээс 4095 хүртэлх утгыг авах боломжтой гэсэн үг юм.
  • Arduino IDE дээрх утгыг уншихын тулд та analogRead() функцийг ашиглахад л хангалттай.
  • ESP32 ADC тээглүүр нь шугаман үйлдэлгүй. Та магадгүй 0 ба 0.1 В, эсвэл 3.2 ба 3.3 В хооронд ялгах чадваргүй байх болно. Та ADC зүүг ашиглахдаа үүнийг санаж байх хэрэгтэй.

Төсөл 3 ESP32 PWM(Аналог гаралт)

Энэ зааварт бид Arduino IDE ашиглан ESP32 ашиглан PWM дохиог хэрхэн үүсгэхийг танд үзүүлэх болно. Хуучин хүний ​​хувьдampБид ESP32-ийн LED PWM хянагчийг ашиглан LED-ийг бүдгэрүүлдэг энгийн хэлхээг бүтээх болно.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - AnalogOutputESP32 LED PWM хянагч
ESP32 нь өөр өөр шинж чанартай PWM дохио үүсгэхээр тохируулах боломжтой 16 бие даасан суваг бүхий LED PWM хянагчтай.
Arduino IDE ашиглан PWM бүхий LED-ийг бүдгэрүүлэхийн тулд дараах алхмуудыг дагах хэрэгтэй.

  1. Эхлээд та PWM сувгийг сонгох хэрэгтэй. 16-ээс 0 хүртэлх 15 суваг байдаг.
  2. Дараа нь та PWM дохионы давтамжийг тохируулах хэрэгтэй. LED-ийн хувьд 5000 Гц давтамжийг ашиглахад тохиромжтой.
  3. Та мөн дохионы ажлын мөчлөгийн нарийвчлалыг тохируулах хэрэгтэй: танд 1-ээс 16 битийн нарийвчлал байна. Бид 8 битийн нарийвчлалыг ашиглах бөгөөд энэ нь та 0-ээс 255 хүртэлх утгыг ашиглан LED гэрлийг хянах боломжтой гэсэн үг юм.
  4.  Дараа нь та аль GPIO эсвэл GPIO дээр дохио гарч ирэхийг зааж өгөх хэрэгтэй. Үүний тулд та дараах функцийг ашиглана.
    ledcAttachPin(GPIO, суваг)
    Энэ функц нь хоёр аргументыг хүлээн авдаг. Эхнийх нь дохиог гаргах GPIO, хоёр дахь нь дохио үүсгэх суваг юм.
  5. Эцэст нь PWM ашиглан LED гэрлийг хянахын тулд та дараах функцийг ашиглана уу.

ledcWrite(суваг, үүргийн мөчлөг)
Энэ функц нь PWM дохиог үүсгэж буй суваг болон ажлын мөчлөгийг аргумент болгон хүлээн авдаг.
Шаардлагатай хэсгүүд
Энэ зааварчилгааг дагахын тулд танд дараах хэсгүүд хэрэгтэй:

  • ESP32 DEVKIT V1 самбар
  • 5 мм LED
  • 220 Ом эсэргүүцэл
  •  Талхны самбар
  • Холболтын утаснууд

Бүдүүвч
Дараах схемийн дагуу LED-ийг ESP32 руу холбоно уу. LED нь GPIO-д холбогдсон байх ёстой 4.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - схемЖич: гаралт болж чадах л бол та хүссэн зүүгээ ашиглаж болно. Гаралтын үүрэг гүйцэтгэж чадах бүх зүүг PWM зүү болгон ашиглаж болно. ESP32 GPIO-ийн талаар дэлгэрэнгүй мэдээллийг уншина уу: ESP32 Pinout лавлагаа: Та ямар GPIO зүү ашиглах ёстой вэ?
Код
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Project_3_ESP32_PWM.ino кодыг arduino IDE дээр нээнэ үүLAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 3LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 4Та LED-ийн залгагдсан зүүг тодорхойлж эхэлнэ. Энэ тохиолдолд LED нь GPIO 4-д холбогдсон байна.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 5Дараа нь та PWM дохионы шинж чанарыг тохируулна. Та 5000 Гц давтамжийг тодорхойлж, дохио үүсгэхийн тулд 0 сувгийг сонгож, 8 битийн нарийвчлалыг тохируулна. Та өөр өөр PWM дохио үүсгэхийн тулд эдгээрээс өөр шинж чанаруудыг сонгож болно.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 6Setup() хэсэгт та аргумент, ledChannel, давтамж, нягтралыг дараах байдлаар хүлээн авдаг ledcSetup() функцийг ашиглан өмнө нь тодорхойлсон шинж чанараараа LED PWM-ийг тохируулах хэрэгтэй.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 8Дараа нь та дохио авах GPIO-г сонгох хэрэгтэй. Үүний тулд дохио авахыг хүссэн GPIO болон дохио үүсгэж буй сувгийг аргумент болгон хүлээн авдаг ledcAttachPin() функцийг ашиглана. Энэ жишээндample, бид GPIO 4-тэй тохирох ledPin GPIO-д дохио авах болно. Дохио үүсгэдэг суваг нь ledChannel буюу 0-р сувагтай тохирч байна.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 9Гогцоонд та LED гэрлийг нэмэгдүүлэхийн тулд ажлын мөчлөгийг 0-ээс 255 хооронд өөрчлөх болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - тод байдалДараа нь гэрэлтүүлгийг багасгахын тулд 255-аас 0-ийн хооронд байна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - тод байдал 1LED-ийн гэрлийг тохируулахын тулд та дохио үүсгэж буй суваг болон ажлын мөчлөгийг аргумент болгон хүлээн авдаг ledcWrite() функцийг ашиглах хэрэгтэй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - тод байдал 2Бид 8 битийн нарийвчлалыг ашиглаж байгаа тул ажлын мөчлөгийг 0-ээс 255 хүртэлх утгыг ашиглан хянах болно. ledcWrite() функцэд бид GPIO биш харин дохио үүсгэдэг сувгийг ашигладаг болохыг анхаарна уу.

Эксийг туршиж байнаample

Кодоо ESP32 дээрээ байршуулна уу. Зөв самбар болон COM портыг сонгосон эсэхээ шалгаарай. Өөрийн хэлхээг хар. Та гэрэлтүүлгийг нэмэгдүүлж, багасгадаг LED-тэй байх ёстой.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - Ex-ийг туршихample

Төсөл 4 ESP32 PIR хөдөлгөөн мэдрэгч

Энэ төсөл нь PIR хөдөлгөөн мэдрэгч ашиглан ESP32-ийн тусламжтайгаар хөдөлгөөнийг хэрхэн илрүүлэхийг харуулж байна. Хөдөлгөөн илэрсэн үед дуут дохио дуугарах ба урьдчилан тогтоосон хугацаанд (4 секунд гэх мэт) ямар ч хөдөлгөөн илрээгүй үед дохиоллыг зогсооно.
HC-SR501 хөдөлгөөн мэдрэгч хэрхэн ажилладаг вэ
.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Хөдөлгөөн мэдрэгч ажилладагHC-SR501 мэдрэгчийн ажиллах зарчим нь хөдөлж буй объект дээрх хэт улаан туяаны цацрагийн өөрчлөлт дээр суурилдаг. HC-SR501 мэдрэгчийг илрүүлэхийн тулд объект нь хоёр шаардлагыг хангасан байх ёстой.

  • Объект нь хэт улаан туяаны цацрагийг ялгаруулж байна.
  • Объект хөдөлж эсвэл чичирч байна

Тэгэхээр:
Хэрэв объект хэт улаан туяа ялгаруулж байгаа боловч хөдлөхгүй (жишээ нь, хүн хөдөлгөөнгүй зогсох) бол мэдрэгч үүнийг илрүүлэхгүй.
Хэрэв объект хөдөлж байгаа боловч хэт улаан туяа (жишээ нь, робот эсвэл тээврийн хэрэгсэл) ялгаруулдаггүй бол мэдрэгч үүнийг илрүүлдэггүй.
Таймерыг танилцуулж байна
Энэ жишээндampБид мөн таймеруудыг танилцуулах болно. Хөдөлгөөнийг илрүүлсний дараа LED нь урьдчилан тодорхойлсон секундын турш асаалттай байхыг бид хүсч байна. Таны кодыг хааж, тодорхой секундын турш өөр зүйл хийхийг зөвшөөрдөггүй delay() функцийг ашиглахын оронд бид таймер ашиглах хэрэгтэй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Таймерыг танилцуулж байнаdelay() функц
Delay() функц нь өргөн хэрэглэгддэг тул та үүнийг сайн мэддэг байх ёстой. Энэ функцийг ашиглахад маш энгийн. Энэ нь ганц int тоог аргумент болгон хүлээн авдаг.
Энэ тоо нь програмын дараагийн кодын мөрөнд шилжих хүртэл хүлээх хугацааг миллисекундээр илэрхийлнэ.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - кодТа саатал (1000) хийх үед таны програм энэ мөрөнд 1 секунд зогсдог.
delay() нь блоклох функц юм. Блоклох функцууд нь тухайн ажлыг дуусгах хүртэл програмыг өөр зүйл хийхээс сэргийлдэг. Хэрэв танд хэд хэдэн ажлыг нэгэн зэрэг гүйцэтгэх шаардлагатай бол delay()-г ашиглах боломжгүй.
Ихэнх төслүүдийн хувьд та саатал ашиглахаас зайлсхийж, оронд нь таймер ашиглах хэрэгтэй.
millis() функц
Millis() хэмээх функцийг ашигласнаар програм анх эхэлснээс хойш өнгөрсөн миллисекундын тоог буцаана.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - програмыг анх эхлүүлсэнЭнэ функц яагаад ашигтай вэ? Учир нь зарим математик ашигласнаар та өөрийн кодыг блоклохгүйгээр хэр их цаг өнгөрснийг хялбархан шалгаж болно.
Шаардлагатай хэсгүүд
Энэхүү зааварчилгааг дагахын тулд танд дараах хэсгүүд хэрэгтэй болно

  • ESP32 DEVKIT V1 самбар
  • PIR хөдөлгөөн мэдрэгч (HC-SR501)
  • Идэвхтэй дуугаралт
  • Холболтын утаснууд
  • Талхны самбар

БүдүүвчLAFVIN ESP32 үндсэн гарааны иж бүрдэл - бүдүүвч 1Жич: Ажлын ботьtagHC-SR501-ийн e нь 5V байна. Үүнийг ажиллуулахын тулд Vin зүү ашиглана уу.
Код
Энэхүү зааварчилгааг үргэлжлүүлэхийн өмнө та ESP32 нэмэлтийг Arduino IDE дээрээ суулгасан байх ёстой. Дараах зааврын аль нэгийг дагаж ESP32-г Arduino IDE дээр суулгаж амжаагүй байгаа бол (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Project_4_ESP32_PIR_Motion_Sensor.ino кодыг arduino IDE дээр нээнэ үү.
Жагсаал
Кодоо ESP32 самбартаа байршуулна уу. Зөв самбар болон COM портыг сонгосон эсэхээ шалгаарай. Байршуулах кодын лавлах алхмууд.
Цуваа дэлгэцийг 115200 дамжуулах хурдаар нээнэ үү.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Үзүүлэн 1Гараа PIR мэдрэгчийн урд хөдөлгө. Дуут дохио асах ёстой бөгөөд "Хөдөлгөөн илэрсэн! Дуут дохио" гэсэн мессеж Цуваа дэлгэц дээр хэвлэгдэх болно.
4 секундын дараа дуут дохио унтарна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - дуугаралт

Төсөл 5 ESP32 шилжүүлэгч Web Сервер

Энэ төсөлд та бие даасан төсөл үүсгэх болно web Arduino IDE програмчлалын орчинг ашиглан гаралтыг (хоёр LED) хянадаг ESP32 бүхий сервер. The web сервер нь гар утсанд хариу үйлдэл үзүүлэх чадвартай бөгөөд дотоод сүлжээнд хөтчөөр ажилладаг ямар ч төхөөрөмжөөс хандах боломжтой. Бид танд хэрхэн үүсгэхийг харуулах болно web сервер болон код хэрхэн ажилладаг талаар алхам алхмаар.
Төсөл дууссанview
Төсөл рүү шууд орохын өмнө бидний юу болохыг тоймлох нь чухал юм web сервер хийх бөгөөд ингэснээр дараа нь алхмуудыг дагахад хялбар болно.

  • The web Таны бүтээх сервер нь ESP32 GPIO 26 болон GPIO 27-д холбогдсон хоёр LED-ийг удирддаг;
  • Та ESP32 руу нэвтрэх боломжтой web дотоод сүлжээнд байгаа хөтөч дээр ESP32 IP хаягийг бичиж сервер;
  • Өөрийн товчлуурууд дээр дарснаар web сервер нь LED бүрийн төлөвийг шууд өөрчлөх боломжтой.

Шаардлагатай хэсгүүд
Энэхүү зааварчилгааны хувьд танд дараах хэсгүүд хэрэгтэй болно.

  • ESP32 DEVKIT V1 самбар
  • 2х 5мм LED
  • 2х 200 Ом эсэргүүцэл
  • Талхны самбар
  • Холболтын утаснууд

Бүдүүвч
Хэлхээ барьж эхэл. Дараах схемийн дагуу хоёр LED-ийг ESP32-д холбоно уу - нэг LED нь GPIO 26, нөгөө нь GPIO 27-д холбогдсон байна.
Жич: Бид 32 зүү бүхий ESP36 DEVKIT DOIT хавтанг ашиглаж байна. Хэлхээг угсрахаасаа өмнө ашиглаж буй самбарынхаа залгуурыг шалгана уу.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - схемКод
Энд бид ESP32-г үүсгэдэг кодыг өгдөг web сервер. Project_5_ESP32_Switch _ кодыг нээнэ үүWeb_Server.ino arduino IDE дээр, гэхдээ үүнийг хараахан байршуулж болохгүй. Үүнийг өөрт ашигтай болгохын тулд та зарим өөрчлөлтийг хийх хэрэгтэй.
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Таны сүлжээний итгэмжлэлүүдийг тохируулах
Та дараах мөрүүдийг сүлжээний итгэмжлэлээрээ өөрчлөх шаардлагатай: SSID болон нууц үг. Код нь хаана өөрчлөлт хийх ёстойг сайтар тайлбарласан болно.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Сүлжээний итгэмжлэлКодыг байршуулж байна
Одоо та код болон кодыг байршуулж болно web сервер шууд ажиллах болно.
ESP32 руу код байршуулахын тулд дараах алхмуудыг дагана уу:

  1. ESP32 самбараа компьютертээ залгаарай;
  2. Arduino IDE дээр Хэрэгслүүд > Самбар хэсгээс самбараа сонгоно уу (бидний хувьд ESP32 DEVKIT DOIT хавтанг ашиглаж байна);LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Кодыг байршуулж байна
  3. Tools > Port хэсгээс COM портыг сонгоно уу.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Хэрэгслийн порт
  4. Arduino IDE дээрх "Байршуулах" товчийг дараад кодыг эмхэтгэж, самбарт байршуулах хүртэл хэдэн секунд хүлээнэ үү.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ICON 7
  5. "Байршуулж дууслаа" гэсэн мессежийг хүлээнэ үү.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - 1-г байршуулж дууслаа

ESP IP хаягийг хайж байна
Кодоо байршуулсны дараа цуврал мониторыг 115200 дамжуулах хурдаар нээнэ үү.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ESP IP хаягESP32 EN товчийг дарна уу (дахин тохируулах). ESP32 нь Wi-Fi-д холбогдож, ESP IP хаягийг цуврал монитор дээр гаргадаг. Энэ IP хаягийг хуулж ав, учир нь энэ нь танд ESP32-д хандах шаардлагатай web сервер.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - web серверхандах нь Web Сервер
хандахын тулд web серверийг нээж, ESP32 IP хаягийг оруулаад дараах хуудсыг харах болно.
Жич: Таны хөтөч болон ESP32 нэг LAN сүлжээнд холбогдсон байх ёстой.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - хандах Web СерверХэрэв та Цуврал мониторыг харвал цаана нь юу болж байгааг харж болно. ESP нь шинэ үйлчлүүлэгчээс HTTP хүсэлтийг хүлээн авдаг (энэ тохиолдолд таны хөтөч).LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - HTTP хүсэлтТа мөн HTTP хүсэлтийн талаарх бусад мэдээллийг харж болно.
Жагсаал
Одоо та өөрийн эсэхийг шалгах боломжтой web сервер хэвийн ажиллаж байна. Товчнууд дээр дарж LED-г удирдана.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - дэвсгэрҮүний зэрэгцээ та Цуврал мониторыг хараад цаана нь юу болж байгааг харах боломжтой. Жишээ ньample, та GPIO 26-г асаах товчийг дарахад ESP32 /26/on дээр хүсэлт хүлээн авна. URL.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - URLESP32 энэ хүсэлтийг хүлээн авмагц GPIO 26-д холбогдсон LED-ийг асааж, төлөвийг нь шинэчилнэ. web хуудас.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - web хуудасGPIO 27 товчлуур нь ижил төстэй байдлаар ажилладаг. Энэ нь зөв ажиллаж байгаа эсэхийг шалгана уу.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - зөв ажиллаж байна

Код хэрхэн ажилладаг вэ

Энэ хэсэгт кодыг нарийвчлан авч үзэхийн тулд энэ нь хэрхэн ажилладагийг харах болно.
Таны хийх ёстой хамгийн эхний зүйл бол WiFi номын санг оруулах явдал юм.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - WiFi номын санӨмнө дурьдсанчлан, та давхар хашилт дотор дараах мөрөнд ssid болон нууц үгээ оруулах хэрэгтэй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - давхар хашилтДараа нь та өөрийн тохиргоог хийнэ үү web сервер 80 порт руу.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - web серверДараах мөр нь HTTP хүсэлтийн толгой хэсгийг хадгалах хувьсагчийг үүсгэдэг:LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - HTTPrequestДараа нь та гаралтынхаа одоогийн төлөвийг хадгалах туслах хувьсагчдыг үүсгэнэ. Хэрэв та илүү олон гаралт нэмж, төлөвийг нь хадгалахыг хүсвэл илүү олон хувьсагч үүсгэх хэрэгтэй.LAFVIN ESP32 Үндсэн Starter Kit - хувьсагчТа мөн гаралт бүртээ GPIO оноох хэрэгтэй. Энд бид GPIO 26 болон GPIO 27-г ашиглаж байна. Та өөр ямар ч тохиромжтой GPIO ашиглаж болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - бусад тохиромжтойтохиргоо ()
Одоо тохиргоо руу орцгооё(). Эхлээд бид дибаг хийх зорилгоор 115200 дамжуулах хурдаар цуваа холболтыг эхлүүлнэ.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - зорилгоТа мөн GPIO-уудаа OUTPUT гэж тодорхойлж, LOW болгож тохируулна уу.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - ГАРАЛТ болгон GPIOДараах мөрүүд нь WiFi.begin (ssid, нууц үг)-ээр Wi-Fi холболтыг эхлүүлж, амжилттай холболтыг хүлээж, ESP IP хаягийг цуврал дэлгэц дээр хэвлэнэ.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ЦувралLAFVIN ESP32 үндсэн гарааны хэрэгсэл - Цуврал 1давталт()
Loop()-д бид шинэ үйлчлүүлэгчтэй холбогдоход юу болохыг программчилдаг web сервер.
ESP32 нь дараах шугамаар ирж буй үйлчлүүлэгчдийг үргэлж сонсож байдаг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - гогцооҮйлчлүүлэгчээс хүсэлт ирэхэд бид ирж буй өгөгдлийг хадгалах болно. Үйлчлүүлэгч холбогдсон хэвээр байх үед дараах while давталт ажиллана. Та яг юу хийж байгаагаа мэдэхгүй л бол бид кодын дараах хэсгийг өөрчлөхийг зөвлөдөггүй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ягLAFVIN ESP32 үндсэн гарааны хэрэгсэл - яг 1LAFVIN ESP32 үндсэн гарааны хэрэгсэл - яг 2if болон else хэллэгүүдийн дараагийн хэсэг нь таны аль товчлуур дээр дарагдсаныг шалгадаг web хуудас, мөн үүний дагуу гаралтыг хянадаг. Өмнө нь харсанчлан бид өөр өөр хүсэлт гаргаж байсан URLs дарагдсан товчлуураас хамаарна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - товчлуур дарагдсанLAFVIN ESP32 үндсэн гарааны иж бүрдэл - 1 дарагдсан товчлуурЖишээ ньampХэрэв та GPIO 26 ON товчийг дарвал ESP32 /26/ON дээр хүсэлт хүлээн авна. URL (Бид Цуваа монитор дээрх HTTP толгой дээрх мэдээллийг харж болно). Тиймээс, толгой хэсэгт GET /26/on илэрхийлэл байгаа эсэхийг шалгаж болно. Хэрэв энэ нь агуулж байвал бид output26state хувьсагчийг ON болгож өөрчлөх ба ESP32 нь LED-ийг асаана.
Энэ нь бусад товчлууруудад адилхан ажилладаг. Тиймээс, хэрэв та илүү олон гаралт нэмэхийг хүсвэл кодын энэ хэсгийг өөрчлөх хэрэгтэй.
HTML харуулж байна web хуудас
Таны хийх дараагийн зүйл бол үүсгэх явдал юм web хуудас. ESP32 нь таны хөтөч рүү HTML кодыг бүтээх хариу илгээх болно web хуудас.
The web Энэ илэрхийлэгч client.println() ашиглан хуудсыг үйлчлүүлэгч рүү илгээдэг. Та үйлчлүүлэгч рүү илгээхийг хүссэн зүйлээ аргумент болгон оруулах ёстой.
Бидний илгээх ёстой хамгийн эхний зүйл бол үргэлж дараах мөр байх бөгөөд энэ нь бид HTML илгээж байгааг илтгэнэ.LAFVIN ESP32 Үндсэн Starter Kit - HTML илгээж байнаДараа нь дараах мөрийг хийнэ web хуудасны аль ч хэсэгт хариу үйлдэл үзүүлэх web хөтөч.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - web хөтөчФавикон дээрх хүсэлтээс урьдчилан сэргийлэхийн тулд дараахь зүйлийг ашигладаг. – Энэ мөрөнд санаа зовох хэрэггүй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - client.println

Загвар хийх Web Хуудас

Дараа нь бид товчлуурууд болон товчлууруудыг загварчлах зарим CSS тексттэй болно web хуудасны харагдах байдал.
Бид Helvetica фонтыг сонгож, блок хэлбэрээр харуулах агуулгыг тодорхойлж, төвд байрлуулна.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - Загвар хийх Web ХуудасБид товчлууруудаа # 4CAF50 өнгөөр, хил хязгааргүй, цагаан өнгөтэй бичвэртэй, 16px 40px хэмжээтэй бичдэг. Бид мөн текстийн чимэглэлийг байхгүй гэж тохируулж, үсгийн хэмжээ, захын зай, курсорыг заагч руу тодорхойлно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - заагчБид мөн хоёр дахь товчлуурын хэв маягийг тодорхойлсон бөгөөд бидний өмнө нь тодорхойлсон товчлуурын бүх шинж чанаруудтай, гэхдээ өөр өнгөтэй байдаг. Энэ нь унтраах товчлуурын загвар байх болно.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - client.println 1

-ийг тохируулах Web Хуудасны эхний гарчиг
Дараагийн мөрөнд та өөрийн эхний гарчгийг тохируулж болно web хуудас. Энд бид "ESP32 Web Сервер" гэж бичнэ, гэхдээ та энэ текстийг хүссэнээрээ өөрчилж болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Web Хуудасны гарчигТовчлуур болон харгалзах төлөвийг харуулж байна
Дараа нь та GPIO 26-ийн одоогийн төлөвийг харуулахын тулд догол мөр бичнэ үү. Таны харж байгаагаар бид output26State хувьсагчийг ашигладаг бөгөөд энэ хувьсагч өөрчлөгдөхөд төлөв шууд шинэчлэгддэг.LAFVIN ESP32 Үндсэн Starter Kit - хувьсах өөрчлөлтүүдДараа нь бид GPIO-ийн одоогийн төлөвөөс хамааран асаах эсвэл унтраах товчлуурыг харуулна. Хэрэв GPIO-ийн одоогийн төлөв унтарсан бол бид ON товчлуурыг, үгүй ​​бол бид OFF товчлуурыг харуулна.LAFVIN ESP32 Basic Starter Kit - OFF товчийг харуулнаБид GPIO 27-д ижил процедурыг ашигладаг.
Холболтыг хаах
Эцэст нь хариулт дуусмагц бид толгойн хувьсагчийг устгаж, client.stop() ашиглан үйлчлүүлэгчтэй холбогдохыг зогсооно.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Холболтыг хаах

Боож байна

Энэ зааварт бид хэрхэн бүтээхийг харуулсан web ESP32 бүхий сервер. Бид танд энгийн экс-г үзүүллээampЭнэ нь хоёр LED-ийг удирддаг боловч эдгээр LED-үүдийг реле эсвэл хянахыг хүссэн бусад гаралтаар солих санаа юм.

Төслийн 6 RGB LED Web Сервер

Энэ төсөлд бид RGB LED-ийг ESP32 самбар ашиглан алсаас хэрхэн удирдахыг харуулах болно web өнгө сонгогчтой сервер.
Төсөл дууссанview
Эхлэхээсээ өмнө энэ төсөл хэрхэн ажилладагийг харцгаая:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Төсөл дууссанview

  • ESP32 web сервер өнгө сонгогчийг харуулна.
  • Таныг өнгө сонгоход таны хөтөч a дээр хүсэлт гаргадаг URL сонгосон өнгөний R, G, B параметрүүдийг агуулсан.
  • Таны ESP32 хүсэлтийг хүлээн авч, өнгөний параметр бүрийн утгыг хуваана.
  • Дараа нь RGB LED-ийг удирдаж буй GPIO-д тохирох утгатай PWM дохиог илгээдэг.

RGB LED хэрхэн ажилладаг вэ?
Нийтлэг катодын RGB LED-д бүх гурван LED нь сөрөг холболтыг (катод) хуваалцдаг. Иж бүрдэлд багтсан бүгд нийтлэг катодын RGB байна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - RGB LED ажилладагЯнз бүрийн өнгийг хэрхэн бүтээх вэ?
Мэдээжийн хэрэг, RGB LED-ийн тусламжтайгаар та улаан, ногоон, цэнхэр гэрлийг гаргаж авах боломжтой бөгөөд LED бүрийн эрчмийг тохируулснаар та бусад өнгийг гаргаж чадна.
Жишээ ньample, цэвэр цэнхэр гэрэл гаргахын тулд та цэнхэр LED-ийг хамгийн их эрчимтэй болгож, ногоон, улаан LED-ийг хамгийн бага эрчимтэй болгох хэрэгтэй. Цагаан гэрлийн хувьд та бүх гурван LED-ийг хамгийн их эрчимтэй болгох ёстой.
Өнгө холих
Бусад өнгө гаргахын тулд та гурван өнгийг өөр өөр эрчимтэй хослуулж болно. LED бүрийн эрчмийг тохируулахын тулд та PWM дохиог ашиглаж болно.
LED нь хоорондоо маш ойрхон байдаг тул бидний нүд гурван өнгийг тус тусад нь биш харин өнгөний хослолын үр дүнг хардаг.
Өнгийг хэрхэн хослуулах талаар санаа авахын тулд дараах хүснэгтийг харна уу.
Энэ бол хамгийн энгийн өнгө холих график боловч энэ нь хэрхэн ажилладаг, хэрхэн өөр өөр өнгө гаргах талаар санаа өгдөг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - өөр өөр өнгөтэйШаардлагатай хэсгүүд
Энэ төслийн хувьд танд дараах хэсгүүд хэрэгтэй болно.

  • ESP32 DEVKIT V1 самбар
  • RGB LED
  • 3х 220 ом эсэргүүцэл
  • Холболтын утаснууд
  • Талхны самбар

БүдүүвчLAFVIN ESP32 үндсэн гарааны иж бүрдэл - схемКод
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)

  • Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна

Хэлхээг угсарсны дараа кодыг нээнэ үү
Төсөл_6_RGB_LED_Web_Server.ino arduino IDE дээр.
Кодоо байршуулахаасаа өмнө ESP таны дотоод сүлжээнд холбогдохын тулд сүлжээний итгэмжлэлээ оруулахаа бүү мартаарай.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - дотоод сүлжээКод хэрхэн ажилладаг
ESP32 тойм зураг нь WiFi.h номын санг ашигладаг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - WiFi.h номын санДараах мөрүүд нь хүсэлтийн R, G, B параметрүүдийг хадгалах мөрийн хувьсагчдыг тодорхойлдог.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - String redStringДараагийн дөрвөн хувьсагчийг дараа нь HTTP хүсэлтийг тайлахад ашиглана.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - HTTP хүсэлтR, G, B зурвасын параметрүүдийг хянах GPIO-д гурван хувьсагч үүсгэ. Энэ тохиолдолд бид GPIO 13, GPIO 12, GPIO 14-ийг ашиглаж байна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - GPIO-д хэрэгтэйЭдгээр GPIO нь PWM дохиог гаргах шаардлагатай тул бид эхлээд PWM шинж чанарыг тохируулах хэрэгтэй. PWM дохионы давтамжийг 5000 Гц болгож тохируулна уу. Дараа нь өнгө бүрийн хувьд PWM сувгийг холбоно ууLAFVIN ESP32 үндсэн гарааны хэрэгсэл - өнгө бүрЭцэст нь PWM сувгийн нарийвчлалыг 8 бит болгож тохируулна ууLAFVIN ESP32 үндсэн гарааны хэрэгсэл - PWM сувгуудSetup() хэсэгт PWM сувгуудад PWM шинж чанарыг оноож өгнөLAFVIN ESP32 үндсэн гарааны хэрэгсэл - PWM сувгуудPWM сувгуудыг холбогдох GPIO-д холбоно ууLAFVIN ESP32 үндсэн гарааны хэрэгсэл - харгалзах GPIOДараах кодын хэсэг нь таны өнгө сонгогчийг харуулна web хуудас болон таны сонгосон өнгө дээр үндэслэн хүсэлт гаргадаг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - сонгосонLAFVIN ESP32 үндсэн гарааны хэрэгсэл - client.printlnLAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - client.println 1Та өнгө сонгохдоо дараах форматтай хүсэлт хүлээн авна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - дараах формат

Тиймээс бид R, G, B параметрүүдийг авахын тулд энэ мөрийг хуваах хэрэгтэй. Параметрүүд нь redString, greenString, blueString хувьсагчид хадгалагдах ба 0-ээс 255 хүртэлх утгатай байж болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - толгойLAFVIN ESP32 үндсэн гарааны хэрэгсэл - толгой 1ESP32 ашиглан туузыг удирдахын тулд ledcWrite() функцийг ашиглан HTTP-ээс тайлагдсан утгуудаар PWM дохиог үүсгэнэ үү. хүсэлт.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - HTTP хүсэлт 1Жич: ESP32-тай PWM-ийн талаар илүү ихийг мэдэж аваарай: Project 3 ESP32 PWM(Аналог Гаралт)
ESP8266 ашиглан туузыг удирдахын тулд бид зүгээр л ашиглах хэрэгтэй
analogWrite() функц нь HTPP хүсэлтээс тайлагдсан утгуудаар PWM дохио үүсгэх.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Бид мөрийн хувьсагчийн утгуудыг авдаг тул toInt() аргыг ашиглан бүхэл тоо руу хөрвүүлэх хэрэгтэй.
Жагсаал
Сүлжээний итгэмжлэлээ оруулсны дараа баруун самбар болон COM портыг сонгоод ESP32. Upload кодын лавлах алхмууд руу кодыг байршуулна уу.
Татаж авсны дараа 115200 дамжуулах хурдаар Serial Monitor-ийг нээж, ESP Enable/Reset товчийг дарна уу. Та самбарын IP хаягийг авах ёстой.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - ижил LANХөтөчөө нээгээд ESP IP хаягаа оруулна уу. Одоо өнгө сонгогчийг ашиглан RGB LED-ийн өнгийг сонгоно уу.
Дараа нь өнгө нь хүчин төгөлдөр болохын тулд та "Өнгийг өөрчлөх" товчийг дарах хэрэгтэй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - RGB LEDRGB LED-ийг унтраахын тулд хар өнгийг сонгоно уу.
Хамгийн хүчтэй өнгө (өнгө сонгогчийн дээд талд) нь илүү сайн үр дүнд хүрэх болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - илүү сайн үр дүн

Төсөл 7 ESP32 реле Web Сервер

ESP32-тэй реле ашиглах нь АС гэр ахуйн цахилгаан хэрэгслийг алсаас удирдах гайхалтай арга юм. Энэхүү заавар нь ESP32 ашиглан релений модулийг хэрхэн удирдахыг тайлбарладаг.
Бид релений модуль хэрхэн ажилладаг, релейг ESP32-тэй хэрхэн холбож, хэрхэн холбох талаар авч үзэх болно. web релейг алсаас удирдах сервер.
Релейг танилцуулж байна
Реле нь цахилгаанаар ажилладаг унтраалга бөгөөд бусад унтраалгатай адил гүйдлийг дамжуулж, унтрааж, асаах боломжтой. Үүнийг бага хэмжээгээр хянах боломжтойtages, ESP3.3 GPIO-ийн өгсөн 32V шиг өндөр хүчдэлийг хянах боломжийг бидэнд олгодог.tag12V, 24V эсвэл үндсэн хүчдэл гэх мэтtage (Европт 230 В, АНУ-д 120 В).LAFVIN ESP32 үндсэн гарааны иж бүрдэл - Релейг танилцуулж байнаЗүүн талд өндөр вольтыг холбох гурван залгуур бүхий хоёр багц байдагtages, баруун талд байгаа тээглүүр (бага ботьtage) ESP32 GPIO-д холбогдох.
Mains Voltage ХолболтуудLAFVIN ESP32 үндсэн гарааны хэрэгсэл - Mains Voltage ХолболтуудӨмнөх зурагт үзүүлсэн реле модуль нь нийтлэг (COM), хэвийн хаалттай (NC), хэвийн нээлттэй (NO) гэсэн гурван залгууртай хоёр холбогчтой.

  • COM: хянахыг хүсч буй гүйдлээ холбоно уу (гол ботьtage).
  • NC (Нормаль хаалттай): ердийн хаалттай тохиргоог релейг анхдагчаар хаахыг хүссэн үед ашигладаг. Сүлжээний сүлжээ нь COM тээглүүрүүдийг холбосон тул хэлхээг нээж, гүйдлийн урсгалыг зогсоохын тулд ESP32-аас реле модуль руу дохио илгээхгүй л бол гүйдэл урсаж байна гэсэн үг.
  • ҮГҮЙ (Ердийн нээлттэй): ердийн нээлттэй тохиргоо эсрэгээр ажилладаг: NO болон COM зүү хооронд ямар ч холболт байхгүй тул та ESP32-оос хэлхээг хаах дохиог илгээхгүй бол хэлхээ тасарна.

Хяналтын зүүLAFVIN ESP32 үндсэн гарааны хэрэгсэл - Хяналтын зүүБага ботьtage тал нь дөрвөн тээглүүр, гурван зүү бүхий багцтай. Эхний багц нь модулийг асаах VCC ба GND, доод ба дээд релеийг удирдах оролт 1 (IN1) ба оролт 2 (IN2) -ээс бүрдэнэ.
Хэрэв таны релений модуль зөвхөн нэг сувагтай бол танд зөвхөн нэг IN зүү байх болно. Хэрэв танд дөрвөн суваг байгаа бол дөрвөн IN зүү гэх мэт.
Таны IN зүү рүү илгээсэн дохио нь реле идэвхтэй байгаа эсэхийг тодорхойлдог. Оролт нь ойролцоогоор 2 В-оос доош орох үед реле идэвхждэг. Энэ нь танд дараах хувилбарууд тохиолдох болно гэсэн үг юм.

  • Ердийн хаалттай тохиргоо (NC):
  • ӨНДӨР дохио - гүйдэл урсаж байна
  • БАГА дохио - гүйдэл урсахгүй байна
  • Ихэвчлэн нээлттэй тохиргоо (NO):
  • ӨНДӨР дохио - гүйдэл урсахгүй байна
  • БАГА дохио - урсаж буй гүйдэл

Ихэнх тохиолдолд гүйдэл урсах үед та ердийн хаалттай тохиргоог ашиглах ёстой бөгөөд та үүнийг хааяа зогсоохыг хүсдэг.
Гүйдлийг хааяа урсгахыг хүсвэл ердийн нээлттэй тохиргоог ашиглаарай (жишээ ньample, al-г асаана ууamp хааяа).
Эрчим хүчний хангамжийн сонголтLAFVIN ESP32 үндсэн гарааны хэрэгсэл - Цахилгаан хангамжийн сонголтХоёрдахь тээглүүр нь GND, VCC, JD-VCC тээглүүрүүдээс бүрдэнэ.
JD-VCC зүү нь релений цахилгаан соронзонг тэжээдэг. Модуль нь VCC болон JD-VCC зүүг холбосон холбогч малгайтай болохыг анхаарна уу; энд үзүүлсэн нь шар өнгөтэй, гэхдээ таных өөр өнгөтэй байж магадгүй.
Холбогч тагтай үед VCC болон JD-VCC зүү холбогдсон байна. Энэ нь релений цахилгаан соронзон нь ESP32 тэжээлийн зүүгээс шууд тэжээгддэг тул релений модуль болон ESP32 хэлхээнүүд бие биенээсээ бие биенээсээ тусгаарлагддаггүй гэсэн үг юм.
Холбогч таггүй бол та JD-VCC зүүгээр дамжуулан релений цахилгаан соронзонг тэжээхийн тулд бие даасан тэжээлийн эх үүсвэрээр хангах хэрэгтэй. Энэхүү тохиргоо нь модулийн суурилуулсан оптокоуплерийн тусламжтайгаар релейг ESP32-аас физик байдлаар тусгаарлаж, цахилгаан цочролын үед ESP32-ыг гэмтээхээс сэргийлдэг.
БүдүүвчLAFVIN ESP32 үндсэн гарааны иж бүрдэл - схемАнхааруулга: Өндөр боть ашиглахtagцахилгаан хангамж нь ноцтой гэмтэл учруулж болзошгүй.
Тиймээс 5 мм-ийн LED-ийг их хэмжээний нийлүүлэлтийн оронд ашигладагtagтуршилтанд электрон чийдэн. Хэрэв та үндсэн боть сайн мэдэхгүй болtagчамд туслах хэн нэгнээс асуу. ESP-г програмчлах эсвэл хэлхээгээ холбохдоо бүх зүйл сүлжээнээс салгагдсан эсэхийг шалгаарайtage.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - үндсэн ботьtageESP32-д зориулсан номын санг суулгаж байна
Үүнийг барихын тулд web серверийн хувьд бид ESPAsync ашигладагWebСерверийн номын сан ба AsyncTCP номын сан.
ESPAsync суулгаж байнаWebСерверийн номын сан
Суулгахын тулд дараагийн алхмуудыг дагана уу ESPAsyncWebСервер номын сан:

  1. ESPAsync програмыг татаж авах бол энд дарна ууWebСерверийн номын сан. Чи байх ёстой
    Татаж авсан файлын хавтас доторх .zip хавтас
  2. .zip фолдерыг задлаад та ESPAsync авах хэрэгтэйWebСервер-мастер хавтас
  3. ESPAsync-ээс хавтасныхаа нэрийг өөрчилWebESPAsync руу серверийн мастерWebСервер
  4. ESPAsync-ийг зөөнө үүWebСерверийн хавтсыг өөрийн Arduino IDE суулгацын номын сангийн хавтас руу оруулна

Эсвэл та Arduino IDE дээрээ Sketch > Include руу очиж болно
Номын сан > .ZIP номын сан нэмээд... саяхан татаж авсан номын сангаа сонгоно уу.
ESP32-д зориулсан AsyncTCP номын санг суулгаж байна
The ESPAsyncWebСервер номын сан шаарддаг AsyncTCP ажиллах номын сан. Дага
номын санг суулгах дараагийн алхамууд:

  1. AsyncTCP номын санг энд дарж татаж авна уу. Та "Татаж авсан файл" хавтсандаа .zip хавтастай байх ёстой
  2. .zip фолдерыг задлаад AsyncTCP-мастер фолдер авах болно
    1. Фолдерынхаа нэрийг AsyncTCP-master-аас AsyncTCP болгон өөрчил
    3. AsyncTCP хавтсыг өөрийн Arduino IDE суулгацын сангуудын хавтас руу зөөнө үү
    4. Эцэст нь Arduino IDE-ээ дахин нээнэ үү

Эсвэл та Arduino IDE дээрээ Sketch > Include руу очиж болно
Номын сан > .ZIP номын сан нэмээд... саяхан татаж авсан номын сангаа сонгоно уу.
Код
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Шаардлагатай сангуудыг суулгасны дараа Project_7_ESP32_Relay_ кодыг нээнэ үү.Web_Server.ino arduino IDE дээр.
Кодоо байршуулахаасаа өмнө ESP таны дотоод сүлжээнд холбогдохын тулд сүлжээний итгэмжлэлээ оруулахаа бүү мартаарай.LAFVIN ESP32 Үндсэн Starter Kit - ocal networkЖагсаал
Шаардлагатай өөрчлөлтүүдийг хийсний дараа кодыг өөрийн ESP32. Upload кодын лавлах алхмуудад байршуулна уу.
Цуваа мониторыг 115200 дамжуулах хурдаар нээгээд ESP32 EN товчийг дарж IP хаягийг нь авна уу. Дараа нь дотоод сүлжээндээ хөтөч нээж ESP32 IP хаягийг бичнэ үү. web сервер.
Цуваа мониторыг 115200 дамжуулах хурдаар нээгээд ESP32 EN товчийг дарж IP хаягийг нь авна уу. Дараа нь дотоод сүлжээндээ хөтөч нээж ESP32 IP хаягийг бичнэ үү. web сервер.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - web серверЖич: Таны хөтөч болон ESP32 нэг LAN сүлжээнд холбогдсон байх ёстой.
Та коддоо тодорхойлсон релений тоог хоёр товчлуураар дараах байдлаар авах ёстой.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ухаалаг утасОдоо та ухаалаг гар утсаа ашиглан релейгээ удирдахын тулд товчлууруудыг ашиглаж болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ухаалаг гар утас 1

Төслийн_8_Гаралтын_төлөв_синхрончлол_ Web_Сервер

Энэхүү төсөл нь ESP32 эсвэл ESP8266 гаралтыг ашиглан хэрхэн удирдахыг харуулж байна web сервер болон физик товчлуурыг нэгэн зэрэг ажиллуулна. Гаралтын төлөв нь дээр шинэчлэгдсэн web Энэ нь физик товчлуураар өөрчлөгдсөн эсэхээс үл хамааран хуудас web сервер.
Төсөл дууссанview
Төсөл хэрхэн хэрэгжиж байгааг хурдан харцгаая.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Төсөл дууссанviewESP32 эсвэл ESP8266 нь a web гаралтын төлөвийг хянах боломжийг олгодог сервер;

  • Одоогийн гаралтын төлөв нь дээр харагдана web сервер;
  • ESP нь мөн ижил гаралтыг хянадаг физик товчлууртай холбогдсон;
  • Хэрэв та физик товчлуурыг ашиглан гаралтын төлөвийг өөрчлөх юм бол түүний одоогийн төлөв мөн дээр шинэчлэгдэнэ web сервер.

Дүгнэж хэлэхэд, энэ төсөл нь a ашиглан ижил гаралтыг хянах боломжийг танд олгоно web сервер болон товчлуурыг нэгэн зэрэг дарна. Гаралтын төлөв өөрчлөгдөх бүрд web сервер шинэчлэгдсэн.
Шаардлагатай хэсгүүд
Хэлхээ барихад шаардлагатай хэсгүүдийн жагсаалт энд байна.

  • ESP32 DEVKIT V1 самбар
  • 5 мм LED
  • 220 Ом эсэргүүцэл
  • Дарах товчлуур
  • 10 к Ом эсэргүүцэл
  • Талхны самбар
  • Холболтын утаснууд

БүдүүвчLAFVIN ESP32 үндсэн гарааны иж бүрдэл - бүдүүвч 1ESP32-д зориулсан номын санг суулгаж байна
Үүнийг барихын тулд web серверийн хувьд бид ESPAsync ашигладагWebСерверийн номын сан болон AsyncTCP номын сан.(Хэрэв та энэ алхмыг аль хэдийн хийсэн бол дараагийн алхам руу алгасаж болно.)
ESPAsync суулгаж байнаWebСерверийн номын сан
ESPAsync суулгахын тулд дараагийн алхмуудыг дагана ууWebСерверийн номын сан:

  1. ESPAsync програмыг татаж авах бол энд дарна ууWebСерверийн номын сан. Чи байх ёстой
    Татаж авсан файлын хавтас доторх .zip хавтас
  2. .zip фолдерыг задлаад та ESPAsync авах хэрэгтэйWebСервер-мастер хавтас
  3. ESPAsync-ээс хавтасныхаа нэрийг өөрчилWebESPAsync руу серверийн мастерWebСервер
  4. ESPAsync-ийг зөөнө үүWebСерверийн хавтсыг өөрийн Arduino IDE суулгацын номын сангийн хавтас руу оруулна
    Эсвэл та Arduino IDE дээрээ Sketch > Include руу очиж болно
    Номын сан > .ZIP номын сан нэмээд... саяхан татаж авсан номын сангаа сонгоно уу.

ESP32-д зориулсан AsyncTCP номын санг суулгаж байна
ESPAsyncWebСерверийн номын сан нь ажиллахын тулд AsyncTCP номын санг шаарддаг. Энэ номын санг суулгахын тулд дараах алхмуудыг дагана уу:

  1. AsyncTCP номын санг энд дарж татаж авна уу. Та "Татаж авсан файл" хавтсандаа .zip хавтастай байх ёстой
  2. .zip фолдерыг задлаад AsyncTCP-мастер фолдер авах болно
  3. Өөрийн фолдерын нэрийг AsyncTCP-мастераас AsyncTCP болгон өөрчил
  4. AsyncTCP фолдерыг өөрийн Arduino IDE суулгацын номын сангийн хавтас руу зөөнө үү
  5. Эцэст нь Arduino IDE-ээ дахин нээнэ үү
    Эсвэл та Arduino IDE дээрээ Sketch > Include руу очиж болно
    Номын сан > .ZIP номын сан нэмээд... саяхан татаж авсан номын сангаа сонгоно уу.

Код
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Шаардлагатай сангуудыг суулгасны дараа кодыг нээнэ үү
Төслийн_8_Гаралтын_төлөв_синхрончлол_Web_Server.ino arduino IDE дээр.
Кодоо байршуулахаасаа өмнө ESP таны дотоод сүлжээнд холбогдохын тулд сүлжээний итгэмжлэлээ оруулахаа бүү мартаарай.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Код

Код хэрхэн ажилладаг вэ

Товчлуурын төлөв ба гаралтын төлөв
ledState хувьсагч нь LED гаралтын төлөвийг агуулна. Анхдагч байдлаар, хэзээ web сервер эхэлж байна, энэ нь БАГА байна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Код ажилладаг

ButtonState болон lastButtonState нь товчлуур дарагдсан эсэхийг илрүүлэхэд ашиглагддаг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - дарагдсанТовчлуур (web сервер)
Бид index_html хувьсагч дээр товчлуур үүсгэх HTML-г оруулаагүй.
Учир нь бид товчлуурын тусламжтайгаар өөрчлөх боломжтой одоогийн LED төлөвөөс хамаарч үүнийг өөрчлөх боломжтой байхыг хүсч байна.
Тиймээс бид %BUTTONPLACEHOLDER% товчлуурын орлуулагчийг үүсгэсэн бөгөөд үүнийг дараа нь код дээр товчлуур үүсгэхийн тулд HTML текстээр солих болно (энэ нь процессор() функц дээр хийгддэг).LAFVIN ESP32 үндсэн гарааны хэрэгсэл - 1 дарагдсанпроцессор()
Процессор() функц нь HTML текст дээрх ямар ч орлуулагчийг бодит утгаар орлуулдаг. Нэгдүгээрт, энэ нь HTML текстэнд ямар нэгэн зүйл байгаа эсэхийг шалгадаг
орлуулагч %BUTTONPLACEHOLDER%.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - процессорДараа нь одоогийн гаралтын төлөвийг буцаадаг theoutputState() функцийг дуудна. Бид үүнийг outputStateValue хувьсагчид хадгалдаг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - outputStateҮүний дараа товчлуурыг зөв төлөвт харуулахын тулд HTML текстийг үүсгэхийн тулд энэ утгыг ашиглана уу:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - код 4HTTP GET гаралтын төлөвийг өөрчлөх хүсэлт (JavaScript)
Та товчлуурыг дарахад thetoggleCheckbox() функц дуудагдана. Энэ функц нь өөр зүйл дээр хүсэлт гаргах болно URLs LED-ийг асаах эсвэл унтраах.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - JavaScriptLED-ийг асаахын тулд /update?state=1 дээр хүсэлт гаргадаг URL:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - element.checkedҮгүй бол /update?state=0 дээр хүсэлт гаргадаг URL.
HTTP GET төлөвийг шинэчлэх хүсэлт (JavaScript)
Гаралтын төлөвийг шинэчилсэн байлгахын тулд web серверийн хувьд бид /state дээр шинэ хүсэлт гаргах дараах функцийг дууддаг URL секунд тутамд.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Шинэчлэх төлөвLAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Шинэчлэх төлөв 1Хүсэлтийг зохицуулах
Дараа нь ESP32 эсвэл ESP8266 эдгээр хүсэлтийг хүлээн авахад юу тохиолдохыг шийдэх хэрэгтэй. URLs.
Үндэс дээр хүсэлт хүлээн авах үед /URL, бид HTML хуудас болон процессорыг илгээдэг.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Хүсэлтийг зохицуулахLAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Хүсэлтийг зохицуулах 1Дараах мөрүүд нь таныг /update?state=1 эсвэл /update?state=0 дээр хүсэлт хүлээн авсан эсэхийг шалгана. URL led төлөвийг зохих ёсоор өөрчилнө.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ledStateLAFVIN ESP32 үндсэн гарааны хэрэгсэл - inputParamХүсэлт хүлээн авах үед / муж URL, бид одоогийн гаралтын төлөвийг илгээдэг:LAFVIN ESP32 үндсэн гарааны хэрэгсэл - гаралтын төлөвдавталт()
Loop()-д бид товчлуурыг задалж, ledState-ийн утгаас хамааран LED-ийг асаах эсвэл унтраадаг. хувьсагч.LAFVIN ESP32 үндсэн гарааны иж бүрдэл - гогцоо 1Жагсаал
Кодоо ESP32 самбартаа байршуулна уу. Кодын лавлах алхмуудыг байршуулна уу.
Дараа нь цуврал мониторыг 115200 дамжуулах хурдаар нээнэ үү. IP хаягийг авахын тулд самбар дээрх EN/RST товчийг дарна уу.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ҮзүүлэнДотоод сүлжээндээ хөтөч нээгээд ESP IP хаягаа бичнэ үү. Та нэвтрэх эрхтэй байх ёстой web доор үзүүлсэн шиг сервер.
Жич: Таны хөтөч болон ESP32 нэг LAN сүлжээнд холбогдсон байх ёстой.LAFVIN ESP32 Basic Starter Kit - хөтөчТа дээрх товчлуурыг сольж болно web LED-ийг асаах сервер.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - web 1 серверТа мөн ижил LED-ийг физик товчлуураар удирдаж болно. Түүний төлөв нь үргэлж автоматаар шинэчлэгдэх болно web сервер.

Төсөл 9 ESP32 DHT11 Web Сервер

Энэ төсөлд та асинхрон ESP32 хэрхэн бүтээх талаар сурах болно web Arduino IDE ашиглан температур, чийгшлийг харуулдаг DHT11 сервер.
Урьдчилсан нөхцөл
The web серверийг бид сэргээн засварлах шаардлагагүйгээр автоматаар уншуулж шинэчлэх болно web хуудас.
Энэ төслөөр та дараах зүйлсийг сурах болно:

  • DHT мэдрэгчээс температур, чийгшлийг хэрхэн унших;
  • Асинхрон үүсгэх web ашиглан сервер ESPAsyncWebСерверийн номын сан;
  • Мэдрэгчийн уншилтыг дахин шинэчлэх шаардлагагүйгээр автоматаар шинэчилнэ үү web хуудас.

Асинхрон Web Сервер
барихын тулд web серверийг бид ашиглах болно ESPAsyncWebСерверийн номын сан Энэ нь асинхрон үүсгэх хялбар арга юм web сервер. Асинхрон бүтээх web сервер нь хэд хэдэн давуу талтайtages номын сангийн GitHub хуудсанд дурдсанчлан, тухайлбал:

  • "Нэг зэрэг олон холболттой ажиллах";
  • "Та хариу илгээх үед сервер цаана нь хариу илгээх ажлыг хариуцаж байх үед та бусад холболтуудыг зохицуулахад бэлэн болно";
  • "Загвартай ажиллах энгийн загвар боловсруулах хөдөлгүүр";

Шаардлагатай хэсгүүд
Энэ хичээлийг дуусгахын тулд танд дараах хэсгүүд хэрэгтэй болно.

  • ESP32 хөгжүүлэх самбар
  • DHT11 модуль
  • Талхны самбар
  • Холболтын утаснууд

БүдүүвчLAFVIN ESP32 үндсэн гарааны иж бүрдэл - бүдүүвч 2Номын сангуудыг суулгаж байна
Та энэ төсөлд зориулж хэд хэдэн номын сан суулгах хэрэгтэй:

DHT мэдрэгчийн номын санг суулгаж байна
Arduino IDE ашиглан DHT мэдрэгчээс уншихын тулд та үүнийг суулгах хэрэгтэй DHT мэдрэгчийн номын сан. Номын санг суулгахын тулд дараагийн алхмуудыг дагана уу.

  1. DHT Sensor номын санг энд дарж татаж авна уу. Та "Татаж авсан файл" хавтсандаа .zip хавтастай байх ёстой
  2. .zip хавтсыг задлаад DHT-sensor-library-master хавтас авах болно
  3. Өөрийн фолдерын нэрийг DHT-sensor-libraries-master-аас DHT_sensor болгон өөрчил
  4. DHT_sensor хавтсыг Arduino IDE суулгацын номын сангийн хавтас руу зөөнө үү
  5. Эцэст нь Arduino IDE-ээ дахин нээнэ үү

Adafruit нэгдсэн мэдрэгч драйверийг суулгаж байна
Та мөн суулгах хэрэгтэй 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-ээ дахин нээнэ үү

ESPAsync суулгаж байнаWebСерверийн номын сан

Суулгахын тулд дараагийн алхмуудыг дагана уу ESPAsyncWebСервер номын сан:

  1. ESPAsync програмыг татаж авах бол энд дарна ууWebСерверийн номын сан. Чи байх ёстой
    Татаж авсан файлын хавтас доторх .zip хавтас
  2. .zip фолдерыг задлах хэрэгтэй
    ESPAsync авахWebСервер-мастер хавтас
  3. ESPAsync-ээс хавтасныхаа нэрийг өөрчилWebESPAsync руу серверийн мастерWebСервер
  4. ESPAsync-ийг зөөнө үүWebСерверийн хавтсыг өөрийн Arduino IDE суулгацын номын сангийн хавтас руу оруулна

ESP32-д зориулсан Async TCP номын санг суулгаж байна
The ESPAsyncWebСервер номын сан шаарддаг AsyncTCP ажиллах номын сан. Энэ номын санг суулгахын тулд дараах алхмуудыг дагана уу:

  1. AsyncTCP номын санг энд дарж татаж авна уу. Та "Татаж авсан файл" хавтсандаа .zip хавтастай байх ёстой
  2. .zip фолдерыг задлаад AsyncTCP-мастер фолдер авах болно
  3. Өөрийн фолдерын нэрийг AsyncTCP-мастераас AsyncTCP болгон өөрчил
  4. AsyncTCP фолдерыг өөрийн Arduino IDE суулгацын номын сангийн хавтас руу зөөнө үү
  5. Эцэст нь Arduino IDE-ээ дахин нээнэ үү

Код
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байна
Шаардлагатай сангуудыг суулгасны дараа кодыг нээнэ үү
Төсөл_9_ESP32_DHT11_Web_Server.ino arduino IDE дээр.
Кодоо байршуулахаасаа өмнө ESP таны дотоод сүлжээнд холбогдохын тулд сүлжээний итгэмжлэлээ оруулахаа бүү мартаарай.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - КодКод хэрхэн ажилладаг вэ
Дараах догол мөрөнд бид код хэрхэн ажилладагийг тайлбарлах болно. Хэрэв та илүү ихийг мэдэхийг хүсвэл үргэлжлүүлэн уншаарай эсвэл эцсийн үр дүнг харахын тулд Үзүүлэх хэсэг рүү очно уу.
Номын санг импортлох
Нэгдүгээрт, шаардлагатай номын сангуудыг импортлох. WiFi, ESPAsyncWebҮүнийг бүтээхэд сервер болон ESPAsyncTCP хэрэгтэй web сервер. Adafruit_Sensor болон DHT сангууд нь DHT11 эсвэл DHT22 мэдрэгчээс уншихад хэрэгтэй.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Номын санг импортлохLAFVIN ESP32 үндсэн гарааны хэрэгсэл - Код хэрхэн ажилладаг вэХувьсагчийн тодорхойлолт
DHT өгөгдлийн зүү холбогдсон GPIO-г тодорхойлно уу. Энэ тохиолдолд энэ нь GPIO 4-тэй холбогдсон байна.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Хувьсагчийн тодорхойлолтДараа нь ашиглаж буй DHT мэдрэгчийн төрлөө сонгоно уу. Манай экс дээрample, бид DHT22 ашиглаж байна. Хэрэв та өөр төрлийг ашиглаж байгаа бол мэдрэгчийнхээ тайлбарыг болиулж, бусад бүх зүйлд сэтгэгдэл бичих хэрэгтэй.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Хувьсагчийн тодорхойлолт 1

Бидний өмнө нь тодорхойлсон төрөл, зүүгээр DHT объектыг үүсгэнэ үү.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Хувьсагчийн тодорхойлолт 2Async үүсгэхWeb80 порт дээрх сервер объект.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Хувьсагчийн тодорхойлолт 3Температур ба чийгшлийн функцуудыг уншина уу
Бид хоёр функцийг үүсгэсэн: нэг нь температурыг унших Бид хоёр функц үүсгэсэн: нэг нь температурыг унших (readDHTTemperature()), нөгөө нь чийгшлийг унших (readDHTHumidity()).LAFVIN ESP32 үндсэн гарааны иж бүрдэл - унших DHT чийгшилLAFVIN ESP32 үндсэн гарааны хэрэгсэл - мэдрэгчийн заалтМэдрэгчийн уншилтыг авах нь dht объект дээрх readTemperature() болон readHumidity() аргуудыг ашиглахтай адил хялбар Мэдрэгчийн уншилтыг авах явдал юм.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - объектМэдрэгч уншилтыг авч чадахгүй тохиолдолд хоёр зураас (-) буцаах нөхцөл бидэнд бас бий.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - уншилтуудУншилтыг мөрийн төрлөөр буцаана. Хөвөгчийг мөр болгон хөрвүүлэхийн тулд String() функцийг ашиглана ууLAFVIN ESP32 үндсэн гарааны хэрэгсэл - мөрАнхдагч байдлаар бид температурыг Цельсийн градусаар уншиж байна. Температурыг Фаренгейтийн градусаар авахын тулд Цельсийн температурыг тайлбарлаж, Фаренгейтийн температурын тайлбарыг арилгаснаар дараах байдалтай болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - ФаренгейтLAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Фаренгейт 1Кодоо байршуулна уу
Одоо кодыг ESP32 дээрээ байршуулна уу. Зөв самбар болон COM портыг сонгосон эсэхээ шалгаарай. Байршуулах кодын лавлах алхмууд.
Байршуулж дууссаны дараа 115200 дамжуулах хурдаар Serial Monitor-ийг нээнэ үү. ESP32 дахин тохируулах товчийг дарна уу. ESP32 IP хаягийг цуваа хэлбэрээр хэвлэсэн байх ёстой хянах.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Кодоо байршуулна ууЖагсаал
Хөтөч нээгээд ESP32 IP хаягаа бичнэ үү. Таны web сервер нь хамгийн сүүлийн үеийн мэдрэгчийн заалтуудыг харуулах ёстой.
Жич: Таны хөтөч болон ESP32 нэг LAN сүлжээнд холбогдсон байх ёстой.
Температур, чийгшлийн уншилтууд нь шинэчлэх шаардлагагүйгээр автоматаар шинэчлэгддэг болохыг анхаарна уу web хуудас.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Үзүүлэн 1

Төслийн_10_ESP32_OLED_Дэлгэц

Энэхүү төсөл нь Arduino IDE ашиглан ESP0.96 бүхий 1306 инчийн SSD32 OLED дэлгэцийг хэрхэн ашиглахыг харуулж байна.
0.96 инчийн OLED дэлгэцийг танилцуулж байна
The OLED дэлгэц Энэ зааварт бидний ашиглах зүйл бол SSD1306 загвар юм: доорх зурагт үзүүлсэн шиг 0.96×128 пиксел бүхий 64 инчийн нэг өнгөт дэлгэц.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - OLEDDisplayOLED дэлгэц нь арын гэрэлтүүлэг шаарддаггүй бөгөөд энэ нь харанхуй орчинд маш сайн ялгаатай байдлыг бий болгодог. Нэмж дурдахад, түүний пикселүүд нь зөвхөн асаалттай үед эрчим хүч зарцуулдаг тул OLED дэлгэц нь бусад дэлгэцтэй харьцуулахад бага эрчим хүч зарцуулдаг.
OLED дэлгэц нь I2C холбооны протоколыг ашигладаг тул утас холбох нь маш энгийн. Та дараах хүснэгтийг лавлагаа болгон ашиглаж болно.

OLED зүү ESP32
Вин 3.3 В
GND GND
SCL GPIO 22
SDA GPIO 21

БүдүүвчLAFVIN ESP32 үндсэн гарааны иж бүрдэл - схемSSD1306 OLED номын санг суулгаж байна – ESP32
ESP32 ашиглан OLED дэлгэцийг удирдах хэд хэдэн номын сан байдаг.
Энэ зааварт бид хоёр Adafruit номын санг ашиглах болно: Adafruit_SSD1306 номын сан болон Adafruit_GFX номын сан.
Эдгээр сангуудыг суулгахын тулд дараагийн алхмуудыг дагана уу.

  1. Arduino IDE-ээ нээгээд Sketch > Include Library > Manage Library руу очно уу. Номын сангийн менежер нээгдэх ёстой.
  2. Хайлтын талбарт "SSD1306" гэж бичээд Adafruit-аас SSD1306 номын санг суулгана уу.LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - OLEDLibrary–
  3. Adafruit-аас SSD1306 номын санг суулгасны дараа хайлтын талбарт "GFX" гэж бичээд номын санг суулгана уу.LAFVIN ESP32 Үндсэн Starter Kit - номын сан
  4. Номын сангуудыг суулгасны дараа Arduino IDE-ээ дахин эхлүүлнэ үү.

Код
Шаардлагатай сангуудыг суулгасны дараа Project_10_ESP32_OLED_Display.ino-г arduino IDE дээр нээнэ үү. код
Бид ESP32-г Arduino IDE ашиглан програмчлах тул үргэлжлүүлэхээсээ өмнө ESP32 нэмэлтийг суулгасан эсэхээ шалгаарай: (Хэрэв та энэ алхамыг аль хэдийн хийсэн бол дараагийн алхам руу шилжиж болно.)
Arduino IDE дээр ESP32 нэмэлтийг суулгаж байнаLAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 1LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 2LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - Код 3Код хэрхэн ажилладаг вэ
Номын санг импортлох
Эхлээд та шаардлагатай номын сангуудыг импортлох хэрэгтэй. I2C-г ашиглах Wire номын сан, дэлгэцэнд бичихэд Adafruit номын сангууд: Adafruit_GFX болон Adafruit_SSD1306.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Кодын ажил 1LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - Кодын ажил 2OLED дэлгэцийг эхлүүлэх
Дараа нь та OLED-ийн өргөн, өндрийг тодорхойлно. Энэ жишээндample, бид 128×64 OLED дэлгэц ашиглаж байна. Хэрэв та өөр хэмжээ ашиглаж байгаа бол SCREEN_WIDTH болон SCREEN_HEIGHT хувьсагчид үүнийг өөрчилж болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - OLED дэлгэцДараа нь I2C холбооны протоколоор (&Wire) өмнө нь тодорхойлсон өргөн, өндөртэй дэлгэцийн объектыг эхлүүлнэ.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - харилцааны протокол(-1) параметр нь таны OLED дэлгэцэнд RESET зүү байхгүй гэсэн үг. Хэрэв таны OLED дэлгэц RESET зүүтэй бол GPIO-д холбогдсон байх ёстой. Энэ тохиолдолд та GPIO дугаарыг параметр болгон дамжуулах хэрэгтэй.
Setup() хэсэгт дибаг хийх зорилгоор Цуврал мониторыг 115200 дамжуулах хурдаар эхлүүлнэ үү.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - зорилгоOLED дэлгэцийг start() аргаар дараах байдлаар эхлүүлнэ.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - display.beginLAFVIN ESP32 үндсэн гарааны хэрэгсэл - Serial.printlnЭнэ хэсэг нь дэлгэцтэй холбогдох боломжгүй тохиолдолд цуврал монитор дээр мессеж хэвлэдэг.

LAFVIN ESP32 үндсэн гарааны хэрэгсэл - Serial.println 1Хэрэв та өөр OLED дэлгэц ашиглаж байгаа бол OLED хаягийг өөрчлөх шаардлагатай байж магадгүй. Манай тохиолдолд хаяг нь 0x3C байна.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - хаягДэлгэцийг эхлүүлсний дараа хоёр секундын саатал нэмж, OLED нь текст бичихээс өмнө эхлүүлэх хангалттай хугацаатай болно.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - сааталДэлгэцийг цэвэрлэх, үсгийн хэмжээ, өнгө тохируулах, текст бичих
Дэлгэцийг эхлүүлсний дараа дэлгэцийн буферийг clearDisplay() аргаар цэвэрлэ.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - дэлгэц

Текст бичихийн өмнө та текстийн хэмжээ, өнгө, текстийг OLED дээр хаана харуулахыг тохируулах хэрэгтэй.
setTextSize() аргыг ашиглан үсгийн хэмжээг тохируулна уу:LAFVIN ESP32 үндсэн эхлүүлэх хэрэгсэл - дэлгэц 1setTextColor() аргаар үсгийн өнгийг тохируулна уу:
WHITE нь цагаан фонт, хар дэвсгэрийг тохируулна.
setCursor(x,y) аргыг ашиглан текст эхлэх байрлалыг тодорхойлно. Энэ тохиолдолд бид текстийг зүүн дээд буланд (0,0) координатаас эхлэхээр тохируулж байна.LAFVIN ESP32 үндсэн эхлэлийн хэрэгсэл - setTextColor 1Эцэст нь та дараах байдлаар println() аргыг ашиглан текстийг дэлгэц рүү илгээж болноLAFVIN ESP32 үндсэн гарааны хэрэгсэл - код 5Дараа нь та текстийг дэлгэцэн дээр харуулахын тулд display() аргыг дуудах хэрэгтэй.LAFVIN ESP32 үндсэн гарааны хэрэгсэл - дэлгэц

Adafruit OLED номын сан нь текстийг хялбархан гүйлгэх ашигтай аргуудыг өгдөг.

  • startscrollright(0x00, 0x0F): текстийг зүүнээс баруун тийш гүйлгэх
  • startscrollleft(0x00, 0x0F): текстийг баруунаас зүүн тийш гүйлгэх
  • startscrolldiagright(0x00, 0x07): текстийг зүүн доод булангаас баруун дээд булан руу гүйлгэж эхэлнэ.

Кодоо байршуулна уу
Одоо кодыг өөрийн ESP32. Upload кодын лавлах алхмуудад байршуулна уу.
Кодоо байршуулсны дараа OLED нь гүйлгэх текстийг харуулах болно.LAFVIN ESP32 Үндсэн Starter Kit - гүйлгэх текстLAFVIN лого

Баримт бичиг / нөөц

LAFVIN ESP32 үндсэн гарааны иж бүрдэл [pdf] Зааварчилгааны гарын авлага
ESP32 үндсэн гарааны иж бүрдэл, ESP32, үндсэн гарааны хэрэгсэл, гарааны хэрэгсэл

Лавлагаа

Сэтгэгдэл үлдээгээрэй

Таны имэйл хаягийг нийтлэхгүй. Шаардлагатай талбаруудыг тэмдэглэсэн *