I-ESP32 Isiqalisi Esiyisisekelo
Ikhithi
Uhlu lokupakisha
ESP32 Isingeniso
Umusha ku-ESP32? Qala lapha! I-ESP32 iwuchungechunge lwezilawuli ezincane ze-System on a Chip (SoC) ezingabizi kakhulu futhi ezinamandla aphansi ezakhiwe yi-Espressif ezihlanganisa amandla angenantambo e-Wi-Fi ne-Bluetooth kanye ne-dual-core processor. Uma ujwayelene ne-ESP8266, i-ESP32 iyilandela, ilayishwe izici eziningi ezintsha.Imifanekiso ye-ESP32
Uma ufuna ukuthola okuthe xaxa kobuchwepheshe nokucacisa, ungabheka le mininingwane elandelayo ye-ESP32 (umthombo: http://esp32.net/) - ukuze uthole imininingwane eyengeziwe, hlola imininingwane):
- Ukuxhumana okungenantambo i-Wi-Fi: 150.0 Mbps isilinganiso sedatha nge-HT40
- I-Bluetooth: I-BLE (i-Bluetooth Low Energy) ne-Bluetooth Classic
- Iphrosesa: I-Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, egijima ku-160 noma 240 MHz
- Inkumbulo:
- I-ROM: 448 KB (ye-booting kanye nemisebenzi eyinhloko)
- I-SRAM: 520 KB (yedatha nemiyalo)
- I-RTC fas SRAM: 8 KB (yokugcina idatha kanye ne-CPU eyinhloko ngesikhathi se-RTC Boot kusukela kumodi yokulala okujulile)
- I-RTC slow SRAM: 8KB (yokufinyelela ngokubambisana ngesikhathi semodi yokulala okujulile) eFuse: 1 Kbit (okukhona amabhithi angu-256 asetshenziselwa uhlelo (ikheli le-MAC nokulungiswa kwe-chip) kanye namabhithi angu-768 asele abekelwe izinhlelo zokusebenza zamakhasimende, okuhlanganisa i-Flash-Encryption ne-Chip-ID)
I-flash eshumekiwe: i-flash ixhumeke ngaphakathi nge-IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 kanye ne-SD_DATA_1 ku-ESP32-D2WD ne-ESP32-PICO-D4.
- I-0 MiB (ESP32-D0WDQ6, ESP32-D0WD, nama-chips e-ESP32-S0WD)
- I-2 MiB (ESP32-D2WD chip)
- I-4 MiB (ESP32-PICO-D4 SiP module)
Amandla Aphansi: aqinisekisa ukuthi usengasebenzisa ukuguqulwa kwe-ADC, ngokwesiboneloample, ngesikhathi sobuthongo obukhulu.
Okokufaka/Okukhiphayo okuzungezile:
- i-peripheral interface ene-DMA ehlanganisa ukuthinta kwe-capacitive
- Ama-ADC (Isiguquli se-Analog-to-Digital)
- I-DACs (I-Digital-to-Analog Converter)
- I-I²C (I-Inter-Integrated Circuit)
- I-UART (I-Universal Asynchronous Receiver/Transmitter)
- I-SPI (I-Serial Peripheral Interface)
- I-I²S (I-Integrated Interchip Sound)
- I-RMII (I-Reduced Media-Independent Interface)
- I-PWM (Pulse-Width Modulation)
Ukuphepha: ama-accelerator wehadiwe we-AES kanye ne-SSL/TLS
Amabhodi Okuthuthukisa ESP32
I-ESP32 ibhekisela ku-ESP32 chip engenalutho. Nokho, igama elithi “ESP32” lisetshenziselwa ukubhekisela kumabhodi okuthuthukisa we-ESP32. Ukusebenzisa i-ESP32 bare chips akulula noma kuyasebenza, ikakhulukazi uma ufunda, uhlola, futhi wenza i-prototyping. Isikhathi esiningi, uzofuna ukusebenzisa ibhodi lokuthuthukisa le-ESP32.
Sizosebenzisa ibhodi le-ESP32 DEVKIT V1 njengereferensi.Isithombe esingezansi sibonisa ibhodi le-ESP32 DEVKIT V1, inguqulo enamaphinikhodi angu-30 e-GPIO.Imininingwane - ESP32 DEVKIT V1
Ithebula elilandelayo libonisa isifinyezo sezici zebhodi le-ESP32 DEVKIT V1 DOIT kanye nokucaciswa kwazo:
Inombolo yama-cores | 2 (i-dual core) |
I-Wi-Fi | 2.4 GHz kufika ku-150 Mbits/s |
I-Bluetooth | I-BLE (i-Bluetooth Low Energy) kanye ne-Bluetooth yefa |
Izakhiwo | 32 amabhithi |
Ukuvama kwewashi | Kufika ku-240 MHz |
RAM | 512 KB |
Izikhonkwane | 30 (kuya ngemodeli) |
Amapheripheral | I-Capacitive touch, i-ADC (i-analog kuya kusiguquli sedijithali), i-DAC (i-digital to analog converter), 12C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface), 12SIC (Interface) Umsindo), i-RMII (I-Reduced Media-Independent Interface), i-PWM (i-pulse wide modulation), nokunye. |
Izinkinobho ezakhelwe ngaphakathi | SETHA KABUSHA kanye nezinkinobho ze-BOOT |
Ama-LED akhelwe ngaphakathi | i-LED eluhlaza okwesibhakabhaka eyakhelwe ngaphakathi exhunywe ku-GPIO2; I-LED ebomvu eyakhelwe ngaphakathi ekhombisa ukuthi ibhodi linikwa amandla |
USB kuya UART ibhuloho |
I-CP2102 |
Iza nesixhumi esibonakalayo se-microUSB ongasisebenzisa ukuxhuma ibhodi kukhompyutha yakho ukuze ulayishe ikhodi noma usebenzise amandla.
Isebenzisa i-CP2102 chip (i-USB kuya ku-UART) ukuze ixhumane nekhompyutha yakho ngembobo ye-COM isebenzisa isixhumi esibonakalayo seserial. Enye i-chip ethandwayo yi-CH340. Hlola ukuthi iyini i-USB kuya ku-UART chip converter ebhodini lakho ngoba uzodinga ukufaka izishayeli ezidingekayo ukuze ikhompuyutha yakho ikwazi ukuxhumana nebhodi (ulwazi olwengeziwe mayelana nalokhu ngokuhamba kwesikhathi kulo mhlahlandlela).
Leli bhodi futhi liza nenkinobho ye-RESET (ingase ibhalwe ngokuthi EN) ukuze uqale kabusha ibhodi kanye nenkinobho ye-BOOT ukuze ubeke ibhodi kwimodi ekhanyayo (etholakalayo ukuze uthole ikhodi). Qaphela ukuthi amanye amabhodi angase angabi nayo inkinobho ethi BOOT.
Iphuma ne-LED eyakhelwe ngaphakathi eluhlaza okwesibhakabhaka exhunywe ngaphakathi ku-GPIO 2. Le LED iwusizo ekulungiseni iphutha ukuze inikeze uhlobo oluthile lokuphumayo okubonakalayo okubonakalayo. Kukhona ne-LED ebomvu ekhanyisayo uma unikeza amandla ebhodini.Idatha ye-ESP32
I-ESP32 peripherals ihlanganisa:
- 18 iziteshi ze-Analog-to-Digital Converter (ADC).
- 3 SPI interface
- 3 UART interface
- 2 I2C interface
- 16 amashaneli okukhiphayo e-PWM
- 2 Iziguquli zeDigital-to-Analog (DAC)
- 2 I2S interface
- Ama-GPIO angu-10 anamandla okuzwa
Izici ze-ADC (i-analog to digital converter) kanye ne-DAC (digital to analog converter) zinikezwe amaphinikhodi athile amile. Kodwa-ke, unganquma ukuthi yiziphi izikhonkwane eziyi-UART, I2C, SPI, PWM, njll - udinga nje ukuwabela kukhodi. Lokhu kungenzeka ngenxa yesici sokuphindaphinda se-chip ye-ESP32.
Nakuba ungakwazi ukuchaza izakhiwo zezikhonkwane kusofthiwe, kukhona izikhonkwane ezinikezwe ngokuzenzakalelayo njengoba kukhonjisiwe esithombeni esilandelayo.Ukwengeza, kukhona izikhonkwane ezinezici ezithile ezibenza bafaneleke noma bangafaneleki iphrojekthi ethile. Ithebula elilandelayo libonisa ukuthi yiziphi izikhonkwane ezifanele ukuzisebenzisa njengokufakwayo, okokukhiphayo nokuthi yiziphi okudingeka uziqaphele.
Izikhonkwane ezigqanyiswe ngokuluhlaza Kulungile ukuzisebenzisa. Lawa agqanyiswe ngokuphuzi KULUNGILE ukuwasebenzisa, kodwa udinga ukunaka ngoba angase abe nokuziphatha okungalindelekile ikakhulukazi ekuqaleni. Izikhonkwane ezigqanyiswe ngokubomvu azinconywa ukuthi zisetshenziswe njengokufakwayo noma okokukhiphayo.
I-GP IO | Okokufaka | Okukhiphayo | Amanothi |
0 | adonse | OK | okukhiphayo isignali ye-PWM ekuqaliseni, kufanele ibe LOW ukuze ufake imodi ekhanyayo |
1 | Iphinikhodi ye-TX | OK | susa iphutha ekuqaliseni |
2 | OK | OK | ixhunywe ku-LED esebhodini, kufanele ishiywe intanta noma i-PHANSI ukuze ingene kwimodi ekhanyayo |
3 | OK | Iphinikhodi ye-RX | HIGH ebhuthini |
4 | OK | OK | |
5 | OK | OK | okukhipha isignali ye-PWM ekuqaleni, iphini lokubopha |
12 | OK | OK | I-boot ihluleka uma idonswe phezulu, iphini lokubopha |
13 | OK | OK | |
14 | OK | OK | ikhipha isignali ye-PWM ekuqaleni |
15 | OK | OK | okukhipha isignali ye-PWM ekuqaleni, iphini lokubopha |
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 | okokufaka kuphela | |
35 | OK | okokufaka kuphela | |
36 | OK | okokufaka kuphela | |
39 | OK | okokufaka kuphela |
Qhubeka ufunde ukuze uthole imininingwane eyengeziwe kanye nokuhlaziywa okujulile kwe-ESP32 GPIOs nemisebenzi yayo.
Izikhonkwane zokufaka kuphela
Ama-GPIOs 34 kuya ku-39 angama-GPI - amaphini okufaka kuphela. Lezi zikhonkwane azinazo izinto zokudonsa zangaphakathi zokudonsa noma zokudonsela phansi. Awakwazi ukusetshenziswa njengokuphumayo, ngakho-ke sebenzisa lawa maphinikhodi njengokufakwayo kuphela:
- I-GPIO 34
- I-GPIO 35
- I-GPIO 36
- I-GPIO 39
I-SPI flash ihlanganiswe ku-ESP-WROOM-32
I-GPIO 6 kuya ku-GPIO 11 ivezwa kwamanye amabhodi okuthuthukisa we-ESP32. Nokho, lawa maphini axhunywe ku-SPI flash ehlanganisiwe ku-chip ye-ESP-WROOM-32 futhi awanconyelwe okunye ukusetshenziswa. Ngakho-ke, ungasebenzisi lezi phini kumaphrojekthi akho:
- I-GPIO 6 (SCK/CLK)
- I-GPIO 7 (SDO/SD0)
- I-GPIO 8 (SDI/SD1)
- I-GPIO 9 (SHD/SD2)
- I-GPIO 10 (SWP/SD3)
- I-GPIO 11 (CSC/CMD)
I-Capacitive touch GPIOs
I-ESP32 inezinzwa zokuthinta eziyi-10 ze-capacitive zangaphakathi. Lezi zingakwazi ukuzwa ukuhluka kunoma yini ephethe amandla kagesi, njengesikhumba somuntu. Ngakho-ke bangakwazi ukubona ukuhlukahluka okwenziwa lapho bethinta ama-GPIO ngomunwe. Lezi zikhonkwane zingahlanganiswa kalula kuma-capacitive pads futhi zishintshe izinkinobho zemishini. I-capacitive touch pin nayo ingasetshenziswa ukuvusa i-ESP32 ebuthongweni obujulile. Lezo zinzwa zokuthinta zangaphakathi zixhunywe kulawa ma-GPIO:
- I-T0 (GPIO 4)
- I-T1 (GPIO 0)
- I-T2 (GPIO 2)
- I-T3 (GPIO 15)
- I-T4 (GPIO 13)
- I-T5 (GPIO 12)
- I-T6 (GPIO 14)
- I-T7 (GPIO 27)
- I-T8 (GPIO 33)
- I-T9 (GPIO 32)
I-Analog kuya ku-Digital Converter (ADC)
I-ESP32 ineziteshi zokufaka zamabhithi angu-18 x 12 ze-ADC (kuyinkathi i-ESP8266 ine-1x 10 bits ADC kuphela). Lawa ama-GPIO angasetshenziswa njenge-ADC kanye neziteshi ezilandelayo:
- I-ADC1_CH0 (GPIO 36)
- I-ADC1_CH1 (GPIO 37)
- I-ADC1_CH2 (GPIO 38)
- I-ADC1_CH3 (GPIO 39)
- I-ADC1_CH4 (GPIO 32)
- I-ADC1_CH5 (GPIO 33)
- I-ADC1_CH6 (GPIO 34)
- I-ADC1_CH7 (GPIO 35)
- I-ADC2_CH0 (GPIO 4)
- I-ADC2_CH1 (GPIO 0)
- I-ADC2_CH2 (GPIO 2)
- I-ADC2_CH3 (GPIO 15)
- I-ADC2_CH4 (GPIO 13)
- I-ADC2_CH5 (GPIO 12)
- I-ADC2_CH6 (GPIO 14)
- I-ADC2_CH7 (GPIO 27)
- I-ADC2_CH8 (GPIO 25)
- I-ADC2_CH9 (GPIO 26)
Qaphela: Amaphini we-ADC2 awakwazi ukusetshenziswa uma kusetshenziswa i-Wi-Fi. Ngakho-ke, uma usebenzisa i-Wi-Fi futhi unenkinga yokuthola inani ku-ADC2 GPIO, ungase ucabange ukusebenzisa i-ADC1 GPIO esikhundleni salokho. Lokho kufanele kuxazulule inkinga yakho.
Iziteshi zokufaka ze-ADC zinokulungiswa okungu-12-bit. Lokhu kusho ukuthi ungathola ukufundwa kwe-analog kusuka ku-0 kuye ku-4095, lapho u-0 ehambisana no-0V no-4095 kuya ku-3.3V. Ungakwazi futhi ukusetha ukulungiswa kwamashaneli akho kukhodi kanye nobubanzi be-ADC.
Izikhonkwane ze-ESP32 ADC azinakho ukuziphatha okuqondile. Cishe ngeke ukwazi ukuhlukanisa phakathi kuka-0 no-0.1V, noma phakathi kuka-3.2 no-3.3V. Udinga ukukhumbula lokho lapho usebenzisa izikhonkwane ze-ADC. Uzothola ukuziphatha okufana nalokhu okuboniswe esithombeni esilandelayo.I-Digital kuya ku-Analog Converter (DAC)
Kunamashaneli e-DAC angu-2 x 8 bits ku-ESP32 okuguqula amasignali edijithali abe yi-analog vol.tage ukuphuma kwesignali. Lezi iziteshi ze-DAC:
- I-DAC1 (GPIO25)
- I-DAC2 (GPIO26)
Ama-RTC GPIOs
Kukhona ukwesekwa kwe-RTC GPIO ku-ESP32. Ama-GPIO ahanjiswe kusistimu engaphansi yamandla aphansi e-RTC angasetshenziswa uma i-ESP32 isobuthongo obujulile. Lawa ma-RTC GPIO angasetshenziswa ukuvusa i-ESP32 ebuthongweni obujulile lapho i-Ultra Low
I-Power (ULP) co-processor iyasebenza. Ama-GPIO alandelayo angasetshenziswa njengomthombo wangaphandle wokuvuka.
- 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)
I-PWM
Isilawuli se-ESP32 LED PWM sineziteshi ezizimele eziyi-16 ezingalungiselelwa ukukhiqiza amasiginali e-PWM anezici ezahlukahlukene. Zonke izikhonkwane ezingasebenza njengokuphumayo zingasetshenziswa njengezikhonkwane ze-PWM (ama-GPIO 34 kuya ku-39 awakwazi ukukhiqiza i-PWM).
Ukusetha isignali ye-PWM, udinga ukuchaza le mingcele kukhodi:
- Ukuvama kwesiginali;
- Duty umjikelezo;
- Isiteshi se-PWM;
- GPIO lapho ufuna ukukhipha khona isignali.
I-I2C
I-ESP32 ineziteshi ezimbili ze-I2C futhi noma iyiphi iphinikhodi ingasethwa njenge-SDA noma i-SCL. Uma usebenzisa i-ESP32 nge-Arduino IDE, izikhonkwane ze-I2C ezizenzakalelayo yilezi:
- I-GPIO 21 (SDA)
- I-GPIO 22 (SCL)
Uma ufuna ukusebenzisa ezinye izikhonkwane uma usebenzisa ilabhulali yezintambo, udinga nje ukushayela:
Wire.begin(SDA, SCL);
SPI
Ngokuzenzakalelayo, iphinikhodi yemephu ye-SPI ithi:
SPI | UMOSI | I-MISO | I-CLK | CS |
I-VSPI | I-GPIO 23 | I-GPIO 19 | I-GPIO 18 | I-GPIO 5 |
I-HSPI | I-GPIO 13 | I-GPIO 12 | I-GPIO 14 | I-GPIO 15 |
Iziphazamiso
Wonke ama-GPIO angacushwa njengeziphazamiso.
Izikhonkwane zokubopha
I-chip ye-ESP32 inalawa maphini okubopha alandelayo:
- I-GPIO 0 (kumele ibe PHANSI ukuze ufake imodi yokuqalisa)
- I-GPIO 2 (kufanele intante noma IPHANSI ngesikhathi sokuqalisa)
- I-GPIO 4
- I-GPIO 5 (kumele ibe PHEZULU ngesikhathi sokuqalisa)
- I-GPIO 12 (kufanele ibe LOW ngesikhathi sokuqalisa)
- I-GPIO 15 (kumele ibe PHEZULU ngesikhathi sokuqalisa)
Lezi zisetshenziselwa ukubeka i-ESP32 ku-bootloader noma imodi ekhanyayo. Kumabhodi amaningi okuthuthukisa ane-USB/Serial eyakhelwe ngaphakathi, awudingi ukukhathazeka ngesimo salawa maphini. Ibhodi libeka izikhonkwane esimweni esifanele sokukhanyisa noma imodi yokuqalisa. Ulwazi olwengeziwe mayelana Nokukhethwa Kwemodi Yokuqalisa ye-ESP32 ingatholakala lapha.
Nokho, uma unama-peripheral axhunywe kulawo maphini, ungase ube nenkinga yokuzama ukulayisha ikhodi entsha, ukukhanyisa i-ESP32 nge-firmware entsha, noma ukusetha kabusha ibhodi. Uma unama-peripheral axhunywe kumaphini wokubopha futhi uba nenkinga yokulayisha ikhodi noma ukukhanyisa i-ESP32, kungenzeka kungenxa yokuthi lawo ma-peripheral avimbela i-ESP32 ukuthi ingene kumodi efanele. Funda imibhalo Yokukhetha Imodi Yokuqalisa ukuze ikuqondise endleleni efanele. Ngemva kokusetha kabusha, ukucwayiza, noma ukuqalisa, lawo maphini asebenza ngendlela elindelekile.
Phina HIGH ku-Boot
Amanye ama-GPIO ashintsha isimo sawo siye ku-HIGH noma amasiginali e-PWM aphumayo lapho eqala noma esethwe kabusha.
Lokhu kusho ukuthi uma unokuphumayo okuxhumeke kulawa ma-GPIO ungathola imiphumela engalindelekile lapho i-ESP32 isetha kabusha noma iqala.
- I-GPIO 1
- I-GPIO 3
- I-GPIO 5
- I-GPIO 6 kuya ku-GPIO 11 (ixhunywe kwimemori ye-flash ye-ESP32 ehlanganisiwe ye-SPI - akunconywa ukuthi isetshenziswe).
- I-GPIO 14
- I-GPIO 15
Nika amandla (EN)
Ukunika amandla (EN) iphinikhodi yesilawuli se-3.3V sokuvumela. Idonsiwe, ngakho-ke xhuma phansi ukuze ukhubaze isilawuli se-3.3V. Lokhu kusho ukuthi ungasebenzisa le phinikhodi exhunywe kunkinobho yokucindezela ukuze uqale kabusha i-ESP32 yakho, ngokwesiboneloample.
I-GPIO yamanje edwetshiwe
Ubukhulu obuphelele obuphelele obutonyulwayo be-GPIO ngayinye ngu-40mA ngokwesigaba “Izimo Zokusebenza Ezinconyiwe” kumininingwane ye-ESP32.
I-ESP32 Inzwa Yomphumela Owakhelwe Ngaphakathi Ehholo
I-ESP32 futhi ifaka inzwa yomphumela wehholo eyakhelwe ngaphakathi ethola izinguquko endaweni kazibuthe endaweni eyizungezile
ESP32 Arduino IDE
Kunesengezo se-Arduino IDE esikuvumela ukuthi uhlele i-ESP32 usebenzisa i-Arduino IDE nolimi lwayo lokuhlela. Kulesi sifundo sizokukhombisa ukuthi ulifaka kanjani ibhodi le-ESP32 ku-Arduino IDE noma ngabe usebenzisa iWindows, Mac OS X noma i-Linux.
Okudingekayo: I-Arduino IDE ifakiwe
Ngaphambi kokuqala le nqubo yokufaka, udinga ukufaka i-Arduino IDE kukhompyutha yakho. Kunezinhlobo ezimbili ze-Arduino IDE ongazifaka: inguqulo 1 kanye nenguqulo 2.
Ungalanda futhi ufake i-Arduino IDE ngokuchofoza isixhumanisi esilandelayo: arduino.cc/en/Main/Software
Iyiphi inguqulo ye-Arduino IDE esiyincomayo? Okwamanje, kukhona plugins ye-ESP32 (njenge-SPIFFS FileI-Plugin Yomlayishi wesistimu) ezingakasekelwa okwamanje ku-Arduino 2. Ngakho, uma uhlose ukusebenzisa i-plugin ye-SPIFFS esikhathini esizayo, sincoma ukuthi ufake inguqulo yefa 1.8.X. Udinga nje ukuskrolela phansi ekhasini lesoftware ye-Arduino ukuze uyithole.
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Ukufaka ibhodi le-ESP32 ku-Arduino IDE yakho, landela le miyalo elandelayo:
- Ku-Arduino IDE yakho, yiya ku File> Izintandokazi
- Faka okulandelayo kokuthi “Umphathi Webhodi Owengeziwe URLs” inkambu:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Bese, chofoza inkinobho ethi "KULUNGILE":Qaphela: uma usunawo amabhodi we-ESP8266 URL, ungahlukanisa i URLs enokhefana kanje:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Vula Umphathi Wamabhodi. Iya kokuthi Amathuluzi > Ibhodi > Umphathi Wamabhodi...Cinga ESP32 and press install button for the “ESP32 by Espressif Systems“:
Yilokho kuphela. Kufanele ifakwe ngemva kwemizuzwana embalwa.
Layisha Ikhodi Yokuhlola
Xhuma ibhodi le-ESP32 kukhompyutha yakho. Njengoba i-Arduino IDE yakho ivuliwe, landela lezi zinyathelo:
- Khetha Ibhodi lakho kokuthi Amathuluzi > Imenyu Yebhodi (okwami i-ESP32 DEV Module)
- Khetha Imbobo (uma ungayiboni i-COM Port ku-IDE yakho ye-Arduino, udinga ukufaka i-CP210x USB ku-UART Bridge VCP Drivers):
- Vula i-ex elandelayoample ngaphansi File > Isibamples > WiFi
(ESP32) > WiFiScan - Umdwebo omusha uyavuleka ku-Arduino IDE yakho:
- Cindezela inkinobho ethi Layisha ku-Arduino IDE. Linda imizuzwana embalwa ngenkathi ikhodi ihlanganisa futhi ilayishwa ebhodini lakho.
- Uma konke kuhambe njengoba bekulindelekile, kufanele ubone okuthi "Qedile ukulayisha." umyalezo.
- Vula i-Arduino IDE Serial Monitor ngenani le-baud lika-115200:
- Cindezela inkinobho ye-ESP32 ebhodini Vumela futhi kufanele ubone amanethiwekhi atholakalayo eduze ne-ESP32 yakho:
Ukuxazulula inkinga
Uma uzama ukulayisha isikeshi esisha ku-ESP32 yakho bese uthola lo mlayezo wephutha “Kwenzeke iphutha elikhulu: Yehlulekile ukuxhuma ku-ESP32: Iphelelwe yisikhathi… Iyaxhuma…“. Kusho ukuthi i-ESP32 yakho ayikho kumodi ekhanyayo/yokulayisha.
Ukuba negama lebhodi elilungile kanye ne-COM ekhethiwe, landela lezi zinyathelo:
Cindezela phansi inkinobho ethi “BOOT” ebhodini lakho le-ESP32
- Cindezela inkinobho ethi "Layisha" ku-Arduino IDE ukuze ulayishe umdwebo wakho:
- Ngemva kokubona "Ixhuma ...". umyalezo ku-IDE yakho ye-Arduino, khulula umunwe enkinobho ethi "BOOT":
- Ngemuva kwalokho, kufanele ubone umlayezo othi "Qedile ukulayisha".
Yilokho kuphela. I-ESP32 yakho kufanele ibe nomdwebo omusha osebenzayo. Cindezela inkinobho ethi “NIKA AMANDLA” ukuze uqale kabusha i-ESP32 futhi uqalise umdwebo omusha olayishiwe.
Kuzodingeka futhi uphinde lokho kulandelana kwenkinobho njalo uma ufuna ukulayisha umdwebo omusha.
Okokufaka kwe-Project 1 ESP32
Kulo mhlahlandlela wokuqalisa uzofunda ukufunda okokufaka kwedijithali njengokushintshwa kwenkinobho nokulawula ukuphuma kwedijithali njenge-LED usebenzisa i-ESP32 ene-Arduino IDE.
Okudingekayo
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE. Ngakho-ke, qiniseka ukuthi ufake isengezo samabhodi we-ESP32 ngaphambi kokuqhubeka:
- Ifaka Isengezo se-ESP32 ku-Arduino IDE
I-ESP32 Lawula Okuphumayo Kwedijithali
Okokuqala, udinga ukusetha i-GPIO ofuna ukuyilawula njenge-OUTPUT. Sebenzisa i-pinMode() umsebenzi ngendlela elandelayo:
pinMode(GPIO, OUTPUT);
Ukuze ulawule okukhiphayo kwedijithali udinga nje ukusebenzisa umsebenzi we-digitalWrite(), owamukela njengezimpikiswano, i-GPIO (inombolo ye-int) obhekisela kuyo, kanye nesimo, OKUPHAKAMILE noma OKUPHANSI.
idijithaliWrite(GPIO, STATE);
Wonke ama-GPIO angasetshenziswa njengokuphumayo ngaphandle kwe-GPIOs 6 kuya ku-11 (exhunywe ku-SPI flash edidiyelwe) kanye nama-GPIOs 34, 35, 36 kanye nama-39 (ama-GPIOs kuphela);
Funda kabanzi mayelana ne-ESP32 GPIOs: ESP32 GPIO Reference Guide
I-ESP32 Funda Okokufaka Kwedijithali
Okokuqala, setha i-GPIO ofuna ukuyifunda njenge-INPUT, usebenzisa i-pinMode() umsebenzi ngale ndlela elandelayo:
pinMode(GPIO, INPUT);
Ukuze ufunde okokufaka kwedijithali, njengenkinobho, usebenzisa umsebenzi we-digitalRead(), owamukela njengokungqubuzana, i-GPIO (inombolo ye-int) obhekisela kuyo.
digitalRead(GPIO);
Wonke ama-ESP32 GPIO angasetshenziswa njengokufakwayo, ngaphandle kwe-GPIOs 6 kuya ku-11 (exhunywe ku-SPI flash edidiyelwe).
Funda kabanzi mayelana ne-ESP32 GPIOs: ESP32 GPIO Reference Guide
Iphrojekthi Example
Ukuze sikubonise ukuthi ungasebenzisa kanjani okokufaka kwedijithali nokuphumayo kwedijithali, sizokwakha i-ex yephrojekthi elulaample ngenkinobho yokusunduza kanye ne-LED. Sizofunda isimo senkinobho yokusunduza bese sikhanyisa i-LED ngokufanele njengoba kuboniswe esithombeni esilandelayo.
Izingxenye Ezidingekayo
Nalu uhlu lwezingxenye ozidingayo ukuze wakhe isekethe:
- I-ESP32 DEVKIT V1
- 5 mm LED
- 220 Ohm resistor
- I-Pushbutton
- 10k Ohm resistor
- Ibhodi lesinkwa
- Izintambo zokugxuma
Umdwebo wohlelo
Ngaphambi kokuqhubeka, udinga ukuhlanganisa isekethe nge-LED kanye ne-pushbutton.
Sizoxhuma i-LED ku-GPIO 5 kanye ne-pushbutton ku-GPIO 4.Ikhodi
Vula ikhodi Project_1_ESP32_Inputs_Outputs.ino ku-arduino IDEIndlela Ikhodi Esebenza Ngayo
Emigqeni emibili elandelayo, udala okuguquguqukayo ukuze ukwabele izikhonkwane:
Inkinobho ixhunywe ku-GPIO 4 futhi i-LED ixhunywe ku-GPIO 5. Uma usebenzisa i-Arduino IDE ne-ESP32, u-4 uhambisana ne-GPIO 4 futhi u-5 uhambisana ne-GPIO 5.
Okulandelayo, udala okuhlukile ukuze ubambe isimo senkinobho. Ngokuzenzakalelayo, ngu-0 (ayicindezelwe).
int buttonState = 0;
Ekusetheni(), uqalisa inkinobho njenge-INPUT, kanye ne-LED njenge-OUTPUT.
Ngokwenza lokho, usebenzisa umsebenzi we-pinMode() owamukela iphinikhodi okhuluma ngayo, kanye nemodi: INPUT noma OUTPUT.
pinMode(inkinobhoPin, INPUT);
pinMode(ledPin, OUTPUT);
Ku-loop() yilapho ufunda khona isimo senkinobho bese usetha i-LED ngokufanele.
Emugqeni olandelayo, ufunda isimo senkinobho bese usigcina ku-buttonState variable.
Njengoba sibonile ngaphambilini, usebenzisa umsebenzi we-digitalRead().
inkinobhoState = digitalRead(inkinobhoPin);
Okulandelayo uma isitatimende, kuhlola ukuthi isimo senkinobho SIPHEZULU. Uma kunjalo, ivula i-LED ekusebenziseni umsebenzi we-digitalWrite() owamukela njengengxabano i-ledPin, kanye nesimo esithi HIGH.
uma (inkinobhoState == PHEZULU)Uma isimo senkinobho singesona ESIPHAKEME, usetha i-LED. Vele usethe OKUPHANSI njengempikiswano yesibili kokuthi umsebenzi we-digitWrite() .
Ilayisha Ikhodi
Ngaphambi kokuchofoza inkinobho yokulayisha, iya kokuthi Amathuluzi > Ibhodi, bese ukhetha ibhodi :DOIT ESP32 DEVKIT V1 board.
Iya kokuthi Amathuluzi > Imbobo bese ukhetha imbobo ye-COM i-ESP32 exhunywe kuyo. Bese, cindezela inkinobho yokulayisha bese ulinda umlayezo othi "Qedile ukulayisha".Qaphela:Uma ubona amachashazi amaningi (axhumeka…__…__) efasiteleni lokulungisa iphutha kanye nomlayezo othi “Yehlulekile ukuxhuma ku-ESP32: Iphelelwe yisikhathi ilinde unhlokweni wephakethe”, lokho kusho ukuthi udinga ukucindezela inkinobho ye-ESP32 esebhodini ye-BOOT ngemva kwamachashazi.
qala ukuvela.Ukuxazulula inkinga
Umboniso
Ngemva kokulayisha ikhodi, hlola isifunda sakho. I-LED yakho kufanele ikhanyise uma ucindezela inkinobho yokuphusha:Bese uyivale uma uyikhulula:
Okokufaka kwe-Analog ye-Project 2 ESP32
Le phrojekthi ibonisa indlela yokufunda okokufaka kwe-analog nge-ESP32 usebenzisa i-Arduino IDE.
Ukufundwa kwe-analogi kuyasiza ukufunda amanani avela kuzilwi eziguquguqukayo njengama-potentiometer, noma izinzwa ze-analog.
Okokufaka kwe-Analog (ADC)
Ukufunda inani le-analog nge-ESP32 kusho ukuthi ungakwazi ukukala ivolumu ehlukahlukenetage amazinga aphakathi kuka-0 V no-3.3 V.
IVoltagU-e ube esenikezwa inani eliphakathi kuka-0 no-4095, lapho u-0 V ehambisana no-0, kanye no-3.3 V ehambisana no-4095. Noma iyiphi ivolumutage phakathi kuka-0 V kanye no-3.3 V izonikezwa inani elihambisanayo phakathi.I-ADC ayilayini
Ngokufanelekile, ungalindela ukuziphatha okuqondile lapho usebenzisa izikhonkwane ze-ESP32 ADC.
Nokho, lokho akwenzeki. Ozokuthola ukuziphatha njengoba kuboniswe eshadini elilandelayo:Lokhu kuziphatha kusho ukuthi i-ESP32 yakho ayikwazi ukuhlukanisa i-3.3 V ne-3.2 V.
Uzothola inani elifanayo kuwo womabili amavolumutagibe :4095.
Kwenzeka okufanayo ngevolumu ephansi kakhulutagamanani e-e: ku-0 V kanye no-0.1 V uzothola inani elifanayo: 0. Udinga ukukhumbula lokhu lapho usebenzisa izikhonkwane ze-ESP32 ADC.
I-analogRead() Umsebenzi
Ukufunda okokufaka kwe-analog nge-ESP32 usebenzisa i-Arduino IDE kulula njengokusebenzisa umsebenzi we-analogRead(). Yamukela njengengxabano, i-GPIO ofuna ukuyifunda:
i-analogRead(GPIO);
Ziyi-15 kuphela ezitholakala ku-DEVKIT V1board (inguqulo enama-GPIO angama-30).
Thatha iphinikhodi yakho yebhodi le-ESP32 futhi uthole izikhonkwane ze-ADC. Lokhu kugqanyiswe ngomngcele obomvu esithombeni esingezansi.Lezi zikhonkwane zokufaka ze-analog zinokulungiswa okungu-12-bit. Lokhu kusho ukuthi uma ufunda okokufaka kwe-analog, ububanzi bayo bungahluka ukusuka ku-0 kuye ku-4095.
Qaphela: Izikhonkwane ze-ADC2 azikwazi ukusetshenziswa uma kusetshenziswa i-Wi-Fi. Ngakho-ke, uma usebenzisa i-Wi-Fi futhi unenkinga yokuthola inani ku-ADC2 GPIO, ungase ucabange ukusebenzisa i-ADC1 GPIO esikhundleni salokho, lokho kufanele kuxazulule inkinga yakho.
Ukuze sibone ukuthi yonke into ihlangana kanjani, sizokwenza i-ex elulaample ukufunda inani le-analog kusuka ku-potentiometer.
Izingxenye Ezidingekayo
Kulokhu example, udinga izingxenye ezilandelayo:
- Ibhodi le-ESP32 DEVKIT V1
- I-Potentiometer
- Ibhodi lesinkwa
- Izintambo zokugxuma
Okuhlelekile
Xhuma i-potentiometer ku-ESP32 yakho. Iphinikhodi emaphakathi ye-potentiometer kufanele ixhunywe ku-GPIO 4. Ungasebenzisa umdwebo wohlelo olandelayo njengereferensi.Ikhodi
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka:(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Vula ikhodi Project_2_ESP32_Inputs_Outputs.ino ku-arduino IDELe khodi ivele ifunde amanani ku-potentiometer futhi iphrinte lawo manani ku-Serial Monitor.
Ekhodini, uqala ngokuchaza i-GPIO i-potentiometer exhunywe kuyo. Kulesi example, GPIO 4.Ekusetheni(), qalisa ukuxhumana kwe-serial ngenani le-baud elingu-115200.
Kuluphu(), sebenzisa umsebenzi we-analogRead() ukuze ufunde okokufaka kwe-analogi ku-potPin.
Okokugcina, phrinta amanani afundwe ku-potentiometer kusiqapha se-serial.
Layisha ikhodi enikezwe ku-ESP32 yakho. Qiniseka ukuthi unebhodi elilungile kanye nembobo ye-COM ekhethiwe kumenyu Yamathuluzi.
Ukuhlola i-Example
Ngemva kokulayisha ikhodi nokucindezela inkinobho yokusetha kabusha i-ESP32, vula i-Serial Monitor ngenani le-baud elingu-115200. Zungezisa i-potentiometer futhi ubone amanani eshintsha.Inani eliphakeme kakhulu ozolithola lingu-4095 futhi inani elincane ngu-0.
Esonga
Kulesi sihloko ufunde indlela yokufunda okokufaka kwe-analog usebenzisa i-ESP32 nge-Arduino IDE. Ngokufigqiwe:
- Ibhodi le-ESP32 DEVKIT V1 DOIT (inguqulo enamaphini angu-30) inamaphinikhodi angu-15 e-ADC ongawasebenzisa ukuze ufunde okokufaka kwe-analog.
- Lawa maphini anesinqumo samabhithi ayi-12, okusho ukuthi ungathola amanani ukusuka ku-0 kuye ku-4095.
- Ukuze ufunde inani ku-Arduino IDE, umane usebenzise umsebenzi we-analogRead().
- Izikhonkwane ze-ESP32 ADC azinakho ukuziphatha okuqondile. Cishe ngeke ukwazi ukuhlukanisa phakathi kuka-0 no-0.1V, noma phakathi kuka-3.2 no-3.3V. Udinga ukukhumbula lokho lapho usebenzisa izikhonkwane ze-ADC.
I-Project 3 ESP32 PWM(I-Analog Output)
Kulesi sifundo sizokukhombisa ukuthi uwenza kanjani amasiginali we-PWM nge-ESP32 usebenzisa i-Arduino IDE. Njengesiboneloample sizokwakha isifunda esilula esifiphalisa i-LED sisebenzisa isilawuli se-LED PWM se-ESP32.ESP32 LED PWM Isilawuli
I-ESP32 inesilawuli se-LED PWM esinamashaneli azimele ayi-16 angalungiselelwa ukukhiqiza amasignali e-PWM anezici ezahlukene.
Nazi izinyathelo okufanele uzilandele ukuze ufiphaze i-LED nge-PWM usebenzisa i-Arduino IDE:
- Okokuqala, udinga ukukhetha isiteshi se-PWM. Kuneziteshi eziyi-16 ukusuka ku-0 kuye ku-15.
- Bese, udinga ukusetha imvamisa yesiginali ye-PWM. Nge-LED, imvamisa engu-5000 Hz kulungile ukuyisebenzisa.
- Udinga futhi ukusetha ukulungiswa komjikelezo womsebenzi wesignali: unezinqumo ukusuka ku-1 kuya ku-16 bits. Sizosebenzisa ukulungiswa kwe-8-bit, okusho ukuthi ungakwazi ukulawula ukukhanya kwe-LED usebenzisa inani elisuka ku-0 ukuya ku-255.
- Okulandelayo, udinga ukucacisa ukuthi imaphi ama-GPIO noma ama-GPIO isiginali ezovela kuwo. Ukwenza lokho uzosebenzisa umsebenzi olandelayo:
ledcAttachPin(GPIO, channel)
Lo msebenzi wamukela ama-agumenti amabili. Eyokuqala yi-GPIO ezokhipha isignali, kanti eyesibili yisiteshi esizokhiqiza isignali. - Okokugcina, ukuze ulawule ukukhanya kwe-LED usebenzisa i-PWM, usebenzisa umsebenzi olandelayo:
I-ledcWrite(channel, dutycycle)
Lo msebenzi wamukela njengezimpikiswano isiteshi esikhiqiza isignali ye-PWM, kanye nomjikelezo womsebenzi.
Izingxenye Ezidingekayo
Ukuze ulandele lesi sifundo udinga lezi zingxenye:
- Ibhodi le-ESP32 DEVKIT V1
- 5mm LED
- 220 Ohm resistor
- Ibhodi lesinkwa
- Izintambo zokugxuma
Okuhlelekile
Xhuma i-LED ku-ESP32 yakho njengakumdwebo wesikimu olandelayo. I-LED kufanele ixhunywe ku-GPIO 4.Qaphela: ungasebenzisa noma iyiphi iphinikhodi oyifunayo, inqobo nje uma ingasebenza njengokuphumayo. Zonke izikhonkwane ezingasebenza njengokuphumayo zingasetshenziswa njengezikhonkwane ze-PWM. Ukuze uthole ulwazi olwengeziwe mayelana ne-ESP32 GPIOs, funda: I-ESP32 Pinout Reference: Yiziphi izikhonkwane ze-GPIO okufanele uzisebenzise?
Ikhodi
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka:(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Vula ikhodi Project_3_ESP32_PWM.ino ku-arduino IDEUqala ngokuchaza iphinikhodi i-LED enamathiselwe kuyo. Kulokhu i-LED inamathiselwe ku-GPIO 4.
Bese, usetha izakhiwo zesiginali ye-PWM. Uchaza imvamisa engu-5000 Hz, ukhethe isiteshi 0 ukuze ukhiqize isignali, futhi usethe ukulungiswa kwamabhithi angu-8. Ungakhetha ezinye izakhiwo, ezihlukile kunalezi, ukuze ukhiqize amasignali e-PWM ahlukene.
Ekusetheni(), udinga ukulungisa i-LED PWM kanye nezakhiwo ozichaze ngaphambilini ngokusebenzisa umsebenzi we-ledcSetup() owamukela njengezimpikiswano, i-ledChannel, imvamisa, kanye nesinqumo, kanje:
Okulandelayo, udinga ukukhetha i-GPIO ozothola kuyo isiginali. Kulokho sebenzisa umsebenzi we-ledcAttachPin() owamukela njengezingxabano i-GPIO lapho ufuna ukuthola khona isignali, kanye nesiteshi esikhiqiza isignali. Kulesi example, sizothola isignali ku-ledPin GPIO, ehambisana ne-GPIO 4. Isiteshi esikhiqiza isignali yi-ledChannel, ehambisana nesiteshi esingu-0.
Kuluphu, uzoshintsha umjikelezo womsebenzi phakathi kuka-0 no-255 ukuze ukhuphule ukukhanya kwe-LED.
Bese, phakathi kuka-255 no-0 ukunciphisa ukukhanya.
Ukuze usethe ukukhanya kwe-LED, udinga nje ukusebenzisa umsebenzi we-ledcWrite() owamukela njengezingxabano isiteshi esikhiqiza isiginali, kanye nomjikelezo womsebenzi.
Njengoba sisebenzisa ukulungiswa kwe-8-bit, umjikelezo wemisebenzi uzolawulwa kusetshenziswa inani elisuka ku-0 kuye ku-255. Qaphela ukuthi kumsebenzi we-ledcWrite() sisebenzisa isiteshi esikhiqiza isignali, hhayi i-GPIO.
Ukuhlola i-Example
Layisha ikhodi ku-ESP32 yakho. Qiniseka ukuthi unebhodi elifanele kanye nembobo ye-COM ekhethiwe. Bheka isifunda sakho. Kufanele ube ne-LED ekhanyayo ekhulisayo futhi enciphisa ukukhanya.
I-Project 4 ESP32 PIR Motion Sensor
Le phrojekthi ibonisa indlela yokuthola ukunyakaza nge-ESP32 kusetshenziswa inzwa yokunyakaza ye-PIR.I-buzzer izokhala i-alamu lapho ukunyakaza kutholwa, futhi imise i-alamu uma kungatholwa umnyakazo ngesikhathi esimisiwe (njengemizuzwana emi-4)
Isebenza kanjani i-HC-SR501 Motion Sensor
.Umgomo wokusebenza wenzwa ye-HC-SR501 usekelwe ekushintsheni kwemisebe ye-infrared entweni ehambayo.Ukuze itholwe inzwa ye-HC-SR501, into kufanele ihlangabezane nezimfuneko ezimbili:
- Into ikhipha indlela ye-infrared.
- Into iyanyakaza noma iyanyakaza
Ngakho:
Uma into ikhipha umsebe we-infrared kodwa Inganyakazi (isb., umuntu umile anganyakazi), AYItholwa inzwa.
Uma into ihamba kodwa AYIKHISHI umsebe we-infrared (isb, irobhothi noma imoto), AYIBONWA YInzwa.
Sethula Izibali-sikhathi
Kulesi exampsizophinde sethule izibali sikhathi. Sifuna ukuthi i-LED ihlale ivuliwe inombolo enqunywe kusengaphambili yamasekhondi ngemva kokutholwa kokunyakaza. Esikhundleni sokusebenzisa umsebenzi wokulibazisa () ovimba ikhodi yakho futhi ongakuvumeli ukuthi wenze noma yini enye inombolo enqunyiwe yamasekhondi, kufanele sisebenzise isibali sikhathi.Ukulibaziseka() umsebenzi
Kufanele ujwayelene nomsebenzi othi delay() njengoba usetshenziswa kakhulu. Lolu hlelo lokusebenza kulula ukuyisebenzisa. Yamukela inombolo ye-int eyodwa njengengxabano.
Le nombolo imele isikhathi ngama-millisecond uhlelo okufanele lulinde luze ludlulele emugqeni olandelayo wekhodi.Uma ulibala(1000) uhlelo lwakho luyama kulowo mugqa isekhondi elingu-1.
delay() wumsebenzi wokuvimbela. Ukuvimbela imisebenzi kuvimbela uhlelo ekwenzeni noma yini enye kuze kube yilapho lowo msebenzi othile usuqediwe. Uma udinga imisebenzi eminingi ukuthi yenzeke ngesikhathi esisodwa, awukwazi ukusebenzisa ukulibaziseka().
Kumaphrojekthi amaningi kufanele ukugweme ukusebenzisa ukubambezeleka futhi usebenzise izibali sikhathi esikhundleni salokho.
Umsebenzi we-millis().
Usebenzisa umsebenzi obizwa ngokuthi millis() ungabuyisela inombolo yama-millisecond adlulile kusukela uhlelo lwaqala.Kungani lowo msebenzi uwusizo? Ngoba ngokusebenzisa izibalo ezithile, ungaqinisekisa kalula ukuthi singakanani isikhathi esidlulile ngaphandle kokuvimba ikhodi yakho.
Izingxenye Ezidingekayo
Ukuze ulandele lesi sifundo udinga izingxenye ezilandelayo
- Ibhodi le-ESP32 DEVKIT V1
- Inzwa yokunyakaza ye-PIR (HC-SR501)
- I-Buzzer esebenzayo
- Izintambo zokugxuma
- Ibhodi lesinkwa
OkuhlelekileQaphela: Umthamo wokusebenzatagI-e ye-HC-SR501 ingu-5V. Sebenzisa iphinikhodi ye-Vin ukuze uyinike amandla.
Ikhodi
Ngaphambi kokuqhubeka nalesi sifundo kufanele ufake isengezo se-ESP32 ku-Arduino IDE yakho. Landela okokufundisa okulandelayo ukuze ufake i-ESP32 ku-Arduino IDE, uma ungakenzi.(Uma ususenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Vula ikhodi Project_4_ESP32_PIR_Motion_Sensor.ino ku-arduino IDE.
Umboniso
Layisha ikhodi ebhodini lakho le-ESP32. Qiniseka ukuthi unebhodi elifanele kanye nembobo ye-COM ekhethiwe.Layisha izinyathelo zereferensi yekhodi.
Vula i-Serial Monitor ngesilinganiso se-baud esingu-115200.Hambisa isandla sakho phambi kwenzwa ye-PIR. I-buzzer kufanele ivuleke, futhi umlayezo uphrintwe ku-Serial Monitor othi "Ukunyakaza kutholiwe! I-alamu yebhaza".
Ngemuva kwemizuzwana emi-4 i-buzzer kufanele ivale.
Iphrojekthi 5 ESP32 Shintsha Web Iseva
Kule phrojekthi uzodala ukuzimela web iseva ene-ESP32 elawula ukuphuma (ama-LED amabili) isebenzisa imvelo yokuhlela ye-Arduino IDE. I web iseva iyasabela kuselula futhi ingafinyelelwa nganoma iyiphi idivayisi enjengesiphequluli kunethiwekhi yendawo. Sizokubonisa indlela yokudala i- web iseva nokuthi ikhodi isebenza kanjani isinyathelo ngesinyathelo.
Iphrojekthi Iphelileview
Ngaphambi kokuya ngqo kuphrojekthi, kubalulekile ukusho ukuthi yini yethu web iseva izokwenza, ukuze kube lula ukulandela izinyathelo kamuva.
- I web iseva uzokwakha izilawuli ama-LED amabili axhunywe ku-ESP32 GPIO 26 kanye ne-GPIO 27;
- Ungakwazi ukufinyelela i-ESP32 web iseva ngokuthayipha ikheli le-IP le-ESP32 kusiphequluli kunethiwekhi yendawo;
- Ngokuchofoza izinkinobho kweyakho web iseva ungakwazi ukushintsha ngokushesha isimo se-LED ngayinye.
Izingxenye Ezidingekayo
Kulesi sifundo uzodinga izingxenye ezilandelayo:
- Ibhodi le-ESP32 DEVKIT V1
- 2x5mm LED
- 2x 200 Ohm resistor
- Ibhodi lesinkwa
- Izintambo zokugxuma
Okuhlelekile
Qala ngokwakha isifunda. Xhuma ama-LED amabili ku-ESP32 njengoba kukhonjisiwe kumdwebo wohlelo olandelayo - i-LED eyodwa exhunywe ku-GPIO 26, nenye ku-GPIO 27.
Qaphela: Sisebenzisa ibhodi le-ESP32 DEVKIT DOIT elinamaphini angu-36. Ngaphambi kokuhlanganisa isifunda, qiniseka ukuthi uhlola i-pinout yebhodi oyisebenzisayo.Ikhodi
Lapha sinikeza ikhodi edala i-ESP32 web iseva. Vula ikhodi Project_5_ESP32_Switch _Web_Server.ino ku-arduino IDE, kodwa ungayilayishi okwamanje. Udinga ukwenza izinguquko ezithile ukuze ikusebenzele.
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka:(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Ukusetha Imininingwane Yakho Yenethiwekhi
Udinga ukushintsha imigqa elandelayo ngemininingwane yenethiwekhi yakho: i-SSID nephasiwedi. Ikhodi iphawulwe kahle lapho kufanele wenze khona izinguquko.Ilayisha Ikhodi
Manje, ungalayisha ikhodi kanye ne- web iseva izosebenza ngokushesha.
Landela izinyathelo ezilandelayo ukuze ulayishe ikhodi ku-ESP32:
- Xhuma ibhodi lakho le-ESP32 kukhompyutha yakho;
- Ku-Arduino IDE khetha ibhodi lakho kokuthi Amathuluzi > Ibhodi (kithi sisebenzisa ibhodi le-ESP32 DEVKIT DOIT);
- Khetha imbobo ye-COM kokuthi Amathuluzi > Imbobo.
- Cindezela inkinobho ethi Layisha ku-Arduino IDE bese ulinda imizuzwana embalwa ngenkathi ikhodi ihlanganisa futhi ilayishwa ebhodini lakho.
- Linda umlayezo othi "Qedile ukulayisha".
Ukuthola Ikheli Le-IP le-ESP
Ngemuva kokulayisha ikhodi, vula i-Serial Monitor ngenani le-baud elingu-115200.Cindezela inkinobho ye-ESP32 EN (setha kabusha). I-ESP32 ixhuma ku-Wi-Fi, bese ikhipha ikheli le-ESP IP ku-Serial Monitor. Kopisha lelo kheli lasesizindeni se-inthanethi, ngoba uyalidinga ukuze ufinyelele i-ESP32 web iseva.
Ukufinyelela ku- Web Iseva
Ukuze ufinyelele i- web iseva, vula isiphequluli sakho, namathisela ikheli le-IP le-ESP32, futhi uzobona ikhasi elilandelayo.
Qaphela: Isiphequluli sakho ne-ESP32 kufanele zixhunywe ku-LAN efanayo.Uma ubheka i-Serial Monitor, ungabona ukuthi kwenzekani ngemuva. I-ESP ithola isicelo se-HTTP kuklayenti elisha (kulokhu, isiphequluli sakho).
Ungakwazi futhi ukubona olunye ulwazi mayelana nesicelo se-HTTP.
Umboniso
Manje ungahlola uma eyakho web iseva isebenza kahle. Chofoza izinkinobho ukuze ulawule ama-LED.Ngesikhathi esifanayo, ungabheka i-Serial Monitor ukuze ubone ukuthi kwenzakalani ngemuva. Okwesiboneloample, uma uchofoza inkinobho ukuze uvule i-GPIO 26, i-ESP32 ithola isicelo ku-/26/on URL.
Uma i-ESP32 ithola leso sicelo, ivula i-LED enamathiselwe ku-GPIO 26 ON futhi ibuyekeze isimo sayo web ikhasi.
Inkinobho ye-GPIO 27 isebenza ngendlela efanayo. Hlola ukuthi isebenza kahle yini.
Indlela Ikhodi Esebenza Ngayo
Kulesi sigaba sizobhekisisa ikhodi ukubona ukuthi isebenza kanjani.
Into yokuqala okudingeka uyenze ukufaka umtapo wezincwadi we-WiFi.Njengoba kushiwo ngaphambili, udinga ukufaka i-ssid yakho nephasiwedi emigqeni elandelayo ngaphakathi kwezingcaphuno ezimbili.
Bese, usetha eyakho web iseva ku-port 80.
Umugqa olandelayo udala okuhlukile ukuze kugcinwe unhlokweni wesicelo se-HTTP:
Okulandelayo, udala okuhlukile okungeziwe ukuze ugcine isimo samanje semiphumela yakho. Uma ufuna ukwengeza imiphumela eyengeziwe futhi ulondoloze isimo sayo, udinga ukudala okuguquguqukayo okwengeziwe.
Udinga futhi ukwabela i-GPIO kokuphumayo kwakho ngakunye. Lapha sisebenzisa i-GPIO 26 kanye ne-GPIO 27. Ungasebenzisa noma yimaphi amanye ama-GPIO afanelekile.
setup()
Manje, ake siye ekusetheni(). Okokuqala, siqala ukuxhumana kwe-serial ngenani le-baud elingu-115200 ngezinjongo zokususa iphutha.Futhi uchaza ama-GPIO akho NJENGOKUPHUMA futhi uwasethe kokuthi LOW.
Imigqa elandelayo iqala uxhumano lwe-Wi-Fi nge-WiFi.qala(i-ssid, iphasiwedi), linda uxhumano oluyimpumelelo bese uphrinta ikheli le-ESP IP ku-Serial Monitor.
iluphu()
Ku-loop() sihlela ukuthi kwenzekani uma iklayenti elisha lisungula uxhumano ne web iseva.
I-ESP32 ihlezi ilalele amaklayenti angenayo ngomugqa olandelayo:Uma isicelo sitholwa kuklayenti, sizolondoloza idatha engenayo. I-loop yesikhathi elandelayo izosebenza inqobo nje uma iklayenti lihlala lixhumekile. Asincomi ukushintsha ingxenye elandelayo yekhodi ngaphandle kwalapho wazi kahle ukuthi wenzani.
Isigaba esilandelayo sezitatimende zokuthi uma nokunye sihlola ukuthi iyiphi inkinobho ecindezelwe kweyakho web ikhasi, futhi ilawula okukhiphayo ngokufanele. Njengoba sibonile ngaphambilini, senza isicelo kokuhlukile URLs kuye ngokuthi inkinobho icindezelwe.
Okwesiboneloample, uma ucindezele inkinobho ye-GPIO 26 ON, i-ESP32 ithola isicelo ku-/26/ON URL (singabona ukuthi lolo lwazi kunhlokweni ye-HTTP ku-Serial Monitor). Ngakho-ke, singabheka ukuthi unhlokweni uqukethe yini inkulumo ethi GET /26/on. Uma iqukethe, sishintsha i-output26state variable ibe ON, futhi i-ESP32 ivula i-LED.
Lokhu kusebenza ngokufanayo kwezinye izinkinobho. Ngakho-ke, uma ufuna ukwengeza okuphumayo okwengeziwe, kufanele ulungise le ngxenye yekhodi ukuze uyifake.
Ibonisa i-HTML web ikhasi
Into elandelayo okudingeka uyenze, ukudala ifayela web ikhasi. I-ESP32 izothumela impendulo esipheqululini sakho ngekhodi ethile ye-HTML yokwakha web ikhasi.
I web ikhasi lithunyelwa kuklayenti kusetshenziswa le client.println(). Kufanele ufake lokho ofuna ukukuthumela eklayentini njengengxabano.
Into yokuqala okufanele siyithumele njalo iwumugqa olandelayo, okhombisa ukuthi sithumela i-HTML.Bese, umugqa olandelayo wenza i web ikhasi liyaphendula kunoma iyiphi web isiphequluli.
Futhi okulandelayo kusetshenziselwa ukuvimbela izicelo ku-favicon. – Awudingi ukukhathazeka ngalo mugqa.
Isitayela se- Web Ikhasi
Okulandelayo, sinombhalo we-CSS wokwenza isitayela izinkinobho kanye ne- web ukubukeka kwekhasi.
Sikhetha ifonti ye-Helvetica, sichaze okuqukethwe okufanele kuboniswe njengebhulokhi futhi kuqondaniswe phakathi nendawo.Sifaka isitayela izinkinobho zethu ngombala ongu-#4CAF50, ngaphandle komngcele, umbhalo ngombala omhlophe, futhi ngale padding: 16px 40px. Siphinde futhi simise ukuhlotshiswa kombhalo kungabi nalutho, sichaze usayizi wefonti, imajini, kanye nekhesa kusikhombisi.
Siphinde sichaze isitayela senkinobho yesibili, nazo zonke izici zenkinobho esizichaze ngaphambilini, kodwa ezinombala ohlukile. Lesi kuzoba yisitayela senkinobho yokuvala.
Ukusetha i Web Ikhasi Isihloko sokuqala
Emugqeni olandelayo ungasetha isihloko sokuqala sakho web ikhasi. Lapha sine-“ESP32 Web Iseva”, kodwa ungashintsha lo mbhalo ube noma yini oyithandayo.Ibonisa Izinkinobho Nesimo Esihambisanayo
Bese, ubhala isigaba ukuze ubonise isimo samanje se-GPIO 26. Njengoba ubona sisebenzisa i-output26State variable, ukuze isimo sibuyekeze ngokushesha lapho lokhu kushintsha kushintsha.Bese, siveza inkinobho yokuvula noma yokuvala, kuya ngesimo samanje se-GPIO. Uma isimo samanje se-GPIO sivaliwe, sibonisa inkinobho ethi ON, uma kungenjalo, sibonisa inkinobho ye-OFF.
Sisebenzisa inqubo efanayo ye-GPIO 27.
Ukuvala Ukuxhumana
Ekugcineni, lapho impendulo iphela, sisula okuguquguqukayo kwesihloko, bese simisa ukuxhumana neklayenti nge-client.stop().
Esonga
Kulesi sifundo sikubonise ukuthi ungakha kanjani i- web iseva nge-ESP32. Sikubonise i-ex elulaample elawula ama-LED amabili, kodwa umqondo uwukufaka esikhundleni salawo ma-LED ngesidluliseli, noma okunye okukhiphayo ofuna ukukulawula.
Iphrojekthi engu-6 RGB LED Web Iseva
Kule phrojekthi sizokukhombisa ukuthi ungayilawula kanjani ukude i-RGB LED ngebhodi le-ESP32 usebenzisa i- web iseva enesikhethi sombala.
Iphrojekthi Iphelileview
Ngaphambi kokuqala, ake sibone ukuthi le phrojekthi isebenza kanjani:
- Idatha ye-ESP32 web iseva ibonisa isikhethi sombala.
- Uma ukhetha umbala, isiphequluli sakho senza isicelo kokuthi URL equkethe amapharamitha u-R, G, no-B ombala okhethiwe.
- I-ESP32 yakho ithola isicelo futhi ihlukanise inani lepharamitha yombala ngamunye.
- Bese, ithumela isignali ye-PWM enenani elihambisanayo kuma-GPIO alawula i-RGB LED.
Asebenza kanjani ama-RGB LEDs?
Ku-common cathode RGB LED, womathathu ama-LED abelana ngoxhumano olunegethivu (i-cathode).Konke okufakwe kukhithi kuyi-common-cathode RGB.Indlela yokudala imibala ehlukene?
Nge-RGB LED ungakwazi, vele, ukukhiqiza ukukhanya okubomvu, okuluhlaza okotshani, nokuluhlaza, futhi ngokumisa ukuqina kwe-LED ngayinye, ungakwazi ukukhiqiza neminye imibala.
Okwesiboneloample, ukuze kukhiqizwe ukukhanya okuluhlaza okwesibhakabhaka, ungamisa i-LED eluhlaza okwesibhakabhaka ekushubeni okuphezulu kakhulu futhi ama-LED aluhlaza nabomvu abe ngamandla aphansi kakhulu. Ukuze uthole ukukhanya okumhlophe, ungasetha wonke ama-LED amathathu ukuthi aqine kakhulu.
Ukuxuba imibala
Ukuze ukhiqize eminye imibala, ungakwazi ukuhlanganisa imibala emithathu ngokuqina okuhlukene. Ukulungisa ukushuba kwe-LED ngayinye ungasebenzisa isignali ye-PWM.
Ngenxa yokuthi ama-LED asondelene kakhulu, amehlo ethu abona umphumela wokuhlanganiswa kwemibala, kunemibala emithathu ngayinye.
Ukuze ube nombono wokuthi ungahlanganisa kanjani imibala, bheka ishadi elilandelayo.
Leli yishadi elilula lokuhlanganisa imibala, kodwa likunikeza umbono wokuthi lisebenza kanjani nokuthi likhiqizwa kanjani imibala ehlukene.Izingxenye Ezidingekayo
Kule phrojekthi udinga izingxenye ezilandelayo:
- Ibhodi le-ESP32 DEVKIT V1
- I-RGB LED
- 3x 220 ohm resistors
- Izintambo zokugxuma
- Ibhodi lesinkwa
OkuhlelekileIkhodi
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka:(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
- Ifaka Isengezo se-ESP32 ku-Arduino IDE
Ngemva kokuhlanganisa isifunda, Vula ikhodi
Iphrojekthi_6_RGB_LED_Web_Server.ino ku-arduino IDE.
Ngaphambi kokulayisha ikhodi, ungakhohlwa ukufaka imininingwane yenethiwekhi yakho ukuze i-ESP ixhume kunethiwekhi yangakini.Isebenza kanjani ikhodi
Umdwebo we-ESP32 usebenzisa umtapo wezincwadi we-WiFi.h.Imigqa elandelayo ichaza izintambo eziguquguqukayo zokubamba amapharamitha u-R, G, no-B esicelweni.
Okuguquguqukayo okune okulandelayo kusetshenziselwa ukunquma isicelo se-HTTP ngokuhamba kwesikhathi.
Dala okuguquguqukayo okuthathu kwama-GPIO azolawula umugqa R, G, no-B amapharamitha. Kulokhu sisebenzisa i-GPIO 13, GPIO 12, ne-GPIO 14.
Lawa ma-GPIO adinga ukukhipha amasiginali we-PWM, ngakho-ke sidinga ukumisa izakhiwo ze-PWM kuqala. Setha imvamisa yesignali ye-PWM ibe ngu-5000 Hz. Bese, hlanganisa isiteshi se-PWM sombala ngamunye
Futhi ekugcineni, setha ukulungiswa kweziteshi ze-PWM ku-8-bit
Ekusetheni(), yabela izakhiwo ze-PWM eziteshini ze-PWM
Namathisela iziteshi ze-PWM kuma-GPIO ahambisanayo
Isigaba sekhodi esilandelayo sibonisa isikhethi sombala kweyakho web bese wenza isicelo ngokusekelwe embaleni owukhethile.
Uma ukhetha umbala, uthola isicelo esinefomethi elandelayo.
Ngakho-ke, sidinga ukuhlukanisa lolu chungechunge ukuze sithole amapharamitha u-R, G, no-B. Amapharamitha alondolozwe kokuguquguqukayo kwe-redString, greenString, kanye ne-blueString futhi angaba namanani phakathi kuka-0 no-255.Ukuze ulawule umucu nge-ESP32, sebenzisa umsebenzi we-ledcWrite() ukuze ukhiqize amasignali e-PWM ngamavelu akhishwe ku-HTTP. isicelo.
Qaphela: funda kabanzi mayelana ne-PWM nge-ESP32: Project 3 ESP32 PWM(Analog Output)
Ukulawula umugqa nge-ESP8266, sidinga nje ukusebenzisa
umsebenzi we-analogWrite() wokukhiqiza amasignali e-PWM ngamavelu akhishwe esicelweni se-HTPP.
i-analogBhala(redPin, redString.toInt());
i-analogBhala(greenPin, greenString.toInt());
i-analogBhala(bluePin, blueString.toInt())
Ngenxa yokuthi sithola amanani kuyunithi yezinhlamvu eguquguqukayo, sidinga ukuwaguqula abe izinombolo sisebenzisa indlela ye-toInt().
Umboniso
Ngemva kokufaka imininingwane yakho yenethiwekhi, khetha ibhodi elifanele kanye nembobo ye-COM bese ulayisha ikhodi ku-ESP32 yakho.Layisha izinyathelo zereferensi yekhodi.
Ngemva kokulayisha, vula i-Serial Monitor ngenani le-baud elingu-115200 bese ucindezela inkinobho ye-ESP Vumela/Setha kabusha. Kufanele uthole ikheli le-IP lebhodi.Vula isiphequluli sakho bese ufaka ikheli le-ESP IP. Manje, sebenzisa isikhethi sombala ukuze ukhethe umbala we-RGB LED.
Bese, udinga ukucindezela inkinobho ethi "Shintsha Umbala" ukuze umbala usebenze.Ukuze uvale i-RGB LED , khetha umbala omnyama.
Imibala enamandla kakhulu (phezulu kwesikhethi sombala), iyona ezoveza imiphumela engcono.
I-Project 7 ESP32 Relay Web Iseva
Ukusebenzisa i-relay nge-ESP32 kuyindlela enhle yokulawula izinto zikagesi zasendlini ze-AC ukude. Lesi sifundo sichaza ukuthi ungayilawula kanjani imojula edluliselwe nge-ESP32.
Sizobheka ukuthi imojula edluliselwe isebenza kanjani, indlela yokuxhuma i-relay ku-ESP32 futhi sakhe web iseva yokulawula i-relay ukude.
Sethula ama-Relay
I-relay iyiswishi esebenza ngogesi futhi njenganoma iyiphi enye iswishi, yona engavulwa noma ivalwe, ivumele i-current ukuthi idlule noma cha. Ingalawulwa ngevolumu ephansitages, njenge-3.3V enikezwe i-ESP32 GPIOs futhi isivumela ukuthi silawule ivolumu ephezulutagefana ne-12V, 24V noma ama-mains voltage (230V eYurophu kanye ne-120V e-US).Ngakwesokunxele, kukhona amasethi amabili amasokhethi amathathu ukuxhuma ivolumu ephezulutages, nezikhonkwane ezingakwesokudla (low-voltage) xhuma kuma-ESP32 GPIO.
I-Mains Voltage UkuxhumaImojula edluliselwe ekhonjiswe esithombeni esandulele inezixhumi ezimbili, ngayinye inamasokhethi amathathu: evamile (COM), Ivalwe Ngokujwayelekile (NC), kanye ne- Normally Open (NO).
- COM: xhuma isimanje ofuna ukusilawula (ama-mains voltagfuthi).
- I-NC (Ivalwe Ngokujwayelekile): ukucushwa okuvamise ukuvalwa kusetshenziswa uma ufuna ukudluliswa kwemali kuvalwe ngokuzenzakalelayo. Ama-NC amaphini e-COM axhunyiwe, okusho ukuthi owamanje uyageleza ngaphandle uma uthumela isignali ukusuka ku-ESP32 ukuya kumojula yokudlulisela ukuze uvule isekethe futhi umise ukugeleza kwamanje.
- CHA (Ngokujwayelekile Vula): ukucushwa okuvamise ukuvuleka kusebenza ngenye indlela: akukho ukuxhumana phakathi kwezikhonkwane ze-NO kanye ne-COM, ngakho-ke isekethe iphukile ngaphandle kokuthi uthumele isignali evela ku-ESP32 ukuze uvale isekethe.
Izikhonkwane zokulawulaI-low-voltagUhlangothi lwe-e luneqoqo lezikhonkwane ezine kanye nesethi yezikhonkwane ezintathu. Isethi yokuqala iqukethe i-VCC ne-GND ukuze ifake amandla imojuli, kanye nokufaka u-1 (IN1) nokokufaka 2 (IN2) ukuze ulawule ama-relay angaphansi nangaphezulu, ngokulandelana.
Uma imojula yakho edluliswayo inesiteshi esisodwa kuphela, uzoba nephinikhodi eyodwa nje KU-IN. Uma uneziteshi ezine, uzoba namaphini angu-IN amane, njalo njalo.
Isignali oyithumela kumaphini angu-IN, inquma ukuthi i-relay iyasebenza noma cha. I-relay iqalwa lapho okokufaka kuhamba ngaphansi cishe kwe-2V. Lokhu kusho ukuthi uzoba nezimo ezilandelayo:
- Ukucushwa Okuvamise Ukuvalwa (NC):
- Isignali EPHAKEME - yamanje iyageleza
- Isignali EPHANSI – yamanje ayigelezi
- Ukucushwa okuvamise ukuthi kuvulwe (CHA):
- Isignali EPHAKEME – yamanje ayigelezi
- Isignali EPHANSI – egelezayo yamanje
Kufanele usebenzise ukulungiselelwa okuvamise ukuvala lapho i-curse kufanele igeleze izikhathi eziningi, futhi ufuna ukuyimisa ngezikhathi ezithile.
Sebenzisa ukumisa okuvamise ukuvuleka uma ufuna okwamanje ukuthi kugeleze ngezikhathi ezithile (isibample, vula alamp ngezikhathi ezithile).
Ukukhetha Ukunikezwa AmandlaIsethi yesibili yezikhonkwane iqukethe amaphinikhodi e-GND, VCC, kanye ne-JD-VCC.
Iphinikhodi ye-JD-VCC inika amandla kazibuthe we-relay. Qaphela ukuthi imojula ine-jumper cap exhuma izikhonkwane ze-VCC ne-JD-VCC; eboniswe lapha iphuzi, kodwa eyakho ingase ibe nombala ohlukile.
Njengoba i-jumper cap ivuliwe, izikhonkwane ze-VCC ne-JD-VCC zixhunyiwe. Lokho kusho ukuthi i-electromagnetic relay inikwa amandla ngokuqondile iphinikhodi yamandla ye-ESP32, ngakho-ke imojula yokudlulisela kanye namasekhethi e-ESP32 awahlukanisiwe ngokwenyama.
Ngaphandle kwesivalo se-jumper, udinga ukunikeza umthombo wamandla ozimele ukuze unike amandla kazibuthe we-relay ngokusebenzisa iphinikhodi ye-JD-VCC. Lokho kumiswa kuhlukanisa ngokoqobo ama-relay kusukela ku-ESP32 nge-optocouupler yemojuli eyakhelwe ngaphakathi, evimbela ukulimala ku-ESP32 uma kuba nezipikhi zikagesi.
OkuhlelekileIsexwayiso: Ukusetshenziswa kwevolumu ephezulutagIzinsiza zikagesi zingadala ukulimala okubi.
Ngakho-ke, kusetshenziswa ama-LED angu-5mm esikhundleni se-voltage ephezulutagama-e ekuhlolweni. Uma ungawazi ama-mains voltagngicela umuntu ozokusiza. Ngenkathi uhlela i-ESP noma ufaka izintambo isekethe yakho qiniseka ukuthi yonke into inqanyuliwe kuma-mains voltage.Ifaka Ilabhulali ye-ESP32
Ukwakha lokhu web iseva, sisebenzisa i-ESPAsyncWebUmtapo wolwazi weseva kanye ne-AsyncTCP Library.
Ifaka i-ESPAsyncWebUmtapo wolwazi weseva
Landela izinyathelo ezilandelayo ukuze ufake i- ESPAsyncWebIseva umtapo wolwazi:
- Chofoza lapha ukuze ulande i-ESPAsyncWebUmtapo wolwazi weseva. Kufanele ube nakho
ifolda ye-zip kufolda yakho yokulandiwe - Vula ifolda ye-.zip futhi kufanele uthole i-ESPAsyncWebIfolda eyinhloko yeseva
- Qamba kabusha ifolda yakho ukusuka ku-ESPAsyncWebI-server-master kuya ku-ESPAsyncWebIseva
- Hambisa i-ESPAsyncWebIfolda yeseva kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
Kungenjalo, ku-Arduino IDE yakho, ungaya ku-Sketch> Faka
Umtapo wolwazi > Engeza umtapo wezincwadi we-ZIP… bese ukhetha umtapo wolwazi osanda kuwulanda.
Ifaka i-AsyncTCP Library ye-ESP32
I ESPAsyncWebIseva umtapo wolwazi udinga i I-AsyncTCP umtapo wolwazi ukuze usebenze. Landela
izinyathelo ezilandelayo zokufaka leyo labhulali:
- Chofoza lapha ukuze ulande umtapo wezincwadi we-AsyncTCP. Kufanele ube nefolda ye-.zip kufolda yakho yokulandiwe
- Vula ifolda ye-.zip futhi kufanele uthole ifolda eyinhloko ye-AsyncTCP
1. Qamba kabusha ifolda yakho ukusuka ku-AsyncTCP-master kuya ku-AsyncTCP
3. Hambisa ifolda ye-AsyncTCP kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
4. Ekugcineni, vula kabusha i-Arduino IDE yakho
Kungenjalo, ku-Arduino IDE yakho, ungaya ku-Sketch> Faka
Umtapo wolwazi > Engeza umtapo wezincwadi we-ZIP… bese ukhetha umtapo wolwazi osanda kuwulanda.
Ikhodi
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka:(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Ngemva kokufaka imitapo yolwazi edingekayo, Vula ikhodi Project_7_ESP32_Relay_Web_Server.ino ku-arduino IDE.
Ngaphambi kokulayisha ikhodi, ungakhohlwa ukufaka imininingwane yenethiwekhi yakho ukuze i-ESP ixhume kunethiwekhi yangakini.Umboniso
Ngemva kokwenza izinguquko ezidingekayo, layisha ikhodi ku-ESP32 yakho.Layisha izinyathelo zereferensi yekhodi.
Vula i-Serial Monitor ngenani elibi lika-115200 bese ucindezela inkinobho ethi ESP32 EN ukuze uthole ikheli layo le-IP. Bese, vula isiphequluli kunethiwekhi yangakini bese uthayipha ikheli le-IP le-ESP32 ukuze uthole ukufinyelela web iseva.
Vula i-Serial Monitor ngenani elibi lika-115200 bese ucindezela inkinobho ethi ESP32 EN ukuze uthole ikheli layo le-IP. Bese, vula isiphequluli kunethiwekhi yangakini bese uthayipha ikheli le-IP le-ESP32 ukuze uthole ukufinyelela web iseva.Qaphela: Isiphequluli sakho ne-ESP32 kufanele zixhunywe ku-LAN efanayo.
Kufanele uthole okuthile ngale ndlela ngezinkinobho ezimbili njengenombolo yokudlulisa oyichaze kukhodi yakho.Manje, ungasebenzisa izinkinobho ukulawula ukudluliselwa kwakho usebenzisa i-smartphone yakho.
Project_8_Output_State_Synchronization_ Web_Iseva
Le phrojekthi ikhombisa ukuthi ungayilawula kanjani imiphumela ye-ESP32 noma ye-ESP8266 usebenzisa i web iseva kanye nenkinobho ebonakalayo kanyekanye. Isimo sokukhishwayo sibuyekezwa ku- web ikhasi noma ngabe lishintshwa ngenkinobho ebonakalayo noma web iseva.
Iphrojekthi Iphelileview
Ake sibheke ngokushesha ukuthi iphrojekthi isebenza kanjani.I-ESP32 noma i-ESP8266 isingatha a web iseva ekuvumela ukuthi ulawule isimo sokuphumayo;
- Isimo samanje sokuphumayo siboniswa ku- web iseva;
- I-ESP iphinde ixhunywe kunkinobho yokuphusha ngokomzimba elawula okukhiphayo okufanayo;
- Uma ushintsha isimo sokuphumayo usebenzisa i-puhsbutton ebonakalayo, isimo sayo samanje sibuyekezwa ku- web iseva.
Kafushane, le phrojekthi ikuvumela ukuthi ulawule okukhiphayo okufanayo usebenzisa i-a web iseva kanye nenkinobho yokucindezela kanyekanye. Noma nini lapho isimo sokuphuma sishintsha, i web iseva ibuyekeziwe.
Izingxenye Ezidingekayo
Nalu uhlu lwezingxenye ozidingayo ukuze wakhe isekethe:
- Ibhodi le-ESP32 DEVKIT V1
- 5 mm LED
- 220Ohm resistor
- I-Pushbutton
- 10k Ohm resistor
- Ibhodi lesinkwa
- Izintambo zokugxuma
OkuhlelekileIfaka Ilabhulali ye-ESP32
Ukwakha lokhu web iseva, sisebenzisa i-ESPAsyncWebUmtapo wolwazi weseva ne-AsyncTCP Library.(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka i-ESPAsyncWebUmtapo wolwazi weseva
Landela izinyathelo ezilandelayo ukuze ufake i-ESPAsyncWebUmtapo wolwazi weseva:
- Chofoza lapha ukuze ulande i-ESPAsyncWebUmtapo wolwazi weseva. Kufanele ube nakho
ifolda ye-zip kufolda yakho yokulandiwe - Vula ifolda ye-.zip futhi kufanele uthole i-ESPAsyncWebIfolda eyinhloko yeseva
- Qamba kabusha ifolda yakho ukusuka ku-ESPAsyncWebI-server-master kuya ku-ESPAsyncWebIseva
- Hambisa i-ESPAsyncWebIfolda yeseva kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
Kungenjalo, ku-Arduino IDE yakho, ungaya ku-Sketch> Faka
Umtapo wolwazi > Engeza umtapo wezincwadi we-ZIP… bese ukhetha umtapo wolwazi osanda kuwulanda.
Ifaka i-AsyncTCP Library ye-ESP32
I-ESPAsyncWebUmtapo wolwazi weseva udinga umtapo wezincwadi we-AsyncTCP ukuze usebenze. Landela izinyathelo ezilandelayo ukuze ufake leyo mtapo:
- Chofoza lapha ukuze ulande umtapo wezincwadi we-AsyncTCP. Kufanele ube nefolda ye-.zip kufolda yakho yokulandiwe
- Vula ifolda ye-.zip futhi kufanele uthole ifolda eyinhloko ye-AsyncTCP
- Qamba kabusha ifolda yakho ukusuka ku-AsyncTCP-master kuya ku-AsyncTCP
- Hambisa ifolda ye-AsyncTCP kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
- Ekugcineni, vula kabusha i-Arduino IDE yakho
Kungenjalo, ku-Arduino IDE yakho, ungaya ku-Sketch> Faka
Umtapo wolwazi > Engeza umtapo wezincwadi we-ZIP… bese ukhetha umtapo wolwazi osanda kuwulanda.
Ikhodi
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka:(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Ngemva kokufaka imitapo yolwazi edingekayo, Vula ikhodi
Project_8_Output_State_Synchronization_Web_Server.ino ku-arduino IDE.
Ngaphambi kokulayisha ikhodi, ungakhohlwa ukufaka imininingwane yenethiwekhi yakho ukuze i-ESP ixhume kunethiwekhi yangakini.
Indlela Ikhodi Esebenza Ngayo
Isimo Senkinobho kanye Nesimo Sokukhiphayo
Ukuhluka kwe-ledState kubambe isimo sokuphuma kwe-LED. Ngokuzenzakalelayo, lapho i- web iseva iyaqala, IPHANSI.
I-buttonState ne-lastButtonState zisetshenziselwa ukuthola ukuthi inkinobho yokusunduza ibicindezelwe yini noma cha.Inkinobho (web iseva)
Asizange siyifake i-HTML ukuze sidale inkinobho kokuhluka kwe-index_html.
Lokho kungenxa yokuthi sifuna ukukwazi ukuyishintsha kuye ngesimo samanje se-LED esingashintshwa nenkinobho yokuphusha.
Ngakho-ke, sidale isimeli senkinobho %BUTTONPLACEHOLDER% ezothathelwa indawo umbhalo we-HTML ukuze udale inkinobho kamuva ekhodini (lokhu kwenziwa kumsebenzi we-processor()).iphrosesa()
Umsebenzi we-processor() uthatha indawo yanoma yiziphi izibambindawo embhalweni we-HTML ngamavelu angempela. Okokuqala, ihlola ukuthi imibhalo ye-HTML iqukethe yini
izimeli %BUTTONPLACEHOLDER%.Bese, shayela umsebenzi we-theoutputState() obuyisela isimo samanje sokuphumayo. Siyigcina kokuguquguqukayo kwe-outputStateValue.
Ngemva kwalokho, sebenzisa lelo nani ukuze udale umbhalo we-HTML ukuze ubonise inkinobho enesimo esifanele:
Isicelo se-HTTP GET Sokushintsha Isimo Sokuphuma (JavaScript)
Uma ucindezela inkinobho, umsebenzi we-thetoggleCheckbox() ubizwa. Lo msebenzi uzokwenza isicelo kokuhlukile URLs ukuvula noma ukuvala i-LED.Ukuze uvule i-LED, yenza isicelo kokuthi/update?state=1 URL:
Uma kungenjalo, yenza isicelo ku-/update?state=0 URL.
Isicelo se-HTTP GET Sokuvuselela Isimo (JavaScript)
Ukuze ugcine isimo sokuphuma sibuyekeziwe ku- web iseva, sibiza umsebenzi olandelayo owenza isicelo esisha ku-/state URL njalo ngomzuzwana.Phatha Izicelo
Bese, sidinga ukuphatha okwenzekayo lapho i-ESP32 noma i-ESP8266 ithola izicelo kulezo URLs.
Lapho isicelo sitholwa ezimpandeni /URL, sithumela ikhasi le-HTML kanye nephrosesa.Imigqa elandelayo ihlola ukuthi usitholile yini isicelo ku-/update?state=1 noma /update?state=0 URL futhi ishintsha i-ledState ngokufanele.
Uma isicelo sitholwa ku-/isifunda URL, sithumela isimo samanje sokuphumayo:
iluphu()
Kuluphu(), sinqamula inkinobho yokusunduza bese sivula noma sivale i-LED kuye ngenani le-ledState. okuguquguqukayo.Umboniso
Layisha ikhodi ebhodini lakho le-ESP32. Layisha izinyathelo zereferensi yekhodi.
Bese, vula i-Serial Monitor ngenani le-baud elingu-115200. Cindezela inkinobho ethi EN/RST esebhodini ukuze uthole ikheli lasesizindeni se-inthanethi.Vula isiphequluli kunethiwekhi yangakini, bese uthayipha ikheli le-ESP IP. Kufanele ube nokufinyelela ku- web iseva njengoba kukhonjisiwe ngezansi.
Qaphela: Isiphequluli sakho ne-ESP32 kufanele zixhunywe ku-LAN efanayo.Ungakwazi ukuguqula inkinobho ku- web iseva ukuze uvule i-LED.
Ungakwazi futhi ukulawula i-LED efanayo nge-pushbutton ebonakalayo. Isimo sayo sizohlala sibuyekezwa ngokuzenzakalelayo ku- web iseva.
Iphrojekthi 9 ESP32 DHT11 Web Iseva
Kule phrojekthi, uzofunda indlela yokwakha i-ESP32 engavumelaniyo web iseva ene-DHT11 ebonisa izinga lokushisa nokuswakama kusetshenziswa i-Arduino IDE.
Okudingekayo
I web iseva sizokwakha ibuyekeza ukufundwa ngokuzenzakalelayo ngaphandle kwesidingo sokuvuselela web ikhasi.
Ngale phrojekthi uzofunda:
- Ungawafunda kanjani izinga lokushisa nomswakama ovela kuzinzwa ze-DHT;
- Yakha i-asynchronous web iseva usebenzisa i ESPAsyncWebUmtapo wolwazi weseva;
- Buyekeza ukufundwa kwenzwa ngokuzenzakalela ngaphandle kwesidingo sokuvuselela web ikhasi.
Asynchronous Web Iseva
Ukwakha i web iseva sizosebenzisa i ESPAsyncWebUmtapo wolwazi weseva enikeza indlela elula yokwakha i-asynchronous web iseva. Ukwakha i-asynchronous web iseva ine-advan embalwatagnjengoba kushiwo ekhasini le-GitHub lomtapo, njengokuthi:
- “Phatha ukuxhumana okungaphezu kokukodwa ngesikhathi esisodwa”;
- “Uma uthumela impendulo, usuke usulungele ngokushesha ukuphatha okunye ukuxhumana ngenkathi iseva inakekela ukuthumela impendulo ngemuva”;
- “Injini yokucubungula isifanekiso elula yokusingatha izifanekiso”;
Izingxenye Ezidingekayo
Ukuze uqedele lesi sifundo udinga izingxenye ezilandelayo:
- Ibhodi lokuthuthukiswa kwe-ESP32
- Idatha ye-DHT11
- Ibhodi lesinkwa
- Izintambo zokugxuma
OkuhlelekileIfaka Amalabhulali
Udinga ukufaka imitapo yolwazi embalwa yale phrojekthi:
- I I-DHT kanye ne Inzwa Ehlanganisiwe ye-Adafruit Amalabhulali omshayeli ongawafunda kunzwa ye-DHT.
- ESPAsyncWebIseva futhi I-Async TCP imitapo yolwazi ukwakha i-asynchronous web iseva.
Landela imiyalelo elandelayo ukuze ufake lawo malayibhulali:
Ifaka Ilabhulali Yenzwa ye-DHT
Ukuze ufunde kusukela kunzwa ye-DHT usebenzisa i-Arduino IDE, udinga ukufaka i Ilabhulali yezinzwa ze-DHT. Landela izinyathelo ezilandelayo ukuze ufake umtapo wolwazi.
- Chofoza lapha ukuze ulande ilabhulali Yenzwa ye-DHT. Kufanele ube nefolda ye-.zip kufolda yakho yokulandiwe
- Vula ifolda ye-.zip futhi kufanele uthole ifolda ye-DHT-sensor-library-master
- Qamba kabusha ifolda yakho ukusuka ku-DHT-sensor-library-master kuya ku-DHT_sensor
- Hambisa ifolda ye-DHT_sensor kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
- Ekugcineni, vula kabusha i-Arduino IDE yakho
Ifaka i-Adafruit Unified Sensor Driver
Udinga futhi ukufaka i Ilabhulali ye-Adafruit Unified Sensor Driver ukusebenza nenzwa ye-DHT. Landela izinyathelo ezilandelayo ukuze ufake umtapo wolwazi.
- Chofoza lapha ukuze ulande ilabhulali ye-Adafruit Unified Sensor. Kufanele ube nefolda ye-.zip kufolda yakho yokulandiwe
- Vula ifolda ye-.zip futhi kufanele uthole ifolda ye-Adafruit_sensor-master
- Qamba kabusha ifolda yakho ukusuka ku-Adafruit_sensor-master kuya ku-Adafruit_sensor
- Hambisa ifolda ye-Adafruit_sensor kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
- Ekugcineni, vula kabusha i-Arduino IDE yakho
Ifaka i-ESPAsyncWebUmtapo wolwazi weseva
Landela izinyathelo ezilandelayo ukuze ufake i- ESPAsyncWebIseva umtapo wolwazi:
- Chofoza lapha ukuze ulande i-ESPAsyncWebUmtapo wolwazi weseva. Kufanele ube nakho
ifolda ye-zip kufolda yakho yokulandiwe - Vula ifolda ye-.zip futhi kufanele
thola i-ESPAsyncWebIfolda eyinhloko yeseva - Qamba kabusha ifolda yakho ukusuka ku-ESPAsyncWebI-server-master kuya ku-ESPAsyncWebIseva
- Hambisa i-ESPAsyncWebIfolda yeseva kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
Ifaka i-Async TCP Library ye-ESP32
I ESPAsyncWebIseva umtapo wolwazi udinga i I-AsyncTCP umtapo wolwazi ukuze usebenze. Landela izinyathelo ezilandelayo ukuze ufake leyo mtapo:
- Chofoza lapha ukuze ulande umtapo wezincwadi we-AsyncTCP. Kufanele ube nefolda ye-.zip kufolda yakho yokulandiwe
- Vula ifolda ye-.zip futhi kufanele uthole ifolda eyinhloko ye-AsyncTCP
- Qamba kabusha ifolda yakho ukusuka ku-AsyncTCP-master kuya ku-AsyncTCP
- Hambisa ifolda ye-AsyncTCP kufolda yemitapo yolwazi yokufaka ye-Arduino IDE
- Ekugcineni, vula kabusha i-Arduino IDE yakho
Ikhodi
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka:(Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDE
Ngemva kokufaka imitapo yolwazi edingekayo, Vula ikhodi
Iphrojekthi_9_ESP32_DHT11_Web_Server.ino ku-arduino IDE.
Ngaphambi kokulayisha ikhodi, ungakhohlwa ukufaka imininingwane yenethiwekhi yakho ukuze i-ESP ixhume kunethiwekhi yangakini.Indlela Ikhodi Esebenza Ngayo
Ezigabeni ezilandelayo sizochaza ukuthi ikhodi isebenza kanjani. Qhubeka ufunda uma ufuna ukufunda okwengeziwe noma weqela engxenyeni ethi Ukubonisa ukuze ubone umphumela wokugcina.
Ingenisa imitapo yolwazi
Okokuqala, ngenisa imitapo yolwazi edingekayo. I-WiFi, ESPAsyncWebIseva kanye ne-ESPAsyncTCP ziyadingeka ukwakha i- web iseva. I-Adafruit_Sensor kanye nemitapo yolwazi ye-DHT iyadingeka ukuze kufundwe kuzinzwa ze-DHT11 noma ze-DHT22.Incazelo yokuguquguquka
Chaza i-GPIO okuxhunywe kuyo iphinikhodi yedatha ye-DHT. Kulokhu, ixhunywe ku-GPIO 4.Bese, khetha uhlobo lwenzwa ye-DHT oyisebenzisayo. Ku-ex yethuample, sisebenzisa i-DHT22. Uma usebenzisa olunye uhlobo, udinga nje ukukhulula inzwa yakho futhi ubeke amazwana kuzo zonke ezinye.
Qinisekisa into ye-DHT ngohlobo nephinikhodi esikuchaze ngaphambilini.Dala i-AsyncWebInto yeseva ku-port 80.
Funda Imisebenzi Yezinga Lokushisa Nomswakama
Senze imisebenzi emibili: eyokufunda izinga lokushisa Sidale imisebenzi emibili: eyokufunda izinga lokushisa (readDHTEmperature()) kanye neyokufunda umswakama (readDHTHumidity()).Ukuthola ukufundwa kwezinzwa kulula njengokuthi Ukuthola ukufundwa kwezinzwa kulula njengokusebenzisa izindlela ze-readTemperature() kanye ne-readHumidity()entweni ye-dht.
Siphinde sibe nesimo esibuyisela odeshi ababili (–) uma kwenzeka inzwa yehluleka ukuthola ukufundwa.
Ukufundwa kubuyiselwa njengohlobo lweyunithi yezinhlamvu. Ukuguqula ukuntanta kube iyunithi yezinhlamvu, sebenzisa umsebenzi we-String().
Ngokuzenzakalelayo, sifunda izinga lokushisa ngamadigri Celsius. Ukuze uthole izinga lokushisa ngamadigri angu-Fahrenheit, phawula ngezinga lokushisa eliku-Celsius futhi ukhulule izinga lokushisa elingu-Fahrenheit, ukuze ube nokulandelayo:
Layisha Ikhodi
Manje, layisha ikhodi ku-ESP32 yakho. Qiniseka ukuthi unebhodi elifanele kanye nembobo ye-COM ekhethiwe.Layisha izinyathelo zereferensi yekhodi.
Ngemva kokulayisha, vula i-Serial Monitor ngenani le-baud elingu-115200. Cindezela inkinobho yokusetha kabusha i-ESP32. Ikheli le-IP le-ESP32 kufanele liphrintwe kuchungechunge qapha.Umboniso
Vula isiphequluli bese uthayipha ikheli le-IP le-ESP32. Eyakho web iseva kufanele ibonise ukufundwa kwenzwa yakamuva.
Qaphela: Isiphequluli sakho ne-ESP32 kufanele zixhunywe ku-LAN efanayo.
Qaphela ukuthi izinga lokushisa nomswakama ukufundwa kubuyekezwa ngokuzenzakalelayo ngaphandle kwesidingo sokuvuselela web ikhasi.
Project_10_ESP32_OLED_Display
Le phrojekthi ibonisa indlela yokusebenzisa isibonisi esingu-0.96 inch SSD1306 OLED nge-ESP32 kusetshenziswa i-Arduino IDE.
Sethula i-OLED Display engu-0.96 inch
I Isibonisi se-OLED esizosebenzisa kulesi sifundo imodeli ye-SSD1306: i-monocolor, i-intshi engu-0.96 yesibonisi esinamaphikseli angu-128×64 njengoba kuboniswe esithombeni esilandelayo.Isibonisi se-OLED asidingi ukukhanya kwangemuva, okuholela ekuhlukeni okuhle kakhulu ezindaweni ezimnyama. Ukwengeza, amaphikseli ayo asebenzisa amandla kuphela uma evuliwe, ngakho isibonisi se-OLED sisebenzisa amandla amancane uma siqhathaniswa nezinye izibonisi.
Ngenxa yokuthi isibonisi se-OLED sisebenzisa iphrothokholi yokuxhumana ye-I2C, ukufaka izintambo kulula kakhulu. Ungasebenzisa ithebula elilandelayo njengereferensi.
Iphinikhodi ye-OLED | ESP32 |
Vin | 3.3V |
GND | GND |
I-SCL | I-GPIO 22 |
I-SDA | I-GPIO 21 |
OkuhlelekileIfaka i-SSD1306 OLED Library - ESP32
Kunemitapo yolwazi eminingana etholakalayo yokulawula isibonisi se-OLED nge-ESP32.
Kulesi sifundo sizosebenzisa imitapo yolwazi emibili ye-Adafruit: Adafruit_SSD1306 ilabhulali futhi Ilabhulali ye-Adafruit_GFX.
Landela izinyathelo ezilandelayo ukuze ufake lawo malayibhulali.
- Vula i-Arduino IDE yakho bese uya ku-Sketch> Faka phakathi Ilabhulali> Phatha Amalabhulali. Umphathi Welabhulali kufanele avule.
- Thayipha okuthi “SSD1306” ebhokisini lokusesha bese ufaka umtapo wezincwadi we-SSD1306 osuka ku-Adafruit.
- Ngemva kokufaka umtapo wezincwadi we-SSD1306 wakwa-Adafruit, thayipha okuthi “GFX” ebhokisini lokusesha bese ufaka umtapo wolwazi.
- Ngemva kokufaka imitapo yolwazi, qala kabusha i-Arduino IDE yakho.
Ikhodi
Ngemva kokufaka amalabhulali adingekayo, Vula i-Project_10_ESP32_OLED_Display.ino ku-arduino IDE. ikhodi
Sizohlela i-ESP32 sisebenzisa i-Arduino IDE, ngakho qiniseka ukuthi unesengezo se-ESP32 esifakiwe ngaphambi kokuqhubeka: (Uma usuvele usenze lesi sinyathelo, ungeqela esinyathelweni esilandelayo.)
Ifaka Isengezo se-ESP32 ku-Arduino IDEIndlela Ikhodi Esebenza Ngayo
Ingenisa imitapo yolwazi
Okokuqala, udinga ukungenisa imitapo yolwazi edingekayo. Umtapo wolwazi we-Wire ozosebenzisa i-I2C kanye nemitapo yolwazi ye-Adafruit ukuze ubhalele esibukweni: Adafruit_GFX kanye ne-Adafruit_SSD1306.Qalisa isibonisi se-OLED
Bese, uchaza ububanzi bakho be-OLED nobude. Kulesi example, sisebenzisa isibonisi se-OLED esingu-128×64. Uma usebenzisa abanye osayizi, ungakushintsha lokho kokuhlukile kwe-SCREEN_WIDTH, kanye ne-SCREEN_HEIGHT.Bese, qalisa into eboniswayo ngobubanzi nobude obuchazwe ngaphambili ngephrothokholi yokuxhumana ye-I2C (&Wire).
Ipharamitha (-1) isho ukuthi isibonisi sakho se-OLED asinayo iphinikhodi ye-RESET. Uma isibonisi sakho se-OLED sinephinikhodi ye-RESET, kufanele sixhunywe ku-GPIO. Uma kunjalo, kufanele udlulise inombolo ye-GPIO njengepharamitha.
Ekusetheni(), qalisa i-Serial Monitor nge-baud raute ye-115200 ngezinjongo zokususa iphutha.Qalisa isibonisi se-OLED ngendlela yokuqala () kanje:
Lawa mazwibela futhi aphrinta umlayezo ku-Serial Monitor, uma kwenzeka singakwazi ukuxhuma kusibonisi.
Esimeni lapho usebenzisa isibonisi se-OLED esihlukile, ungase udinge ukushintsha ikheli le-OLED. Esimweni sethu, ikheli ngu-0x3C.
Ngemva kokuqalisa isibonisi, engeza ukubambezeleka kwesekhondi okubili, ukuze i-OLED ibe nesikhathi esanele sokuqalisa ngaphambi kokubhala umbhalo:
Sula isibonisi, setha usayizi wefonti, umbala bese ubhala umbhalo
Ngemva kokuqalisa isibonisi, sula isibonisi se-buffer ngendlela ye-clearDisplay():
Ngaphambi kokubhala umbhalo, udinga ukusetha usayizi wombhalo, umbala nalapho umbhalo uzovezwa khona ku-OLED.
Setha usayizi wefonti usebenzisa indlela ye-setTextSize():Setha umbala wefonti ngendlela ye-setTextColor():
EMHLOPHE imisa ifonti emhlophe nengemuva elimnyama.
Chaza indawo lapho umbhalo uqala khona usebenzisa indlela ye-setCursor(x,y). Kulokhu, sibeka umbhalo ukuthi uqale kuzixhumanisi (0,0) - ekhoneni eliphezulu kwesokunxele.Ekugcineni, ungathumela umbhalo kusibonisi usebenzisa indlela ye-println(), ngendlela elandelayo
Bese, udinga ukushayela indlela yokubonisa () ukuze ubonise umbhalo esikrinini.
Umtapo wezincwadi we-Adafruit OLED unikeza izindlela eziwusizo zokupheqa umbhalo kalula.
- startscrollright(0x00, 0x0F): skrola umbhalo ukusuka kwesokunxele uye kwesokudla
- qala ukuskrola kwesokunxele(0x00, 0x0F): skrola umbhalo ukusuka kwesokudla kuye kwesokunxele
- startscrolldiagright(0x00, 0x07): skrola umbhalo ukusuka ekhoneni elingezansi kwesokunxele uye ekhoneni eliphezulu kwesokudla qalascrolldiagleft(0x00, 0x07): skrola umbhalo ukusuka ekhoneni elingezansi kwesokudla ukuya ekhoneni eliphezulu kwesokunxele
Layisha Ikhodi
Manje, layisha ikhodi ku-ESP32 yakho.Layisha izinyathelo zereferensi yekhodi.
Ngemva kokulayisha ikhodi, i-OLED izobonisa umbhalo oskrolayo.
Amadokhumenti / Izinsiza
![]() |
I-LAFVIN ESP32 Basic Starter Kit [pdf] Incwadi Yeziqondiso I-ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit |