ESP32 asosiy starter
Kit
O'rama bo'yicha hisob-kitob hujjati; Yuk-mol hujjati
ESP32 Kirish
ESP32 uchun yangimi? Bu yerdan boshlang! ESP32 - bu Espressif tomonidan ishlab chiqilgan, Wi-Fi va Bluetooth simsiz imkoniyatlari va ikki yadroli protsessorni o'z ichiga olgan Chipdagi (SoC) mikrokontrollerlar seriyasi. Agar siz ESP8266 bilan tanish bo'lsangiz, ESP32 ko'plab yangi xususiyatlar bilan to'ldirilgan uning vorisi hisoblanadi.ESP32 texnik xususiyatlari
Agar siz biroz ko'proq texnik va aniqroq ma'lumotga ega bo'lishni istasangiz, ESP32 ning quyidagi batafsil tavsiflarini ko'rib chiqishingiz mumkin (manba: http://esp32.net/) - batafsil ma'lumot uchun, ma'lumotlar varag'ini tekshiring):
- Simsiz ulanish WiFi: HT150.0 bilan 40 Mbit / s ma'lumot uzatish tezligi
- Bluetooth: BLE (Bluetooth Low Energy) va Bluetooth Classic
- Protsessor: Tensilica Xtensa Dual-Core 32-bit LX6 mikroprotsessor, 160 yoki 240 MGts chastotada ishlaydi
- Xotira:
- ROM: 448 KB (yuklash va asosiy funktsiyalar uchun)
- SRAM: 520 KB (ma'lumotlar va ko'rsatmalar uchun)
- RTC fas SRAM: 8 KB (chuqur uyqu rejimidan RTC yuklash paytida ma'lumotlarni saqlash va asosiy protsessor uchun)
- RTC sekin SRAM: 8KB (chuqur uyqu rejimida protsessorga kirish uchun) eFuse: 1 Kbit (shundan 256 bit tizim uchun ishlatiladi (MAC manzili va chip konfiguratsiyasi) va qolgan 768 bit mijozlar ilovalari uchun ajratilgan, shu jumladan Flash-shifrlash va chip-ID)
O'rnatilgan flesh: ESP16-D17WD va ESP0-PICO-D1 da IO32, IO2, SD_CMD, SD_CLK, SD_DATA_32 va SD_DATA_4 orqali ichki ulangan flesh.
- 0 MiB (ESP32-D0WDQ6, ESP32-D0WD va ESP32-S0WD chiplari)
- 2 Mb (ESP32-D2WD chipi)
- 4 MiB (ESP32-PICO-D4 SiP moduli)
Kam quvvat: siz hali ham ADC konversiyalaridan foydalanishingiz mumkinligini ta'minlaydi, masalanample, chuqur uyqu paytida.
Periferik kirish/chiqish:
- kapasitiv teginishni o'z ichiga olgan DMA bilan periferik interfeys
- ADC (analog-raqamli konvertor)
- DAC (raqamli-analog konvertori)
- I²C (Integratsiyalashgan sxema)
- UART (Universal asinxron qabul qiluvchi/uzatuvchi)
- SPI (seriyali periferik interfeys)
- I²S (Integrated Interchip Sound)
- RMII (qisqartirilgan media-mustaqil interfeys)
- PWM (impuls kengligi modulyatsiyasi)
Xavfsizlik: AES va SSL/TLS uchun apparat tezlatgichlari
ESP32 ishlab chiqish kengashlari
ESP32 yalang'och ESP32 chipiga ishora qiladi. Biroq, "ESP32" atamasi ESP32 ishlab chiqish kengashlariga nisbatan ham qo'llaniladi. ESP32 yalang'och chiplaridan foydalanish oson yoki amaliy emas, ayniqsa o'rganish, sinovdan o'tkazish va prototiplashda. Ko'pincha siz ESP32 ishlab chiqish taxtasidan foydalanishni xohlaysiz.
Malumot sifatida biz ESP32 DEVKIT V1 platasidan foydalanamiz. Quyidagi rasmda 32 GPIO pinli ESP1 DEVKIT V30 platasi ko‘rsatilgan.Texnik xususiyatlari – ESP32 DEVKIT V1
Quyidagi jadvalda ESP32 DEVKIT V1 DOIT platasining xususiyatlari va spetsifikatsiyalarining qisqacha mazmuni ko'rsatilgan:
Yadrolar soni | 2 (ikki yadroli) |
Wi-fi | 2.4 GGts dan 150 Mbit/s gacha |
Bluetooth | BLE (Bluetooth Low Energy) va eski Bluetooth |
Arxitektura | 32 bit |
Soat chastotasi | 240 MGts gacha |
Ram | 512 KB |
Pinlar | 30 (modelga qarab) |
Periferik qurilmalar | Kapasitiv sensorli, ADC (analogdan raqamli konvertorga), DAC (raqamlidan analogga o'zgartirgichga), 12C (integrallashgan sxema), UART (universal asinxron qabul qiluvchi/uzatuvchi), CAN 2.0 (Controller Area Netwokr), SPI (Serial Periferik interfeys) , 12S (Integratsiyalashgan Inter-IC Ovoz), RMII (Reduced Media-Independent Interface), PWM (impuls kengligi modulyatsiyasi) va boshqalar. |
O'rnatilgan tugmalar | RESET va BOOT tugmalari |
O'rnatilgan LEDlar | GPIO2 ga ulangan o'rnatilgan ko'k LED; taxta quvvatlanayotganini ko'rsatadigan o'rnatilgan qizil LED |
USB-dan UART-ga ko'prik |
CP2102 |
U microUSB interfeysi bilan birga keladi, siz kodni yuklash yoki quvvatni ishlatish uchun platani kompyuteringizga ulashda foydalanishingiz mumkin.
U CP2102 chipidan (USB dan UART ga) ketma-ket interfeys yordamida COM porti orqali kompyuteringiz bilan bog'lanish uchun foydalanadi. Yana bir mashhur chip - CH340. Bortingizda USB-UART chip konvertori nima ekanligini tekshiring, chunki kompyuteringiz plata bilan aloqa o'rnatishi uchun kerakli drayverlarni o'rnatishingiz kerak bo'ladi (bu haqda keyinroq ushbu qo'llanmada batafsil ma'lumot oling).
Ushbu plata shuningdek, platani qayta ishga tushirish uchun RESET tugmasi (EN deb belgilangan bo'lishi mumkin) va platani miltillovchi rejimga o'tkazish uchun BOOT tugmasi (kodni olish uchun mavjud) bilan birga keladi. E'tibor bering, ba'zi platalarda BOOT tugmasi bo'lmasligi mumkin.
Shuningdek, u GPIO 2 ga ichki ulangan o'rnatilgan ko'k LED bilan birga keladi. Bu LED nosozliklarni tuzatish uchun qandaydir vizual jismoniy chiqishni berish uchun foydalidir. Doskaga quvvat berganingizda yonib turadigan qizil LED ham mavjud.ESP32 pinout
ESP32 tashqi qurilmalariga quyidagilar kiradi:
- 18 ta analog-raqamli konvertor (ADC) kanallari
- 3 ta SPI interfeysi
- 3 ta UART interfeysi
- 2 I2C interfeysi
- 16 PWM chiqish kanali
- 2 ta raqamli-analog konvertorlar (DAC)
- 2 I2S interfeysi
- 10 ta sig'imli sensorli GPIO
ADC (analogdan raqamli o'zgartirgich) va DAC (raqamlidan analogga o'zgartirgich) xususiyatlari ma'lum statik pinlarga tayinlangan. Biroq, siz qaysi pinlar UART, I2C, SPI, PWM va boshqalar ekanligini tanlashingiz mumkin - ularni faqat kodda belgilashingiz kerak. Bu ESP32 chipining multiplekslash xususiyati tufayli mumkin.
Dasturiy ta'minotda pin xususiyatlarini belgilashingiz mumkin bo'lsa-da, quyidagi rasmda ko'rsatilganidek, sukut bo'yicha tayinlangan pinlar mavjud.Bundan tashqari, ma'lum bir loyihaga mos keladigan yoki mos kelmaydigan o'ziga xos xususiyatlarga ega pinlar mavjud. Quyidagi jadvalda qaysi pinlarni kirish, chiqish sifatida ishlatish yaxshiroq va qaysilaridan ehtiyot bo'lishingiz kerakligi ko'rsatilgan.
Yashil rang bilan belgilangan pinlardan foydalanish mumkin. Sariq rang bilan ta'kidlanganlardan foydalanish mumkin, lekin siz e'tibor berishingiz kerak, chunki ular asosan yuklashda kutilmagan xatti-harakatlarga ega bo'lishi mumkin. Qizil rang bilan belgilangan pinlarni kirish yoki chiqish sifatida ishlatish tavsiya etilmaydi.
GP IO | Kirish | Chiqish | Eslatmalar |
0 | yuqoriga tortdi | OK | yuklashda PWM signalini chiqaradi, miltillovchi rejimga kirish uchun LOW bo'lishi kerak |
1 | TX pin | OK | yuklashda disk raskadrovka chiqishi |
2 | OK | OK | bortdagi LEDga ulangan bo'lsa, miltillovchi rejimga kirish uchun suzuvchi yoki LOW bo'lishi kerak |
3 | OK | RX pin | Yuklashda YUQORI |
4 | OK | OK | |
5 | OK | OK | yuklashda PWM signalini, bog'lash pinini chiqaradi |
12 | OK | OK | yuklash pinini baland tortsa, muvaffaqiyatsiz bo'ladi |
13 | OK | OK | |
14 | OK | OK | yuklashda PWM signalini chiqaradi |
15 | OK | OK | yuklashda PWM signalini, bog'lash pinini chiqaradi |
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 | faqat kiritish | |
35 | OK | faqat kiritish | |
36 | OK | faqat kiritish | |
39 | OK | faqat kiritish |
ESP32 GPIO va uning funktsiyalarini batafsil va chuqur tahlil qilish uchun o'qishni davom eting.
Faqat pinlarni kiriting
34 dan 39 gacha bo'lgan GPIOlar GPI - faqat kirish pinlari. Ushbu pinlarda ichki tortuvchi yoki pastga tortuvchi rezistorlar mavjud emas. Ularni chiqish sifatida ishlatish mumkin emas, shuning uchun bu pinlarni faqat kirish sifatida foydalaning:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
ESP-WROOM-32-ga o'rnatilgan SPI chirog'i
GPIO 6 dan GPIO 11 gacha bo'lgan versiyalar ba'zi ESP32 ishlab chiqish platalarida mavjud. Biroq, bu pinlar ESP-WROOM-32 chipidagi o'rnatilgan SPI chirog'iga ulangan va boshqa foydalanish uchun tavsiya etilmaydi. Shunday qilib, loyihalaringizda ushbu pinlardan foydalanmang:
- GPIO 6 (SCK/CLK)
- GPIO 7 (SDO/SD0)
- GPIO 8 (SDI/SD1)
- GPIO 9 (SHD/SD2)
- GPIO 10 (SWP/SD3)
- GPIO 11 (CSC/CMD)
Kapasitiv sensorli GPIO'lar
ESP32 10 ta ichki sig'imli sensorli sensorga ega. Ular inson terisi kabi elektr zaryadiga ega bo'lgan har qanday narsadagi o'zgarishlarni sezishi mumkin. Shunday qilib, ular GPIO-larga barmoq bilan teginish paytida yuzaga keladigan o'zgarishlarni aniqlashlari mumkin. Ushbu pinlar osongina sig'imli prokladkalarga birlashtirilishi va mexanik tugmalarni almashtirishi mumkin. Kapasitiv sensorli pinlar ESP32 ni chuqur uyqudan uyg'otish uchun ham ishlatilishi mumkin. Ushbu ichki sensorli sensorlar ushbu GPIO-larga ulangan:
- 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)
Raqamli konvertorga analog (ADC)
ESP32 18 x 12 bitli ADC kirish kanaliga ega (ESP8266da esa faqat 1x 10 bitli ADC mavjud). Bular ADC va tegishli kanallar sifatida ishlatilishi mumkin bo'lgan GPIO'lar:
- 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)
Eslatma: Wi-Fi ishlatilayotganda ADC2 pinlaridan foydalanib bo'lmaydi. Shunday qilib, agar siz Wi-Fi dan foydalanayotgan bo'lsangiz va ADC2 GPIO dan qiymat olishda muammoga duch kelsangiz, uning o'rniga ADC1 GPIO dan foydalanishni ko'rib chiqishingiz mumkin. Bu sizning muammoingizni hal qilishi kerak.
ADC kirish kanallari 12 bitli ruxsatga ega. Bu shuni anglatadiki, siz 0 dan 4095 gacha bo'lgan analog ko'rsatkichlarni olishingiz mumkin, bunda 0 0 V ga va 4095 dan 3.3 V ga to'g'ri keladi. Bundan tashqari, kod va ADC diapazonida kanallaringizning o'lchamlarini o'rnatishingiz mumkin.
ESP32 ADC pinlari chiziqli harakatga ega emas. Ehtimol, siz 0 va 0.1 V yoki 3.2 va 3.3 V o'rtasidagi farqni ajrata olmaysiz. ADC pinlarini ishlatganda buni yodda tutishingiz kerak. Quyidagi rasmda ko'rsatilganiga o'xshash xatti-harakatga ega bo'lasiz.Raqamli-analog konvertor (DAC)
Raqamli signallarni analog tovushga aylantirish uchun ESP2 da 8 x 32 bitli DAC kanallari mavjudtage signal chiqishlari. Bular DAC kanallari:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
RTC GPIO
ESP32 da RTC GPIO qo'llab-quvvatlashi mavjud. RTC kam quvvatli quyi tizimiga yo'naltirilgan GPIO'lar ESP32 chuqur uyqu holatida bo'lganda foydalanish mumkin. Ushbu RTC GPIO'lari Ultra Low bo'lganda ESP32 ni chuqur uyqudan uyg'otish uchun ishlatilishi mumkin
Quvvat (ULP) protsessori ishlamoqda. Quyidagi GPIO'lardan tashqi uyg'onish manbai sifatida foydalanish mumkin.
- 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 kontrolleri turli xil xususiyatlarga ega PWM signallarini ishlab chiqarish uchun sozlanishi mumkin bo'lgan 16 ta mustaqil kanalga ega. Chiqish vazifasini bajaradigan barcha pinlar PWM pinlari sifatida ishlatilishi mumkin (GPIO 34 dan 39 gacha PWM hosil qila olmaydi).
PWM signalini o'rnatish uchun siz ushbu parametrlarni kodda belgilashingiz kerak:
- Signal chastotasi;
- Ish aylanishi;
- PWM kanali;
- Signalni chiqarmoqchi bo'lgan GPIO.
I2C
ESP32 ikkita I2C kanaliga ega va har qanday pin SDA yoki SCL sifatida o'rnatilishi mumkin. ESP32-ni Arduino IDE bilan ishlatganda, standart I2C pinlari:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Agar siz simli kutubxonadan foydalanganda boshqa pinlardan foydalanmoqchi bo'lsangiz, shunchaki qo'ng'iroq qilishingiz kerak:
Wire.begin(SDA, SCL);
SPI
Odatiy bo'lib, SPI uchun pin xaritasi:
SPI | MOSI | MISO | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Uzilishlar
Barcha GPIO'lar uzilishlar sifatida sozlanishi mumkin.
Bog'lash pinlari
ESP32 chipida quyidagi bog'lash pinlari mavjud:
- GPIO 0 (yuklash rejimiga kirish uchun LOW bo'lishi kerak)
- GPIO 2 (yuklash paytida suzuvchi yoki LOW bo'lishi kerak)
- GPIO 4
- GPIO 5 (yuklash paytida YUKOR bo'lishi kerak)
- GPIO 12 (yuklash paytida past bo'lishi kerak)
- GPIO 15 (yuklash paytida YUKOR bo'lishi kerak)
Ular ESP32 ni yuklash yoki miltillovchi rejimga o'tkazish uchun ishlatiladi. O'rnatilgan USB/Serialli ko'pgina ishlab chiqish platalarida bu pinlarning holati haqida tashvishlanishingiz shart emas. Kengash miltillovchi yoki yuklash rejimi uchun pinlarni to'g'ri holatga qo'yadi. ESP32 yuklash rejimini tanlash haqida ko'proq ma'lumotni bu yerda topishingiz mumkin.
Biroq, agar sizda ushbu pinlarga ulangan tashqi qurilmalar bo'lsa, sizda yangi kodni yuklash, ESP32-ni yangi proshivka bilan o'chirish yoki platani qayta o'rnatishda muammo bo'lishi mumkin. Agar sizda bog'lash pinlariga ulangan ba'zi tashqi qurilmalar bo'lsa va kodni yuklash yoki ESP32-ni miltillashda muammoga duch kelsangiz, bu tashqi qurilmalar ESP32-ning to'g'ri rejimga kirishiga to'sqinlik qilayotgan bo'lishi mumkin. Sizni to'g'ri yo'nalishga yo'naltirish uchun yuklash rejimini tanlash hujjatlarini o'qing. Qayta tiklash, miltillash yoki yuklashdan so'ng, bu pinlar kutilganidek ishlaydi.
Yuklashda YUQORI pinlar
Ba'zi GPIO'lar yuklash yoki qayta o'rnatish vaqtida o'z holatini YUKORiga o'zgartiradi yoki PWM signallarini chiqaradi.
Bu shuni anglatadiki, agar sizda ushbu GPIO-larga ulangan chiqishlaringiz bo'lsa, ESP32 qayta o'rnatilganda yoki yuklanganda kutilmagan natijalarga erishishingiz mumkin.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 dan GPIO 11 gacha (ESP32 o'rnatilgan SPI flesh xotirasiga ulangan - foydalanish tavsiya etilmaydi).
- GPIO 14
- GPIO 15
Yoqish (EN)
Enable (EN) 3.3V regulyatorning yoqish pinidir. U yuqoriga tortilgan, shuning uchun 3.3V regulyatorni o'chirish uchun erga ulang. Bu shuni anglatadiki, siz ESP32-ni qayta ishga tushirish uchun tugmachaga ulangan ushbu pindan foydalanishingiz mumkin, masalanample.
GPIO oqimi chizilgan
GPIO uchun olinadigan mutlaq maksimal oqim ESP40 ma'lumotlar jadvalidagi "Tavsiya etilgan ish sharoitlari" bo'limiga muvofiq 32 mA ni tashkil qiladi.
ESP32 o'rnatilgan zal effekti sensori
ESP32 shuningdek, atrofdagi magnit maydondagi o'zgarishlarni aniqlaydigan o'rnatilgan zal effekti sensoriga ega.
ESP32 Arduino IDE
Arduino IDE uchun ESP32 ni Arduino IDE va uning dasturlash tilidan foydalangan holda dasturlash imkonini beruvchi qo‘shimcha mavjud. Ushbu qo'llanmada siz Windows, Mac OS X yoki Linux-dan foydalanayotgan bo'lsangiz, Arduino IDE-da ESP32 platasini qanday o'rnatishni ko'rsatamiz.
Talablar: Arduino IDE o'rnatilgan
Ushbu o'rnatish jarayonini boshlashdan oldin, kompyuteringizda Arduino IDE o'rnatilgan bo'lishi kerak. Arduino IDE-ning ikkita versiyasini o'rnatishingiz mumkin: 1-versiya va 2-versiya.
Quyidagi havolani bosish orqali Arduino IDE-ni yuklab olishingiz va o'rnatishingiz mumkin: arduino.cc/en/Main/Software
Qaysi Arduino IDE versiyasini tavsiya qilamiz? Ayni paytda, ba'zilari bor plugins ESP32 uchun (masalan, SPIFFS FileSystem Uploader Plugin) Arduino 2 da hali qo'llab-quvvatlanmaydi. Shunday qilib, agar siz kelajakda SPIFFS plaginidan foydalanmoqchi bo'lsangiz, 1.8.X eski versiyasini o'rnatishni tavsiya qilamiz. Uni topish uchun Arduino dasturiy ta'minot sahifasini pastga aylantirish kifoya.
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
ESP32 platasini Arduino IDE-ga o'rnatish uchun quyidagi ko'rsatmalarga amal qiling:
- Arduino IDE-da quyidagi manzilga o'ting File> Afzalliklar
- “Qo‘shimcha kengash menejeri”ga quyidagilarni kiriting URLs" maydoni:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Keyin "OK" tugmasini bosing:Eslatma: Agar sizda allaqachon ESP8266 platalari bo'lsa URLni ajratishingiz mumkin URLs vergul bilan quyidagicha:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Kengashlar menejerini oching. Asboblar > Kengash > Kengashlar menejeriga o‘ting…Ni qidirish ESP32 and press install button for the “ESP32 by Espressif Systems“:
Bo'ldi shu. U bir necha soniyadan so'ng o'rnatilishi kerak.
Sinov kodini yuklab oling
ESP32 platasini kompyuteringizga ulang. Arduino IDE ochiq holda quyidagi amallarni bajaring:
- Asboblar > Kengash menyusida taxtangizni tanlang (mening holimda bu ESP32 DEV moduli)
- Portni tanlang (agar siz Arduino IDE-da MAQOMOTI portini ko'rmasangiz, CP210x USB to UART Bridge VCP drayverlarini o'rnatishingiz kerak):
- Quyidagi sobiqni ochingample ostida File > Masalanamples > WiFi
(ESP32) > WiFiScan - Arduino IDE-da yangi eskiz ochiladi:
- Arduino IDE-da Yuklash tugmasini bosing. Kod kompilyatsiya qilinguncha va taxtangizga yuklanguncha bir necha soniya kuting.
- Agar hamma narsa kutilganidek bo'lsa, "Yuklash tugadi" degan yozuvni ko'rishingiz kerak. xabar.
- Arduino IDE seriyali monitorini 115200 uzatish tezligida oching:
- ESP32 on-board Enable tugmasini bosing va ESP32 yaqinida mavjud tarmoqlarni ko'rishingiz kerak:
Muammolarni bartaraf qilish; nosozliklarni TUZATISH
Agar siz ESP32-ga yangi eskizni yuklamoqchi bo'lsangiz va siz ushbu xato xabarini olsangiz, "Muhim xatolik yuz berdi: ESP32 ga ulanib bo'lmadi: Vaqt tugadi... Ulanmoqda...". Bu sizning ESP32 miltillovchi/yuklash rejimida emasligini anglatadi.
To'g'ri plata nomi va COM portini tanlagandan so'ng, quyidagi amallarni bajaring:
ESP32 platangizdagi “BOOT” tugmasini bosib turing
- Eskizingizni yuklash uchun Arduino IDE-dagi “Yuklash” tugmasini bosing:
- "Ulanish..." ni ko'rganingizdan so'ng. Arduino IDE-dagi xabarni "BOOT" tugmasidan qo'yib yuboring:
- Shundan so'ng siz "Yuklash tugallandi" xabarini ko'rishingiz kerak
Bo'ldi shu. Sizning ESP32-da yangi eskiz ishlayotgan bo'lishi kerak. ESP32 ni qayta ishga tushirish va yangi yuklangan eskizni ishga tushirish uchun “ENABLE” tugmasini bosing.
Shuningdek, har safar yangi eskiz yuklamoqchi bo‘lganingizda ushbu tugmalar ketma-ketligini takrorlashingiz kerak bo‘ladi.
Loyiha 1 ESP32 kirishlari chiqishlari
Ushbu boshlang'ich qo'llanmada siz Arduino IDE bilan ESP32 yordamida tugmachali kalit kabi raqamli kirishlarni o'qish va LED kabi raqamli chiqishlarni boshqarishni o'rganasiz.
Old shartlar
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz. Shunday qilib, davom etishdan oldin sizda ESP32 platalari qo'shimchasi o'rnatilganligiga ishonch hosil qiling:
- Arduino IDE-da ESP32 qo'shimchasini o'rnatish
ESP32 Raqamli chiqishlarni boshqarish
Birinchidan, siz nazorat qilmoqchi bo'lgan GPIO-ni OUTPUT sifatida sozlashingiz kerak. PinMode() funksiyasidan quyidagi tarzda foydalaning:
pinMode (GPIO, OUTPUT);
Raqamli chiqishni boshqarish uchun siz argument sifatida qabul qiluvchi digitalWrite() funksiyasidan foydalanishingiz kerak, siz nazarda tutayotgan GPIO (int raqami) va holat, yo YUQORI yoki LOW.
digitalWrite (GPIO, STATE);
6 dan 11 gacha bo'lgan GPIO (o'rnatilgan SPI chirog'iga ulangan) va GPIO 34, 35, 36 va 39 (faqat GPIO'larni kiritish) tashqari barcha GPIO'lar chiqish sifatida ishlatilishi mumkin;
ESP32 GPIO'lar haqida ko'proq bilib oling: ESP32 GPIO Yo'naltiruvchi qo'llanma
ESP32 Raqamli kirishlarni o'qish
Birinchidan, pinMode() funktsiyasidan foydalanib, o'qimoqchi bo'lgan GPIO-ni quyidagi tarzda INPUT sifatida o'rnating:
pinMode (GPIO, INPUT);
Raqamli kirishni o'qish uchun, masalan, tugma kabi, siz argument sifatida qabul qiluvchi digitalRead() funksiyasidan foydalanasiz, ya'ni siz nazarda tutayotgan GPIO (int raqami).
raqamli o'qish (GPIO);
Barcha ESP32 GPIO'lar kirish sifatida ishlatilishi mumkin, GPIO 6 dan 11 gacha (o'rnatilgan SPI chirog'iga ulangan) tashqari.
ESP32 GPIO'lar haqida ko'proq bilib oling: ESP32 GPIO Yo'naltiruvchi qo'llanma
Loyiha Example
Raqamli kirish va raqamli chiqishlardan qanday foydalanishni ko'rsatish uchun biz oddiy loyihani quramizamptugma va LED bilan. Quyidagi rasmda ko'rsatilganidek, tugmachaning holatini o'qiymiz va shunga mos ravishda LEDni yoqamiz.
Majburiy qismlar
Sxemani qurish uchun sizga kerak bo'lgan qismlar ro'yxati:
- ESP32 DEVKIT V1
- 5 mm LED
- 220 Ohm qarshilik
- Bosish tugmasi
- 10k Ohm qarshilik
- Non taxtasi
- O'tkazgich simlari
Sxematik diagramma
Davom etishdan oldin siz LED va tugmachali sxemani yig'ishingiz kerak.
Biz LEDni GPIO 5 ga va tugmani GPIO ga ulaymiz 4.Kod
Arduino IDE da Project_1_ESP32_Inputs_Outputs.ino kodini ochingKod qanday ishlaydi
Quyidagi ikkita qatorda siz pinlarni belgilash uchun o'zgaruvchilar yaratasiz:
Tugma GPIO 4 ga ulangan va LED GPIO 5 ga ulangan. Arduino IDE dan ESP32 bilan foydalanilganda 4 GPIO 4 ga va 5 GPIO 5 ga mos keladi.
Keyinchalik, tugma holatini ushlab turish uchun o'zgaruvchi yaratasiz. Odatiy bo'lib, u 0 (bosilmagan).
int tugmasiState = 0;
Setup() da siz tugmani INPUT sifatida, LEDni esa OUTPUT sifatida ishga tushirasiz.
Buning uchun siz nazarda tutayotgan pinni qabul qiluvchi pinMode() funksiyasidan va rejimdan foydalanasiz: INPUT yoki OUTPUT.
pinMode(tugma PIN, INPUT);
pinMode (ledPin, OUTPUT);
Loop() da siz tugma holatini o'qiysiz va LEDni mos ravishda o'rnatasiz.
Keyingi qatorda siz tugma holatini o'qiysiz va uni buttonState o'zgaruvchisida saqlaysiz.
Yuqorida aytib o'tganimizdek, siz digitalRead() funksiyasidan foydalanasiz.
buttonState = digitalRead(buttonPin);
Quyidagi if iborasi tugma holati YUQORI ekanligini tekshiradi. Agar shunday bo'lsa, u ledPin va YUQORI holatini argument sifatida qabul qiluvchi digitalWrite() funksiyasi yordamida LEDni yoqadi.
agar (buttonState == YUKOR)Agar tugma holati YUQOR bo'lmasa, siz LEDni o'chirasiz. DigitalWrite() funksiyasida ikkinchi argument sifatida LOW ni o'rnating.
Kod yuklanmoqda
Yuklash tugmasini bosishdan oldin Asboblar > Kengashga o‘ting va taxtani tanlang: DOIT ESP32 DEVKIT V1.
Asboblar > Port-ga o'ting va ESP32 ulangan MAQOMOTI portini tanlang. Keyin yuklash tugmasini bosing va "Yuklash tugadi" xabarini kuting.Eslatma: Agar disk raskadrovka oynasida juda ko‘p nuqta (ulanish…__…__) va “ESP32 ga ulanib bo‘lmadi: paket sarlavhasini kutish vaqti tugadi” xabarini ko‘rsangiz, bu ESP32 bortdagi BOOT tugmasini bosishingiz kerakligini anglatadi. nuqtadan keyin tugmani bosing
paydo bo'la boshlaydi.Muammolarni bartaraf etish
Namoyish
Kodni yuklaganingizdan so'ng, sxemani sinab ko'ring. Tugmani bosganingizda LED yonishi kerak:Va uni qo'yib yuborganingizda o'chiring:
Loyiha 2 ESP32 analog kirishlari
Ushbu loyiha Arduino IDE yordamida ESP32 bilan analog kirishlarni qanday o'qishni ko'rsatadi.
Analog o'qish potansiyometrlar yoki analog sensorlar kabi o'zgaruvchan rezistorlardan qiymatlarni o'qish uchun foydalidir.
Analog kirishlar (ADC)
ESP32 bilan analog qiymatni o'qish siz turli xil hajmni o'lchashingiz mumkinligini anglataditage darajalari 0 V dan 3.3 V gacha.
JildtagKeyin e o'lchangan 0 dan 4095 gacha bo'lgan qiymatga tayinlanadi, bunda 0 V 0 ga, 3.3 V esa 4095 ga to'g'ri keladi.tage 0 V va 3.3 V oralig'ida tegishli qiymat beriladi.ADC chiziqli emas
Ideal holda, siz ESP32 ADC pinlaridan foydalanganda chiziqli harakatni kutishingiz mumkin.
Biroq, bu sodir bo'lmaydi. Quyidagi diagrammada ko'rsatilganidek, siz nimaga erishasiz:Bu sizning ESP32 3.3 V ni 3.2 V dan ajrata olmasligini anglatadi.
Ikkala jild uchun bir xil qiymatga ega bo'lasiztages: 4095.
Xuddi shu narsa juda past hajm uchun sodir bo'laditage qiymatlari: 0 V va 0.1 V uchun siz bir xil qiymatga ega bo'lasiz: 0. ESP32 ADC pinlaridan foydalanganda buni yodda tutishingiz kerak.
analogRead() funktsiyasi
Arduino IDE yordamida ESP32 bilan analog kirishni o'qish analogRead() funksiyasidan foydalanish kabi oddiy. Siz o'qimoqchi bo'lgan GPIO ni argument sifatida qabul qiladi:
analogRead (GPIO);
DEVKIT V15boardda faqat 1 tasi mavjud (30 GPIOli versiya).
ESP32 platasining pinoutini oling va ADC pinlarini toping. Ular quyidagi rasmda qizil chegara bilan ta'kidlangan.Ushbu analog kirish pinlari 12 bitli ruxsatga ega. Bu shuni anglatadiki, siz analog kirishni o'qiyotganingizda, uning diapazoni 0 dan 4095 gacha o'zgarishi mumkin.
Eslatma: Wi-Fi ishlatilayotganda ADC2 pinlaridan foydalanib bo'lmaydi. Shunday qilib, agar siz Wi-Fi-dan foydalansangiz va ADC2 GPIO-dan qiymat olishda muammoga duch kelsangiz, uning o'rniga ADC1 GPIO-dan foydalanishni ko'rib chiqishingiz mumkin, bu sizning muammoingizni hal qilishi kerak.
Hammasi bir-biriga qanday bog'langanligini ko'rish uchun biz oddiy sobiqni qilamizample potentsiometrdan analog qiymatni o'qish uchun.
Majburiy qismlar
Buning uchun sobiqample, sizga quyidagi qismlar kerak bo'ladi:
- ESP32 DEVKIT V1 platasi
- Potansiyometre
- Non taxtasi
- O'tkazgich simlari
Sxematik
Potansiyometrni ESP32 ga ulang. Potansiyometrning o'rta pinini GPIO 4 ga ulash lozim. Malumot sifatida quyidagi sxematik diagrammadan foydalanishingiz mumkin.Kod
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar siz bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Arduino IDE da Project_2_ESP32_Inputs_Outputs.ino kodini ochingUshbu kod oddiygina potansiyometrdagi qiymatlarni o'qiydi va bu qiymatlarni ketma-ket monitorda chop etadi.
Kodda siz potansiyometr ulangan GPIO ni aniqlashdan boshlaysiz. Bu sobiqample, GPIO 4.Setup() da 115200 uzatish tezligida ketma-ket aloqani ishga tushiring.
Loop() da potPin-dan analog kiritishni o'qish uchun analogRead() funksiyasidan foydalaning.
Nihoyat, ketma-ket monitordagi potansiyometrdan o'qilgan qiymatlarni chop eting.
Taqdim etilgan kodni ESP32 ga yuklang. Asboblar menyusida to'g'ri plata va MAQOMOTI porti tanlanganiga ishonch hosil qiling.
Ex testample
Kodni yuklagandan va ESP32 reset tugmasini bosgandan so'ng, 115200 uzatish tezligida Serial Monitorni oching. Potansiyometrni aylantiring va qiymatlarning o'zgarishini ko'ring.Siz oladigan maksimal qiymat 4095, minimal qiymat esa 0.
Oʻrash
Ushbu maqolada siz Arduino IDE bilan ESP32 yordamida analog kirishlarni qanday o'qishni o'rgandingiz. Qisqa bayoni; yakunida:
- ESP32 DEVKIT V1 DOIT platasi (30 pinli versiya) analog kirishlarni o'qish uchun foydalanishingiz mumkin bo'lgan 15 ta ADC piniga ega.
- Ushbu pinlar 12 bit ruxsatga ega, ya'ni siz 0 dan 4095 gacha qiymatlarni olishingiz mumkin.
- Arduino IDE-da qiymatni o'qish uchun siz analogRead() funktsiyasidan foydalanishingiz mumkin.
- ESP32 ADC pinlari chiziqli harakatga ega emas. Ehtimol, siz 0 va 0.1 V yoki 3.2 va 3.3 V o'rtasidagi farqni ajrata olmaysiz. ADC pinlarini ishlatganda buni yodda tutishingiz kerak.
Loyiha 3 ESP32 PWM (Analog chiqish)
Ushbu qo'llanmada biz sizga Arduino IDE yordamida ESP32 yordamida PWM signallarini qanday yaratishni ko'rsatamiz. Sobiq sifatidaampBiz ESP32 ning LED PWM kontrolleri yordamida LEDni xiralashtiradigan oddiy sxemani quramiz.ESP32 LED PWM boshqaruvchisi
ESP32 turli xil xususiyatlarga ega PWM signallarini ishlab chiqarish uchun sozlanishi mumkin bo'lgan 16 ta mustaqil kanalga ega LED PWM kontrolleriga ega.
Arduino IDE yordamida LEDni PWM bilan xiralashtirish uchun quyidagi amallarni bajarishingiz kerak:
- Birinchidan, siz PWM kanalini tanlashingiz kerak. 16 dan 0 gacha bo'lgan 15 ta kanal mavjud.
- Keyin, PWM signal chastotasini o'rnatishingiz kerak. LED uchun 5000 Gts chastotadan foydalanish yaxshidir.
- Shuningdek, siz signalning ish siklining o'lchamlarini o'rnatishingiz kerak: sizda 1 dan 16 bitgacha ruxsat bor. Biz 8 bitli ruxsatdan foydalanamiz, ya'ni siz LED yorqinligini 0 dan 255 gacha bo'lgan qiymatdan foydalanib boshqarishingiz mumkin.
- Keyinchalik, signal qaysi GPIO yoki GPIO-larda paydo bo'lishini belgilashingiz kerak. Buning uchun siz quyidagi funksiyadan foydalanasiz:
ledcAttachPin(GPIO, kanal)
Bu funksiya ikkita argumentni qabul qiladi. Birinchisi, signalni chiqaradigan GPIO, ikkinchisi esa signalni ishlab chiqaradigan kanaldir. - Va nihoyat, PWM yordamida LED yorqinligini boshqarish uchun siz quyidagi funktsiyadan foydalanasiz:
ledcWrite (kanal, vazifa sikli)
Ushbu funktsiya PWM signalini ishlab chiqaruvchi kanalni va ish aylanishini argument sifatida qabul qiladi.
Majburiy qismlar
Ushbu qo'llanmani bajarish uchun sizga quyidagi qismlar kerak bo'ladi:
- ESP32 DEVKIT V1 platasi
- 5 mm LED
- 220 Ohm qarshilik
- Non taxtasi
- O'tkazgich simlari
Sxematik
Quyidagi sxematik diagrammadagi kabi LEDni ESP32 ga ulang. LED GPIO ga ulangan bo'lishi kerak 4.Eslatma: siz xohlagan pinni ishlatishingiz mumkin, chunki u chiqish vazifasini bajara oladi. Chiqish vazifasini bajaradigan barcha pinlar PWM pinlari sifatida ishlatilishi mumkin. ESP32 GPIO'lar haqida ko'proq ma'lumot olish uchun o'qing: ESP32 Pinout Ma'lumotnomasi: Qaysi GPIO pinlaridan foydalanish kerak?
Kod
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar siz bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Arduino IDE da Project_3_ESP32_PWM.ino kodini ochingSiz LED ulangan pinni belgilashdan boshlaysiz. Bunday holda, LED GPIO 4 ga ulanadi.
Keyin, siz PWM signal xususiyatlarini o'rnatasiz. Siz 5000 Gts chastotani aniqlaysiz, signalni yaratish uchun 0-kanalni tanlaysiz va 8 bitli ruxsatni o'rnatasiz. Turli PWM signallarini yaratish uchun siz ulardan farq qiladigan boshqa xususiyatlarni tanlashingiz mumkin.
Setup() da siz LED PWM ni argumentlar, ledChannel, chastota va ruxsat sifatida qabul qiluvchi ledcSetup() funksiyasidan foydalanib avval aniqlagan xususiyatlar bilan quyidagicha sozlashingiz kerak:
Keyinchalik, siz signalni oladigan GPIO ni tanlashingiz kerak. Buning uchun signalni olmoqchi bo'lgan GPIO va signalni ishlab chiqaruvchi kanalni argument sifatida qabul qiladigan ledcAttachPin() funksiyasidan foydalaning. Bu sobiqample, biz GPIO 4 ga mos keladigan ledPin GPIO signalini olamiz. Signalni ishlab chiqaruvchi kanal 0 kanaliga mos keladigan ledChannel hisoblanadi.
Loopda siz LED yorqinligini oshirish uchun ish aylanishini 0 dan 255 gacha o'zgartirasiz.
Va keyin, yorqinlikni kamaytirish uchun 255 va 0 oralig'ida.
LEDning yorqinligini o'rnatish uchun siz signalni ishlab chiqaruvchi kanalni va ish aylanishini argument sifatida qabul qiladigan ledcWrite() funktsiyasidan foydalanishingiz kerak.
Biz 8 bitli ruxsatdan foydalanayotganimiz sababli, ish sikli 0 dan 255 gacha bo'lgan qiymat yordamida boshqariladi. E'tibor bering, ledcWrite() funksiyasida biz GPIO emas, balki signalni ishlab chiqaruvchi kanaldan foydalanamiz.
Ex testample
Kodni ESP32 ga yuklang. To'g'ri plata va MAQOMOTI porti tanlanganligiga ishonch hosil qiling. O'zingizning davringizga qarang. Yorqinlikni oshiradigan va kamaytiradigan dimmer LEDga ega bo'lishingiz kerak.
Loyiha 4 ESP32 PIR harakat sensori
Ushbu loyiha PIR harakat sensori yordamida ESP32 yordamida harakatni qanday aniqlashni ko‘rsatadi. Harakat aniqlanganda signal signalini beradi va oldindan belgilangan vaqt davomida (masalan, 4 soniya) hech qanday harakat aniqlanmasa signalni to‘xtatadi.
HC-SR501 harakat sensori qanday ishlaydi
.HC-SR501 sensorining ishlash printsipi harakatlanuvchi ob'ektdagi infraqizil nurlanishning o'zgarishiga asoslangan. HC-SR501 sensori tomonidan aniqlanishi uchun ob'ekt ikkita talabga javob berishi kerak:
- Ob'ekt infraqizil yo'l bilan chiqaradi.
- Ob'ekt harakatlanmoqda yoki titrayapti
Shunday qilib:
Agar ob'ekt infraqizil nurlarini chiqarsa, lekin harakatlanmasa (masalan, odam harakatsiz tursa), u sensor tomonidan aniqlanmaydi.
Agar ob'ekt harakatlansa, lekin infraqizil nurlar chiqarmasa (masalan, robot yoki transport vositasi), u sensor tomonidan aniqlanmaydi.
Taymerlar bilan tanishtirish
Bu example biz taymerlarni ham tanishtiramiz. Harakat aniqlangandan so'ng biz LEDning oldindan belgilangan soniya davomida yonib turishini xohlaymiz. Kodingizni bloklaydigan va ma'lum soniyalar davomida boshqa hech narsa qilishingizga imkon bermaydigan delay() funksiyasidan foydalanish o'rniga biz taymerdan foydalanishimiz kerak.Delay() funktsiyasi
Delay() funksiyasi bilan tanish bo'lishingiz kerak, chunki u keng qo'llaniladi. Ushbu funktsiyadan foydalanish juda oddiy. Argument sifatida bitta int raqamini qabul qiladi.
Bu raqam dastur kodning keyingi qatoriga o'tguncha kutishi kerak bo'lgan vaqtni millisekundlarda ifodalaydi.Kechiktirsangiz (1000) dasturingiz shu satrda 1 soniya to'xtaydi.
delay() blokirovka qiluvchi funktsiyadir. Bloklash funktsiyalari dasturni ushbu vazifa tugaguniga qadar boshqa hech narsa qilishiga yo'l qo'ymaydi. Agar bir vaqtning o'zida bir nechta vazifalarni bajarish kerak bo'lsa, siz delay() dan foydalana olmaysiz.
Ko'pgina loyihalar uchun siz kechikishlardan qochishingiz va o'rniga taymerlardan foydalanishingiz kerak.
millis() funktsiyasi
Millis() funksiyasidan foydalanib, dastur birinchi boshlanganidan beri o'tgan millisekundlar sonini qaytarishingiz mumkin.Nima uchun bu funksiya foydali? Chunki ba'zi matematikadan foydalanib, kodingizni bloklamasdan qancha vaqt o'tganini osongina tekshirishingiz mumkin.
Majburiy qismlar
Ushbu qo'llanmani bajarish uchun sizga quyidagi qismlar kerak bo'ladi
- ESP32 DEVKIT V1 platasi
- PIR harakat sensori (HC-SR501)
- Faol buzzer
- O'tkazgich simlari
- Non taxtasi
SxematikEslatma: Ishchi jildtagHC-SR501 ning e - 5V. Uni quvvatlantirish uchun Vin pinidan foydalaning.
Kod
Ushbu qo'llanmani davom ettirishdan oldin Arduino IDE-da ESP32 plaginini o'rnatishingiz kerak. ESP32-ni Arduino IDE-ga o'rnatish uchun quyidagi qo'llanmalardan birini bajaring, agar siz hali o'rnatmagan bo'lsangiz. (Agar siz bu bosqichni allaqachon bajargan bo'lsangiz, keyingi bosqichga o'tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Arduino IDE da Project_4_ESP32_PIR_Motion_Sensor.ino kodini oching.
Namoyish
Kodni ESP32 platangizga yuklang. To'g'ri plata va MAQOMOTI porti tanlanganligiga ishonch hosil qiling. Kodni yuklash uchun mos yozuvlar qadamlari.
Serial monitorni 115200 uzatish tezligida oching.Qo'lingizni PIR sensori oldida harakatlantiring. Buzzer yoqilishi kerak va “Harakat aniqlandi! Buzzer signali” degan xabar ketma-ket monitorda chop etiladi.
4 soniyadan so'ng signal o'chirilishi kerak.
Loyiha 5 ESP32 kaliti Web Server
Ushbu loyihada siz mustaqil dastur yaratasiz web Arduino IDE dasturlash muhitidan foydalangan holda chiqishlarni (ikkita LED) boshqaradigan ESP32-ga ega server. The web server mobil javob beradi va mahalliy tarmoqdagi brauzer sifatidagi istalgan qurilmadan foydalanish mumkin. Biz sizga qanday yaratishni ko'rsatamiz web server va kodning bosqichma-bosqich ishlashi.
Loyiha tugadiview
To'g'ridan-to'g'ri loyihaga borishdan oldin, biz nimani anglatishini aniqlab olishimiz kerak web server buni amalga oshiradi, shunda keyinroq amallarni bajarish osonroq bo'ladi.
- The web siz yaratadigan server ESP32 GPIO 26 va GPIO 27 ga ulangan ikkita LEDni boshqaradi;
- ESP32 ga kirishingiz mumkin web mahalliy tarmoqdagi brauzerda ESP32 IP manzilini kiritish orqali server;
- O'zingizdagi tugmalarni bosish orqali web serverda siz har bir LED holatini bir zumda o'zgartirishingiz mumkin.
Majburiy qismlar
Ushbu qo'llanma uchun sizga quyidagi qismlar kerak bo'ladi:
- ESP32 DEVKIT V1 platasi
- 2x 5 mm LED
- 2x 200 Ohm qarshilik
- Non taxtasi
- O'tkazgich simlari
Sxematik
Sxemani qurish bilan boshlang. Quyidagi sxematik diagrammada ko'rsatilganidek, ikkita LEDni ESP32 ga ulang - bitta LED GPIO 26 ga, ikkinchisi esa GPIO 27 ga ulangan.
Eslatma: Biz 32 pinli ESP36 DEVKIT DOIT platasidan foydalanmoqdamiz. O'chirishni yig'ishdan oldin, foydalanayotgan plataning pinoutini tekshirganingizga ishonch hosil qiling.Kod
Bu erda biz ESP32 ni yaratadigan kodni taqdim etamiz web server. Project_5_ESP32_Switch _ kodini ochingWeb_Server.ino arduino IDE da, lekin uni hali yuklamang. Siz uchun ishlashi uchun ba'zi o'zgarishlar qilishingiz kerak.
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar siz bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Tarmoq hisob ma'lumotlarini sozlash
Tarmoq hisob ma'lumotlaringiz bilan quyidagi qatorlarni o'zgartirishingiz kerak: SSID va parol. Kod o'zgartirishlar kiritishingiz kerak bo'lgan joy haqida yaxshi izohlangan.Kod yuklanmoqda
Endi siz kodni yuklashingiz mumkin va web server darhol ishlaydi.
Kodni ESP32 ga yuklash uchun quyidagi amallarni bajaring:
- ESP32 platangizni kompyuteringizga ulang;
- Arduino IDE da Asboblar > Kengash bo‘limida taxtangizni tanlang (bizning holatda biz ESP32 DEVKIT DOIT platasidan foydalanamiz);
- Asboblar > Port-da MAQOMOTI portini tanlang.
- Arduino IDE-dagi Yuklash tugmasini bosing va kod kompilyatsiya qilinmaguncha va taxtangizga yuklanguncha bir necha soniya kuting.
- "Yuklash tugadi" xabarini kuting.
ESP IP manzilini topish
Kodni yuklaganingizdan so'ng, Serial Monitorni 115200 uzatish tezligida oching.ESP32 EN tugmasini bosing (qayta tiklash). ESP32 Wi-Fi tarmog'iga ulanadi va ESP IP manzilini ketma-ket monitorda chiqaradi. Ushbu IP-manzildan nusxa oling, chunki u sizga ESP32-ga kirish uchun kerak web server.
ga kirish Web Server
Kirish uchun web serverga o'ting, brauzeringizni oching, ESP32 IP manzilini joylashtiring va siz quyidagi sahifani ko'rasiz.
Eslatma: Brauzeringiz va ESP32 bir xil LANga ulangan bo'lishi kerak.Agar siz ketma-ket monitorga qarasangiz, fonda nima sodir bo'layotganini ko'rishingiz mumkin. ESP yangi mijozdan HTTP so'rovini oladi (bu holda brauzeringiz).
HTTP so'rovi haqidagi boshqa ma'lumotlarni ham ko'rishingiz mumkin.
Namoyish
Endi siz o'zingizni sinab ko'rishingiz mumkin web server to'g'ri ishlayapti. LEDlarni boshqarish uchun tugmalarni bosing.Shu bilan birga, siz fonda nima sodir bo'layotganini ko'rish uchun Serial Monitorga qarashingiz mumkin. Misol uchunample, GPIO 26-ni yoqish uchun tugmani bosganingizda, ESP32 /26/on-da so'rov oladi. URL.
ESP32 ushbu so'rovni qabul qilganda, GPIO 26 ga biriktirilgan LEDni yoqadi va uning holatini yangilaydi. web sahifa.
GPIO 27 tugmasi xuddi shunday ishlaydi. Uning to'g'ri ishlashini tekshiring.
Kod qanday ishlaydi
Ushbu bo'limda uning qanday ishlashini ko'rish uchun kodni batafsil ko'rib chiqamiz.
Siz qilishingiz kerak bo'lgan birinchi narsa - Wi-Fi kutubxonasini kiritish.Yuqorida aytib o'tilganidek, qo'sh tirnoq ichidagi quyidagi qatorlarga ssid va parolingizni kiritishingiz kerak.
Keyin, siz o'zingizni belgilaysiz web serverdan 80-portga.
Quyidagi qator HTTP so'rovining sarlavhasini saqlash uchun o'zgaruvchini yaratadi:
Keyinchalik, natijalaringizning joriy holatini saqlash uchun yordamchi o'zgaruvchilar yaratasiz. Agar siz ko'proq natijalar qo'shish va uning holatini saqlashni istasangiz, ko'proq o'zgaruvchilar yaratishingiz kerak.
Bundan tashqari, har bir chiqishingizga GPIO belgilashingiz kerak. Bu erda biz GPIO 26 va GPIO 27 dan foydalanmoqdamiz. Siz har qanday boshqa mos GPIO'lardan foydalanishingiz mumkin.
sozlash; o'rnatish()
Endi o'rnatish() ga o'tamiz. Birinchidan, disk raskadrovka maqsadida 115200 uzatish tezligida ketma-ket aloqani boshlaymiz.Shuningdek, siz GPIO'laringizni OUTPUT sifatida belgilaysiz va ularni LOW ga o'rnatasiz.
Quyidagi qatorlar WiFi.begin (ssid, parol) yordamida Wi-Fi ulanishini boshlaydi, muvaffaqiyatli ulanishni kuting va ESP IP manzilini Serial Monitorda chop eting.
loop()
Loop() da biz yangi mijoz bilan aloqa o'rnatganida nima sodir bo'lishini dasturlaymiz web server.
ESP32 har doim quyidagi qator bilan kiruvchi mijozlarni tinglaydi:Mijozdan so'rov qabul qilinganda, biz kiruvchi ma'lumotlarni saqlaymiz. Mijoz ulangan holda davom etar ekan, keyingi while tsikli ishlaydi. Agar nima qilayotganingizni aniq bilmasangiz, kodning quyidagi qismini o'zgartirishni tavsiya etmaymiz.
If va else iboralarining keyingi qismida qaysi tugma bosilganligi tekshiriladi web sahifani yaratadi va shunga mos ravishda chiqishlarni boshqaradi. Yuqorida aytib o'tganimizdek, biz turli xil so'rovlarni yuboramiz URLs bosilgan tugmaga qarab.
Misol uchunample, agar siz GPIO 26 ON tugmasini bosgan bo'lsangiz, ESP32 /26/ON orqali so'rov oladi. URL (Biz ushbu ma'lumotni Serial Monitordagi HTTP sarlavhasida ko'rishimiz mumkin). Shunday qilib, sarlavhada GET /26/on ifodasi mavjudligini tekshirishimiz mumkin. Agar u mavjud bo'lsa, biz output26state o'zgaruvchisini ON ga o'zgartiramiz va ESP32 LEDni yoqadi.
Bu boshqa tugmalar uchun ham xuddi shunday ishlaydi. Shunday qilib, agar siz ko'proq natijalar qo'shmoqchi bo'lsangiz, ularni kiritish uchun kodning ushbu qismini o'zgartirishingiz kerak.
HTML ko'rsatilmoqda web sahifa
Siz qilishingiz kerak bo'lgan keyingi narsa - yaratishdir web sahifa. ESP32 yaratish uchun ba'zi HTML kodlari bilan brauzeringizga javob yuboradi web sahifa.
The web sahifa ushbu ifodalangan client.println() yordamida mijozga yuboriladi. Argument sifatida mijozga yubormoqchi bo'lgan narsani kiritishingiz kerak.
Biz yuborishimiz kerak bo'lgan birinchi narsa har doim quyidagi satr bo'lib, biz HTML yuborayotganimizni bildiradi.Keyin, quyidagi qator hosil qiladi web har qanday holatda javob beruvchi sahifa web brauzer.
Favikonda so'rovlarni oldini olish uchun quyidagilar qo'llaniladi. - Bu chiziq haqida tashvishlanishingizga hojat yo'q.
Styling Web Sahifa
Keyinchalik, tugmalar va tugmalarni shakllantirish uchun bizda ba'zi CSS matnlari mavjud web sahifa ko'rinishi.
Biz Helvetica shriftini tanlaymiz, blok sifatida ko'rsatiladigan tarkibni belgilaymiz va markazga to'g'rilaymiz.Biz tugmachalarimizni #4CAF50 rangi, chegarasiz, oq rangdagi matn va bu toʻldirish bilan: 16px 40px bilan shakllantiramiz. Shuningdek, biz matn dekoratsiyasini none ga o'rnatamiz, shrift o'lchamini, chetini va kursorni ko'rsatgichga belgilaymiz.
Bundan tashqari, biz ikkinchi tugma uchun uslubni belgilaymiz, bu tugmachaning biz avval belgilagan barcha xususiyatlari bilan, lekin boshqa rang bilan. Bu o'chirish tugmasi uchun uslub bo'ladi.
ni sozlash Web Birinchi sahifa sarlavhasi
Keyingi qatorda siz o'zingizning birinchi sarlavhangizni o'rnatishingiz mumkin web sahifa. Bu erda bizda "ESP32 Web Server”, lekin siz ushbu matnni xohlaganingizcha o'zgartirishingiz mumkin.Tugmalar va tegishli holatni ko'rsatish
Keyin, siz GPIO 26 joriy holatini ko'rsatish uchun paragraf yozasiz. Ko'rib turganingizdek, biz output26State o'zgaruvchisidan foydalanamiz, shunda bu o'zgaruvchi o'zgarganda holat darhol yangilanadi.Keyin, biz GPIO ning joriy holatiga qarab yoqish yoki o'chirish tugmachasini ko'rsatamiz. Agar GPIO ning joriy holati o'chirilgan bo'lsa, biz ON tugmasini ko'rsatamiz, agar bo'lmasa, biz OFF tugmasini ko'rsatamiz.
Biz GPIO 27 uchun xuddi shu protseduradan foydalanamiz.
Ulanishni yopish
Nihoyat, javob tugagach, biz sarlavha o'zgaruvchisini tozalaymiz va client.stop() yordamida mijoz bilan ulanishni to'xtatamiz.
Oʻrash
Ushbu qo'llanmada biz sizga qanday qilib qurishni ko'rsatib berdik web ESP32 bilan server. Biz sizga oddiy sobiqni ko'rsatdikample bu ikkita LEDni boshqaradi, lekin g'oya o'sha LEDlarni o'rni yoki boshqarmoqchi bo'lgan boshqa chiqish bilan almashtirishdir.
Loyiha 6 RGB LED Web Server
Ushbu loyihada biz sizga RGB LEDni ESP32 platasi yordamida masofadan boshqarishni ko'rsatamiz web rang tanlashga ega server.
Loyiha tugadiview
Boshlashdan oldin, keling, ushbu loyiha qanday ishlashini ko'rib chiqaylik:
- ESP32 web server rang tanlash vositasini ko'rsatadi.
- Rangni tanlaganingizda, brauzeringiz a bo'yicha so'rov yuboradi URL tanlangan rangning R, G va B parametrlarini o'z ichiga oladi.
- Sizning ESP32 so'rovni qabul qiladi va har bir rang parametri uchun qiymatni ajratadi.
- Keyin, u mos keladigan qiymatga ega PWM signalini RGB LEDni boshqaradigan GPIO'larga yuboradi.
RGB LEDlar qanday ishlaydi?
Umumiy katodli RGB LEDda barcha uchta LED salbiy aloqani (katod) taqsimlaydi. To'plamga kiritilgan barcha umumiy katodli RGB.Turli xil ranglarni qanday yaratish mumkin?
RGB LED yordamida siz, albatta, qizil, yashil va ko'k yorug'likni ishlab chiqarishingiz mumkin va har bir LEDning intensivligini sozlash orqali siz boshqa ranglarni ham ishlab chiqarishingiz mumkin.
Misol uchunample, sof ko'k chiroqni ishlab chiqarish uchun siz ko'k LEDni eng yuqori intensivlikka, yashil va qizil LEDlarni esa eng past intensivlikka o'rnatasiz. Oq yorug'lik uchun siz uchta LEDni eng yuqori intensivlikka o'rnatgan bo'lardingiz.
Ranglarni aralashtirish
Boshqa ranglarni ishlab chiqarish uchun siz uchta rangni turli intensivlikda birlashtira olasiz. Har bir LEDning intensivligini sozlash uchun siz PWM signalidan foydalanishingiz mumkin.
LEDlar bir-biriga juda yaqin bo'lgani uchun bizning ko'zlarimiz uchta rangni alohida emas, balki ranglarning kombinatsiyasi natijasini ko'radi.
Ranglarni qanday birlashtirish haqida fikrga ega bo'lish uchun quyidagi jadvalga qarang.
Bu ranglarni aralashtirishning eng oddiy jadvali, lekin u qanday ishlashi va turli xil ranglarni qanday ishlab chiqarish haqida fikr beradi.Majburiy qismlar
Ushbu loyiha uchun sizga quyidagi qismlar kerak bo'ladi:
- ESP32 DEVKIT V1 platasi
- RGB LED
- 3x 220 ohm rezistorlar
- O'tkazgich simlari
- Non taxtasi
SxematikKod
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar siz bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
- Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Sxemani yig'gandan so'ng, kodni oching
Project_6_RGB_LED_Web_Server.ino arduino IDE da.
Kodni yuklashdan oldin, ESP mahalliy tarmog'ingizga ulanishi uchun tarmoq hisob ma'lumotlarini kiritishni unutmang.Kod qanday ishlaydi
ESP32 eskizi WiFi.h kutubxonasidan foydalanadi.Quyidagi satrlar so'rovdan R, G va B parametrlarini ushlab turish uchun satr o'zgaruvchilarini belgilaydi.
Keyingi to'rtta o'zgaruvchi HTTP so'rovini keyinchalik dekodlash uchun ishlatiladi.
R, G va B parametrlarini boshqaradigan GPIO uchun uchta o'zgaruvchi yarating. Bunday holda biz GPIO 13, GPIO 12 va GPIO 14 dan foydalanamiz.
Ushbu GPIO'lar PWM signallarini chiqarishi kerak, shuning uchun avval PWM xususiyatlarini sozlashimiz kerak. PWM signal chastotasini 5000 Gts ga o'rnating. Keyin har bir rang uchun PWM kanalini bog'lang
Va nihoyat, PWM kanallarining o'lchamlarini 8 bitga o'rnating
Setup() da PWM xususiyatlarini PWM kanallariga tayinlang
PWM kanallarini tegishli GPIO-larga ulang
Quyidagi kod bo'limida rang tanlash vositasi ko'rsatiladi web sahifaga o'ting va siz tanlagan rang asosida so'rov yuboradi.
Rangni tanlaganingizda, siz quyidagi formatdagi so'rovni olasiz.
Shunday qilib, biz R, G va B parametrlarini olish uchun ushbu satrni ajratishimiz kerak. Parametrlar redString, greenString va blueString o'zgaruvchilarida saqlanadi va 0 dan 255 gacha qiymatlarga ega bo'lishi mumkin.ESP32 bilan chiziqni boshqarish uchun HTTP-dan dekodlangan qiymatlar bilan PWM signallarini yaratish uchun ledcWrite() funksiyasidan foydalaning. iltimos.
Eslatma: ESP32 bilan PWM haqida ko'proq bilib oling: Project 3 ESP32 PWM (Analog chiqish)
ESP8266 bilan chiziqni boshqarish uchun biz shunchaki foydalanishimiz kerak
HTPP so'rovidan dekodlangan qiymatlar bilan PWM signallarini yaratish uchun analogWrite() funktsiyasi.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Biz qiymatlarni satr o'zgaruvchisida olganimiz uchun ularni toInt() usuli yordamida butun sonlarga aylantirishimiz kerak.
Namoyish
Tarmoq hisob ma'lumotlarini kiritganingizdan so'ng, o'ng platani va MAQOMOTI portini tanlang va kodni ESP32. Yuklab olish kodiga havola qadamlaringizga yuklang.
Yuklagandan so'ng, Serial Monitorni 115200 uzatish tezligida oching va ESP Enable/Reset tugmasini bosing. Kengashning IP manzilini olishingiz kerak.Brauzeringizni oching va ESP IP manzilini kiriting. Endi RGB LED uchun rang tanlash uchun rang tanlash vositasidan foydalaning.
Keyin rang kuchga kirishi uchun "Rangni o'zgartirish" tugmasini bosishingiz kerak.RGB LEDni o'chirish uchun qora rangni tanlang.
Eng kuchli ranglar (rang tanlagichning yuqori qismida) yaxshi natijalarga olib keladigan ranglardir.
Loyiha 7 ESP32 o'rni Web Server
ESP32 bilan o'rni ishlatish AC maishiy texnikani masofadan boshqarishning ajoyib usuli hisoblanadi. Ushbu qo'llanma ESP32 bilan o'rni modulini qanday boshqarishni tushuntiradi.
Biz o'rni moduli qanday ishlashini, o'rni ESP32 ga qanday ulashni va o'rni qurishni ko'rib chiqamiz. web releyni masofadan boshqarish uchun server.
Rele bilan tanishtirish
O'rnimizni elektr bilan boshqariladigan kalit va boshqa har qanday kalit kabi, uni yoqish yoki o'chirish, oqim o'tishi yoki o'tmasligi mumkin. Uni past ovoz bilan boshqarish mumkintages, ESP3.3 GPIO'lar tomonidan taqdim etilgan 32V kabi va bizga yuqori voltsiyani boshqarishga imkon beraditages kabi 12V, 24V yoki tarmoq voltage (Evropada 230V va AQShda 120V).Chap tomonda yuqori voltni ulash uchun uchta rozetkadan iborat ikkita to'plam mavjudtages va o'ng tomondagi pinlar (past hajmlitage) ESP32 GPIO lariga ulanish.
Asosiy jildtage UlanishlarOldingi fotosuratda ko'rsatilgan o'rni moduli ikkita ulagichga ega, ularning har biri uchta rozetkaga ega: umumiy (COM), Oddiy yopiq (NC) va Oddiy ochiq (NO).
- COM: nazorat qilmoqchi bo'lgan oqimni ulang (tarmoq jildtagva).
- NC (Odatda yopiq): odatda yopiq konfiguratsiya siz o'rni sukut bo'yicha yopilishini xohlaganingizda ishlatiladi. NC COM pinlari ulangan, ya'ni kontaktlarning zanglashiga olib kirish va oqim oqimini to'xtatish uchun ESP32 dan o'rni moduliga signal yubormaguningizcha oqim oqadi.
- YO'Q (Odatda ochiq): odatda ochiq konfiguratsiya aksincha ishlaydi: YO'Q va MAQOMOTI pinlari o'rtasida hech qanday aloqa yo'q, shuning uchun kontaktlarning zanglashiga olib kirish uchun ESP32 dan signal yubormaguningizcha, kontaktlarning zanglashiga olib keladi.
Tekshirish pinlariKam ovozlitage tomonida to'rtta pin va uchta pinli to'plam mavjud. Birinchi to'plam modulni quvvatlantirish uchun VCC va GND va pastki va yuqori o'rni nazorat qilish uchun mos ravishda 1 (IN1) va kirish 2 (IN2) dan iborat.
Agar o'rni modulingizda faqat bitta kanal bo'lsa, sizda faqat bitta IN pin bo'ladi. Agar sizda to'rtta kanal bo'lsa, sizda to'rtta IN pinlari bo'ladi va hokazo.
IN pinlariga yuboradigan signal o'rni faol yoki yo'qligini aniqlaydi. Kirish taxminan 2V dan pastga tushganda o'rni ishga tushadi. Bu siz quyidagi stsenariylarga ega bo'lishingizni anglatadi:
- Odatda yopiq konfiguratsiya (NC):
- YUQORI signal - oqim oqmoqda
- LOW signali - oqim oqmayapti
- Odatda ochiq konfiguratsiya (NO):
- YUQORI signal - oqim oqmayapti
- LOW signali - oqimdagi oqim
Oqim ko'pincha oqishi kerak bo'lganda siz odatda yopiq konfiguratsiyadan foydalanishingiz kerak va siz uni vaqti-vaqti bilan to'xtatmoqchisiz.
Oqim vaqti-vaqti bilan oqishini xohlasangiz, odatda ochiq konfiguratsiyadan foydalaning (masalanample, al-ni yoqingamp vaqti-vaqti bilan).
Elektr ta'minotini tanlashIkkinchi pin to'plami GND, VCC va JD-VCC pinlaridan iborat.
JD-VCC pin o'rni elektromagnitini quvvatlaydi. E'tibor bering, modulda VCC va JD-VCC pinlarini bog'laydigan o'tish moslamasi bor; bu yerda ko'rsatilgani sariq, lekin sizniki boshqa rang bo'lishi mumkin.
Jumper qopqog'i yoqilgan holda, VCC va JD-VCC pinlari ulanadi. Bu shuni anglatadiki, o'rni elektromagniti to'g'ridan-to'g'ri ESP32 quvvat pinidan quvvatlanadi, shuning uchun o'rni moduli va ESP32 davrlari bir-biridan jismoniy ravishda ajratilmagan.
Jumper qopqog'i bo'lmasa, siz JD-VCC pin orqali o'rni elektromagnitini quvvatlantirish uchun mustaqil quvvat manbasini ta'minlashingiz kerak. Ushbu konfiguratsiya modulning o'rnatilgan optokupleri bilan o'rni ESP32 dan jismoniy izolyatsiya qiladi, bu esa elektr toki urishi holatlarida ESP32 ga zarar yetkazilishining oldini oladi.
SxematikOgohlantirish: Yuqori hajmdan foydalanishtage quvvat manbalari jiddiy shikastlanishga olib kelishi mumkin.
Shuning uchun yuqori ta'minot hajmi o'rniga 5 mm LEDlar ishlatiladitagtajribada elektron lampalar. Magistral jild bilan tanish bo'lmasangiztagsizga yordam beradigan odamdan so'rang. ESPni dasturlashda yoki kontaktlarning zanglashiga olib o'tishda hamma narsa tarmoqdan uzilganligiga ishonch hosil qilingtage.ESP32 uchun kutubxonani o'rnatish
Buni qurish uchun web serverda biz ESPAsync dan foydalanamizWebServer kutubxonasi va AsyncTCP kutubxonasi.
ESPAsync o'rnatilmoqdaWebServer kutubxonasi
O'rnatish uchun keyingi bosqichlarni bajaring ESPAsyncWebServer kutubxona:
- ESPAsync dasturini yuklab olish uchun shu yerni bosingWebServer kutubxonasi. Sizda bo'lishi kerak
Yuklashlar jildida .zip jildi - .zip jildini oching va siz ESPAsync dasturini olishingiz kerakWebServer-master papkasi
- ESPAsync-dan jild nomini o'zgartiringWebESPAsync uchun server-masterWebServer
- ESPAsync-ni ko'chiringWebServer papkasini Arduino IDE o'rnatish kutubxonalari jildiga
Shu bilan bir qatorda, Arduino IDE-da siz Sketch > Include-ga o'tishingiz mumkin
Kutubxona > .ZIP kutubxonasini qo‘shish… va hozirgina yuklab olingan kutubxonani tanlang.
ESP32 uchun AsyncTCP kutubxonasini o'rnatish
The ESPAsyncWebServer kutubxona talab qiladi AsyncTCP ishlash uchun kutubxona. Kuzatish
ushbu kutubxonani o'rnatish uchun keyingi qadamlar:
- AsyncTCP kutubxonasini yuklab olish uchun shu yerni bosing. Yuklashlar jildida .zip jildi bo'lishi kerak
- .zip jildini oching va siz AsyncTCP-master jildini olishingiz kerak
1. Jildingiz nomini AsyncTCP-master-dan AsyncTCP-ga o'zgartiring
3. AsyncTCP jildini Arduino IDE o'rnatish kutubxonalari jildiga o'tkazing
4. Nihoyat, Arduino IDE-ni qayta oching
Shu bilan bir qatorda, Arduino IDE-da siz Sketch > Include-ga o'tishingiz mumkin
Kutubxona > .ZIP kutubxonasini qo‘shish… va hozirgina yuklab olingan kutubxonani tanlang.
Kod
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar siz bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Kerakli kutubxonalarni o'rnatgandan so'ng, Project_7_ESP32_Relay_ kodini oching.Web_Server.ino arduino IDE da.
Kodni yuklashdan oldin, ESP mahalliy tarmog'ingizga ulanishi uchun tarmoq hisob ma'lumotlarini kiritishni unutmang.Namoyish
Kerakli o'zgarishlarni amalga oshirgandan so'ng, kodni ESP32.Yuklab olish kodiga havola qadamlaringizga yuklang.
Serial Monitorni 115200 uzatish tezligida oching va uning IP manzilini olish uchun ESP32 EN tugmasini bosing. Keyin mahalliy tarmog'ingizda brauzerni oching va ESP32 IP manzilini kiriting. web server.
Serial Monitorni 115200 uzatish tezligida oching va uning IP manzilini olish uchun ESP32 EN tugmasini bosing. Keyin mahalliy tarmog'ingizda brauzerni oching va ESP32 IP manzilini kiriting. web server.Eslatma: Brauzeringiz va ESP32 bir xil LANga ulangan bo'lishi kerak.
Siz kodingizda aniqlagan o'rni soni kabi ikkita tugmachani quyidagi kabi olishingiz kerak.Endi siz smartfoningiz yordamida o'z o'rningizni boshqarish uchun tugmalardan foydalanishingiz mumkin.
Loyiha_8_Chiqish_Holati_Sinxronizatsiya_ Web_Server
Ushbu loyiha ESP32 yoki ESP8266 chiqishlarini a yordamida qanday boshqarishni ko'rsatadi web server va jismoniy tugma bir vaqtning o'zida. Chiqish holati yangilanadi web sahifa jismoniy tugma orqali o'zgartiriladimi yoki web server.
Loyiha tugadiview
Keling, loyiha qanday ishlashini tezda ko'rib chiqaylik.ESP32 yoki ESP8266 xostlari a web chiqish holatini boshqarish imkonini beruvchi server;
- Joriy chiqish holati ekranda ko'rsatiladi web server;
- ESP shuningdek, bir xil chiqishni boshqaradigan jismoniy tugmachaga ulangan;
- Agar siz jismoniy tugma yordamida chiqish holatini o'zgartirsangiz, uning joriy holati ham yangilanadi web server.
Xulosa qilib aytganda, ushbu loyiha a yordamida bir xil chiqishni boshqarish imkonini beradi web server va tugmani bir vaqtning o'zida. Har safar chiqish holati o'zgarganda, web server yangilanadi.
Majburiy qismlar
Sxemani qurish uchun sizga kerak bo'lgan qismlar ro'yxati:
- ESP32 DEVKIT V1 platasi
- 5 mm LED
- 220 Ohm qarshilik
- Bosish tugmasi
- 10k Ohm qarshilik
- Non taxtasi
- O'tkazgich simlari
SxematikESP32 uchun kutubxonani o'rnatish
Buni qurish uchun web serverda biz ESPAsync dan foydalanamizWebServer kutubxonasi va AsyncTCP kutubxonasi.(Agar siz bu qadamni allaqachon bajargan boʻlsangiz, keyingi bosqichga oʻtishingiz mumkin.)
ESPAsync o'rnatilmoqdaWebServer kutubxonasi
ESPAsync-ni o'rnatish uchun keyingi bosqichlarni bajaringWebServer kutubxonasi:
- ESPAsync dasturini yuklab olish uchun shu yerni bosingWebServer kutubxonasi. Sizda bo'lishi kerak
Yuklashlar jildida .zip jildi - .zip jildini oching va siz ESPAsync dasturini olishingiz kerakWebServer-master papkasi
- ESPAsync-dan jild nomini o'zgartiringWebESPAsync uchun server-masterWebServer
- ESPAsync-ni ko'chiringWebServer papkasini Arduino IDE o'rnatish kutubxonalari jildiga
Shu bilan bir qatorda, Arduino IDE-da siz Sketch > Include-ga o'tishingiz mumkin
Kutubxona > .ZIP kutubxonasini qo‘shish… va hozirgina yuklab olingan kutubxonani tanlang.
ESP32 uchun AsyncTCP kutubxonasini o'rnatish
ESPAsyncWebServer kutubxonasi ishlashi uchun AsyncTCP kutubxonasi talab qilinadi. Ushbu kutubxonani o'rnatish uchun quyidagi amallarni bajaring:
- AsyncTCP kutubxonasini yuklab olish uchun shu yerni bosing. Yuklashlar jildida .zip jildi bo'lishi kerak
- .zip jildini oching va siz AsyncTCP-master jildini olishingiz kerak
- Jildingiz nomini AsyncTCP-master-dan AsyncTCP-ga o'zgartiring
- AsyncTCP jildini Arduino IDE o'rnatish kutubxonalari jildiga o'tkazing
- Nihoyat, Arduino IDE-ni qayta oching
Shu bilan bir qatorda, Arduino IDE-da siz Sketch > Include-ga o'tishingiz mumkin
Kutubxona > .ZIP kutubxonasini qo‘shish… va hozirgina yuklab olingan kutubxonani tanlang.
Kod
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar siz bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Kerakli kutubxonalarni o'rnatgandan so'ng, kodni oching
Loyiha_8_Chiqish_Holati_Sinxronizatsiya_Web_Server.ino arduino IDE da.
Kodni yuklashdan oldin, ESP mahalliy tarmog'ingizga ulanishi uchun tarmoq hisob ma'lumotlarini kiritishni unutmang.
Kod qanday ishlaydi
Tugma holati va chiqish holati
ledState o'zgaruvchisi LED chiqish holatini ushlab turadi. Odatiy bo'lib, qachon web server ishga tushdi, u PAY.
ButtonState va lastButtonState tugmachaning bosilgan yoki bosilmaganligini aniqlash uchun ishlatiladi.Tugma (web server)
Biz index_html oʻzgaruvchisidagi tugmani yaratish uchun HTMLni kiritmadik.
Buning sababi, biz uni joriy LED holatiga qarab o'zgartirishni xohlaymiz, uni tugma yordamida ham o'zgartirish mumkin.
Shunday qilib, biz %BUTTONPLACEHOLDER% tugmasi uchun joy ushlagich yaratdik, bu tugma keyinchalik kodda yaratish uchun HTML matni bilan almashtiriladi (bu protsessor() funksiyasida amalga oshiriladi).protsessor()
Protsessor() funksiyasi HTML matnidagi har qanday to'ldiruvchini haqiqiy qiymatlar bilan almashtiradi. Birinchidan, u HTML matnlarida biror narsa bor yoki yo'qligini tekshiradi
%BUTTONPLACEHOLDER% joy egalari.Keyin joriy chiqish holatini qaytaradigan theoutputState() funksiyasini chaqiring. Biz uni outputStateValue o'zgaruvchisida saqlaymiz.
Shundan so'ng, tugmani to'g'ri holatda ko'rsatish uchun HTML matnini yaratish uchun ushbu qiymatdan foydalaning:
Chiqish holatini o'zgartirish uchun HTTP GET so'rovi (JavaScript)
Tugmani bosganingizda toggleCheckbox() funksiyasi chaqiriladi. Bu funktsiya boshqasiga so'rov yuboradi URLs LEDni yoqish yoki o'chirish uchun.LEDni yoqish uchun u /update?state=1 bo'yicha so'rov yuboradi URL:
Aks holda, u /update?state=0 bo'yicha so'rov yuboradi URL.
HTTP GET holatini yangilash so'rovi (JavaScript)
Chiqish holatini yangilanib turish uchun web serverda biz /statega yangi so'rov yuboradigan quyidagi funktsiyani chaqiramiz URL har soniyada.So'rovlarni ko'rib chiqish
Keyin, biz ESP32 yoki ESP8266 so'rovlarni qabul qilganda nima sodir bo'lishini hal qilishimiz kerak. URLs.
Ildizda so'rov qabul qilinganda /URL, biz HTML sahifani hamda protsessorni yuboramiz.Quyidagi qatorlar /update?state=1 yoki /update?state=0 bo'yicha so'rov olganingizni tekshiradi. URL va shunga mos ravishda ledStateni o'zgartiradi.
/davlatda so'rov qabul qilinganda URL, biz joriy chiqish holatini yuboramiz:
loop()
Loop() da biz tugmani o'chiramiz va ledState qiymatiga qarab LEDni yoqamiz yoki o'chiramiz. o'zgaruvchan.Namoyish
Kodni ESP32 platangizga yuklang. Kodga havola qadamlarini yuklang.
Keyin, 115200 uzatish tezligida Serial Monitorni oching. IP manzilini olish uchun bortdagi EN/RST tugmasini bosing.Mahalliy tarmoqdagi brauzerni oching va ESP IP manzilini kiriting. Siz kirish huquqiga ega bo'lishingiz kerak web server quyida ko'rsatilganidek.
Eslatma: Brauzeringiz va ESP32 bir xil LANga ulangan bo'lishi kerak.Siz tugmachani o'zgartirishingiz mumkin web LEDni yoqish uchun server.
Xuddi shu LEDni jismoniy tugma bilan ham boshqarishingiz mumkin. Uning holati har doim avtomatik ravishda yangilanadi web server.
Loyiha 9 ESP32 DHT11 Web Server
Ushbu loyihada siz asinxron ESP32 ni qanday yaratishni o'rganasiz web Arduino IDE yordamida harorat va namlikni ko'rsatadigan DHT11 serveri.
Old shartlar
The web server biz o'qishni yangilamasdan avtomatik ravishda yangilashni yaratamiz web sahifa.
Ushbu loyiha yordamida siz quyidagilarni o'rganasiz:
- DHT sensorlaridan harorat va namlikni qanday o'qish mumkin;
- Asinxron tuzing web yordamida server ESPAsyncWebServer kutubxonasi;
- Sensor ko'rsatkichlarini yangilamasdan avtomatik ravishda yangilang web sahifa.
Asinxron Web Server
ni qurish uchun web serverdan foydalanamiz ESPAsyncWebServer kutubxonasi bu asinxronni yaratishning oson yo'lini ta'minlaydi web server. Asinxronni qurish web server bir nechta afzalliklarga egatages kutubxonasi GitHub sahifasida aytib o'tilganidek, masalan:
- "Bir vaqtning o'zida bir nechta ulanishni boshqarish";
- "Javobni yuborganingizda, server javobni fonda yuborish bilan shug'ullanayotganda, siz darhol boshqa ulanishlarni boshqarishga tayyor bo'lasiz";
- "Shablonlarni qayta ishlash uchun oddiy shablonni qayta ishlash mexanizmi";
Majburiy qismlar
Ushbu qo'llanmani bajarish uchun sizga quyidagi qismlar kerak bo'ladi:
- ESP32 ishlab chiqish platasi
- DHT11 moduli
- Non taxtasi
- O'tkazgich simlari
SxematikKutubxonalarni o'rnatish
Ushbu loyiha uchun bir nechta kutubxonalarni o'rnatishingiz kerak:
- The DHT va Adafruit yagona sensori DHT sensoridan o'qish uchun haydovchilar kutubxonalari.
- ESPAsyncWebServer va Asinxron TCP asinxron yaratish uchun kutubxonalar web server.
Ushbu kutubxonalarni o'rnatish uchun quyidagi ko'rsatmalarga amal qiling:
DHT Sensor kutubxonasini o'rnatish
Arduino IDE yordamida DHT sensoridan o'qish uchun siz o'rnatishingiz kerak DHT sensori kutubxonasi. Kutubxonani o'rnatish uchun keyingi bosqichlarni bajaring.
- DHT Sensor kutubxonasini yuklab olish uchun shu yerni bosing. Yuklashlar jildida .zip jildi bo'lishi kerak
- .zip jildini oching va siz DHT-sensor-library-master papkasini olishingiz kerak
- Jildingiz nomini DHT-sensor-libraries-masterdan DHT_sensorga o‘zgartiring
- DHT_sensor jildini Arduino IDE o'rnatish kutubxonalari jildiga o'tkazing
- Nihoyat, Arduino IDE-ni qayta oching
Adafruit Unified Sensor drayverini o'rnatish
ni ham o'rnatishingiz kerak Adafruit Unified Sensor Driver kutubxonasi DHT sensori bilan ishlash uchun. Kutubxonani o'rnatish uchun keyingi bosqichlarni bajaring.
- Adafruit Unified Sensor kutubxonasini yuklab olish uchun shu yerni bosing. Yuklashlar jildida .zip jildi bo'lishi kerak
- .zip jildini oching va siz Adafruit_sensor-master jildini olishingiz kerak
- Jildingiz nomini Adafruit_sensor-master dan Adafruit_sensor ga o'zgartiring
- Adafruit_sensor jildini Arduino IDE o'rnatish kutubxonalari jildiga o'tkazing
- Nihoyat, Arduino IDE-ni qayta oching
ESPAsync o'rnatilmoqdaWebServer kutubxonasi
O'rnatish uchun keyingi bosqichlarni bajaring ESPAsyncWebServer kutubxona:
- ESPAsync dasturini yuklab olish uchun shu yerni bosingWebServer kutubxonasi. Sizda bo'lishi kerak
Yuklashlar jildida .zip jildi - .zip jildini oching va kerak
ESPAsync-ni olingWebServer-master papkasi - ESPAsync-dan jild nomini o'zgartiringWebESPAsync uchun server-masterWebServer
- ESPAsync-ni ko'chiringWebServer papkasini Arduino IDE o'rnatish kutubxonalari jildiga
ESP32 uchun Async TCP kutubxonasini o'rnatish
The ESPAsyncWebServer kutubxona talab qiladi AsyncTCP ishlash uchun kutubxona. Ushbu kutubxonani o'rnatish uchun quyidagi amallarni bajaring:
- AsyncTCP kutubxonasini yuklab olish uchun shu yerni bosing. Yuklashlar jildida .zip jildi bo'lishi kerak
- .zip jildini oching va siz AsyncTCP-master jildini olishingiz kerak
- Jildingiz nomini AsyncTCP-master-dan AsyncTCP-ga o'zgartiring
- AsyncTCP jildini Arduino IDE o'rnatish kutubxonalari jildiga o'tkazing
- Nihoyat, Arduino IDE-ni qayta oching
Kod
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar siz bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatish
Kerakli kutubxonalarni o'rnatgandan so'ng, kodni oching
Project_9_ESP32_DHT11_Web_Server.ino arduino IDE da.
Kodni yuklashdan oldin, ESP mahalliy tarmog'ingizga ulanishi uchun tarmoq hisob ma'lumotlarini kiritishni unutmang.Kod qanday ishlaydi
Keyingi paragraflarda biz kod qanday ishlashini tushuntiramiz. Agar siz ko'proq ma'lumot olishni istasangiz, o'qishni davom eting yoki yakuniy natijani ko'rish uchun Namoyish bo'limiga o'ting.
Kutubxonalarni import qilish
Birinchidan, kerakli kutubxonalarni import qiling. WiFi, ESPAsyncWebni yaratish uchun server va ESPAsyncTCP kerak web server. Adafruit_Sensor va DHT kutubxonalari DHT11 yoki DHT22 sensorlaridan o'qish uchun kerak.O'zgaruvchilar ta'rifi
DHT ma'lumotlar piniga ulangan GPIO ni aniqlang. Bunday holda, u GPIO 4 ga ulangan.Keyin foydalanayotgan DHT sensori turini tanlang. Bizning sobiqimizdaample, biz DHT22 dan foydalanmoqdamiz. Agar siz boshqa turdan foydalanayotgan bo'lsangiz, sensoringizni izohdan olib tashlashingiz va qolganlariga izoh berishingiz kifoya.
Biz ilgari aniqlagan tur va pin bilan DHT ob'ektini yarating.Async yaratingWeb80-portdagi server ob'ekti.
Harorat va namlik funktsiyalarini o'qing
Biz ikkita funktsiyani yaratdik: biri haroratni o'qish uchun Biz ikkita funktsiyani yaratdik: biri haroratni o'qish (readDHTTemperature()) va ikkinchisi namlikni o'qish (readDHTHumidity()).Sensor ko'rsatkichlarini olish, Sensor ko'rsatkichlarini olish dht ob'ektida readTemperature() va readHumidity() usullaridan foydalanish kabi oddiy.
Sensor ko'rsatkichlarni ololmasa, ikkita chiziqcha (-) qaytaradigan shartimiz ham mavjud.
O'qishlar satr turi sifatida qaytariladi. Floatni satrga aylantirish uchun String() funksiyasidan foydalaning
Odatiy bo'lib, biz haroratni Selsiy darajasida o'qiymiz. Farengeyt gradusidagi haroratni bilish uchun haroratni Selsiy bo'yicha izohlang va Farengeytdagi haroratni izohlang, shunda sizda quyidagilar mavjud:
Kodni yuklang
Endi kodni ESP32 ga yuklang. To'g'ri plata va MAQOMOTI porti tanlanganligiga ishonch hosil qiling. Kodni yuklash uchun mos yozuvlar qadamlari.
Yuklagandan so'ng, Serial Monitorni 115200 uzatish tezligida oching. ESP32 reset tugmasini bosing. ESP32 IP manzili ketma-ket chop etilishi kerak monitor.Namoyish
Brauzerni oching va ESP32 IP manzilini kiriting. Sizning web server oxirgi sensor o'qishlarini ko'rsatishi kerak.
Eslatma: Brauzeringiz va ESP32 bir xil LANga ulangan bo'lishi kerak.
E'tibor bering, harorat va namlik ko'rsatkichlari yangilanishni talab qilmasdan avtomatik ravishda yangilanadi web sahifa.
Project_10_ESP32_OLED_Display
Ushbu loyiha Arduino IDE yordamida ESP0.96 bilan 1306 dyuymli SSD32 OLED displeydan qanday foydalanishni ko'rsatadi.
0.96 dyuymli OLED displey taqdimoti
The OLED displey Biz ushbu qo'llanmada SSD1306 modelidan foydalanamiz: quyidagi rasmda ko'rsatilganidek, monokolor, 0.96 dyuymli 128×64 pikselli displey.OLED displey orqa yorug'likni talab qilmaydi, bu esa qorong'u muhitda juda yaxshi kontrastga olib keladi. Bundan tashqari, uning piksellari faqat yoqilganda energiya sarflaydi, shuning uchun OLED displey boshqa displeylarga qaraganda kamroq quvvat sarflaydi.
OLED displeyi I2C aloqa protokolidan foydalanganligi sababli, simlarni ulash juda oddiy. Malumot sifatida quyidagi jadvaldan foydalanishingiz mumkin.
OLED pin | ESP32 |
Vin | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
SxematikSSD1306 OLED kutubxonasini o'rnatish - ESP32
OLED displeyni ESP32 bilan boshqarish uchun bir nechta kutubxonalar mavjud.
Ushbu qo'llanmada biz ikkita Adafruit kutubxonasidan foydalanamiz: Adafruit_SSD1306 kutubxonasi va Adafruit_GFX kutubxonasi.
Ushbu kutubxonalarni o'rnatish uchun keyingi bosqichlarni bajaring.
- Arduino IDE-ni oching va Sketch > Include Library > Manage Library-ga o'ting. Kutubxona menejeri ochilishi kerak.
- Qidiruv maydoniga "SSD1306" ni kiriting va Adafruit-dan SSD1306 kutubxonasini o'rnating.
- Adafruit-dan SSD1306 kutubxonasini o'rnatgandan so'ng, qidiruv maydoniga "GFX" ni kiriting va kutubxonani o'rnating.
- Kutubxonalarni o'rnatgandan so'ng, Arduino IDE-ni qayta ishga tushiring.
Kod
Kerakli kutubxonalarni o'rnatgandan so'ng, Project_10_ESP32_OLED_Display.ino ni arduino IDE da oching. kod
Biz ESP32 ni Arduino IDE yordamida dasturlashtiramiz, shuning uchun davom etishdan oldin sizda ESP32 qo‘shimchasi o‘rnatilganligiga ishonch hosil qiling: (Agar bu bosqichni allaqachon bajargan bo‘lsangiz, keyingi bosqichga o‘tishingiz mumkin.)
Arduino IDE-da ESP32 qo'shimchasini o'rnatishKod qanday ishlaydi
Kutubxonalarni import qilish
Birinchidan, kerakli kutubxonalarni import qilishingiz kerak. I2C-dan foydalanish uchun Wire kutubxonasi va displeyga yozish uchun Adafruit kutubxonalari: Adafruit_GFX va Adafruit_SSD1306.OLED displeyni ishga tushiring
Keyin OLED kengligi va balandligini aniqlaysiz. Bu sobiqample, biz 128×64 OLED displeydan foydalanmoqdamiz. Agar siz boshqa oʻlchamlardan foydalanayotgan boʻlsangiz, uni SCREEN_WIDTH va SCREEN_HEIGHT oʻzgaruvchilarda oʻzgartirishingiz mumkin.Keyin, I2C aloqa protokoli (&Wire) yordamida ilgari belgilangan kenglik va balandlik bilan ko'rsatish ob'ektini ishga tushiring.
(-1) parametr sizning OLED displeyingizda RESET piniga ega emasligini bildiradi. Agar OLED displeyingiz RESET piniga ega bo'lsa, u GPIO ga ulangan bo'lishi kerak. Bunday holda, siz GPIO raqamini parametr sifatida topshirishingiz kerak.
Setup() da disk raskadrovka maqsadida Serial Monitorni 115200 uzatish tezligida ishga tushiring.OLED displeyni start() usuli bilan quyidagi tarzda ishga tushiring:
Ushbu parcha, shuningdek, displeyga ulana olmasak, Serial Monitorda xabarni chop etadi.
Agar siz boshqa OLED displeydan foydalanayotgan bo'lsangiz, OLED manzilini o'zgartirishingiz kerak bo'lishi mumkin. Bizning holatda, manzil 0x3C.
Displeyni ishga tushirgandan so'ng, OLED matn yozishdan oldin ishga tushirish uchun etarli vaqtga ega bo'lishi uchun ikki soniya kechikish qo'shing:
Displeyni tozalang, shrift hajmini, rangini o'rnating va matn yozing
Displeyni ishga tushirgandan so'ng, displey buferini clearDisplay() usuli bilan tozalang:
Matn yozishdan oldin siz matn hajmini, rangini va matn OLED-da ko'rsatiladigan joyni belgilashingiz kerak.
Shrift hajmini setTextSize() usuli yordamida o'rnating:Shrift rangini setTextColor() usuli bilan o'rnating:
WHITE oq shrift va qora fonni o'rnatadi.
setCursor(x,y) usuli yordamida matn boshlanadigan joyni aniqlang. Bunday holda, biz matnni (0,0) koordinatalardan boshlanadigan qilib o'rnatamiz - yuqori chap burchakda.Nihoyat, siz println() usuli yordamida matnni quyidagi tarzda displeyga yuborishingiz mumkin
Keyin, matnni ekranda ko'rsatish uchun displey() usulini chaqirishingiz kerak.
Adafruit OLED kutubxonasi matnni osongina aylantirish uchun foydali usullarni taqdim etadi.
- startscrollright(0x00, 0x0F): matnni chapdan oʻngga aylantiring
- startscrollleft(0x00, 0x0F): matnni o'ngdan chapga aylantiring
- startscrolldiagright(0x00, 0x07): matnni pastki chap burchakdan o‘ng yuqori burchakka aylantiring startscrolldiagleft(0x00, 0x07): matnni o‘ng pastki burchakdan chap yuqori burchakka aylantiring
Kodni yuklang
Endi kodni ESP32.Yuklab olish kodiga havola qadamlaringizga yuklang.
Kodni yuklaganingizdan so'ng, OLED aylantiruvchi matnni ko'rsatadi.
Hujjatlar / manbalar
![]() |
LAFVIN ESP32 asosiy boshlang'ich to'plami [pdf] Qo'llanma ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit |