ESP32 Dechreuwr Sylfaenol
Cit
Rhestr Pacio
ESP32 Cyflwyniad
Newydd i ESP32? Dechreuwch yma! Mae'r ESP32 yn gyfres o ficroreolyddion System ar Sglodion (SoC) cost isel a phŵer isel a ddatblygwyd gan Espressif sy'n cynnwys galluoedd diwifr Wi-Fi a Bluetooth a phrosesydd craidd deuol. Os ydych chi'n gyfarwydd â'r ESP8266, yr ESP32 yw ei olynydd, wedi'i lwytho â llawer o nodweddion newydd.Manylebau ESP32
Os ydych chi am gael ychydig yn fwy technegol a phenodol, gallwch edrych ar y manylebau manwl canlynol o'r ESP32 (ffynhonnell: http://esp32.net/) - am fwy o fanylion, gwirio'r daflen ddata):
- Cysylltedd diwifr WiFi: cyfradd data 150.0 Mbps gyda HT40
- Bluetooth: BLE (Bluetooth Low Energy) a Bluetooth Classic
- Prosesydd: Microbrosesydd LX32 Deuol-Craidd Tensilica Xtensa 6-did, yn rhedeg ar 160 neu 240 MHz
- Cof:
- ROM: 448 KB (ar gyfer swyddogaethau cychwyn a chraidd)
- SRAM: 520 KB (ar gyfer data a chyfarwyddiadau)
- RTC fas SRAM: 8 KB (ar gyfer storio data a'r prif CPU yn ystod RTC Boot o'r modd cysgu dwfn)
- SRAM araf RTC: 8KB (ar gyfer mynediad cyd-brosesydd yn ystod modd cysgu dwfn) eFuse: 1 Kbit (y defnyddir 256 did ohonynt ar gyfer y system (cyfluniad cyfeiriad MAC a sglodion) a chedwir y 768 did sy'n weddill ar gyfer cymwysiadau cwsmeriaid, gan gynnwys Amgryptio Flash ac ID Sglodion)
Fflach wedi'i fewnosod: fflach wedi'i gysylltu'n fewnol trwy IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 a SD_DATA_1 ar ESP32-D2WD ac ESP32-PICO-D4.
- 0 MiB (Sglodion ESP32-D0WDQ6, ESP32-D0WD, a ESP32-S0WD)
- 2 MiB (sglodyn ESP32-D2WD)
- 4 MiB (modiwl SiP ESP32-PICO-D4)
Pŵer Isel: yn sicrhau y gallwch barhau i ddefnyddio trawsnewidiadau ADC, ar gyfer cynample, yn ystod cwsg dwfn.
Mewnbwn/Allbwn Ymylol:
- rhyngwyneb ymylol gyda DMA sy'n cynnwys cyffwrdd capacitive
- ADCs (Trawsnewidydd Analog-i-Digidol)
- DACs (Trawsnewidydd Digidol-i-Analog)
- I²C (Cylched Rhyng-Integredig)
- UART (Derbynnydd / Trosglwyddydd Asynchronaidd Cyffredinol)
- SPI (Rhyngwyneb Ymylol Cyfresol)
- I²S (Sain Interchip Integredig)
- RMII (Rhyngwyneb Cyfryngau-Annibynnol Llai)
- PWM (Modiwleiddio Lled Curiad)
Diogelwch: cyflymyddion caledwedd ar gyfer AES a SSL/TLS
ESP32 Byrddau Datblygu
Mae ESP32 yn cyfeirio at y sglodion ESP32 noeth. Fodd bynnag, defnyddir y term “ESP32” hefyd i gyfeirio at fyrddau datblygu ESP32. Nid yw defnyddio sglodion noeth ESP32 yn hawdd nac yn ymarferol, yn enwedig wrth ddysgu, profi a phrototeipio. Y rhan fwyaf o'r amser, byddwch chi eisiau defnyddio bwrdd datblygu ESP32.
Byddwn yn defnyddio bwrdd ESP32 DEVKIT V1 fel cyfeiriad. Mae'r llun isod yn dangos bwrdd ESP32 DEVKIT V1, fersiwn gyda 30 pin GPIO.Manylebau – ESP32 DEVKIT V1
Mae'r tabl canlynol yn dangos crynodeb o nodweddion a manylebau bwrdd ESP32 DEVKIT V1 DOIT:
Nifer y creiddiau | 2 (craidd deuol) |
Wi-Fi | 2.4 GHz hyd at 150 Mbits yr eiliad |
Bluetooth | BLE (Bluetooth Low Energy) a Bluetooth etifeddiaeth |
Pensaernïaeth | 32 did |
Amlder cloc | Hyd at 240 MHz |
HWRDD | 512 KB |
Pinnau | 30 (yn dibynnu ar y model) |
Perifferolion | Cyffyrddiad capacitive, ADC (trawsnewidydd analog i ddigidol), DAC (trawsnewidydd digidol i analog), 12C (Cylched Rhyng-Integredig), UART (derbynnydd / trosglwyddydd asyncronig cyffredinol), CAN 2.0 (Ardal y Rheolwr Netwokr), SPI (Rhyngwyneb Ymylol Cyfresol) , 12S (Integrated Inter-IC Sain), RMII (Rhyngwyneb Cyfryngau-Annibynnol Llai), PWM (modiwleiddio lled pwls), a mwy. |
Botymau adeiledig | AILOSOD a botymau BOOT |
LEDs adeiledig | LED glas adeiledig yn gysylltiedig â GPIO2; LED coch adeiledig sy'n dangos bod y bwrdd yn cael ei bweru |
USB i UART pont |
CP2102 |
Mae'n dod gyda rhyngwyneb microUSB y gallwch ei ddefnyddio i gysylltu'r bwrdd â'ch cyfrifiadur i uwchlwytho cod neu gymhwyso pŵer.
Mae'n defnyddio'r sglodyn CP2102 (USB i UART) i gyfathrebu â'ch cyfrifiadur trwy borthladd COM gan ddefnyddio rhyngwyneb cyfresol. Sglodyn poblogaidd arall yw'r CH340. Gwiriwch beth yw'r trawsnewidydd sglodion USB i UART ar eich bwrdd oherwydd bydd angen i chi osod y gyrwyr gofynnol fel y gall eich cyfrifiadur gyfathrebu â'r bwrdd (mwy o wybodaeth am hyn yn nes ymlaen yn y canllaw hwn).
Mae'r bwrdd hwn hefyd yn dod â botwm AILOSOD (efallai ei fod wedi'i labelu EN) i ailgychwyn y bwrdd a botwm BOOT i roi'r bwrdd yn y modd fflachio (ar gael i dderbyn cod). Sylwch efallai na fydd botwm BOOT ar rai byrddau.
Mae hefyd yn dod â LED glas adeiledig sydd wedi'i gysylltu'n fewnol â GPIO 2. Mae'r LED hwn yn ddefnyddiol ar gyfer dadfygio i roi rhyw fath o allbwn corfforol gweledol. Mae yna hefyd LED coch sy'n goleuo pan fyddwch chi'n darparu pŵer i'r bwrdd.ESP32 Pinout
Mae perifferolion ESP32 yn cynnwys:
- 18 o sianeli Trawsnewidydd Analog-i-Digidol (ADC).
- 3 rhyngwyneb SPI
- 3 rhyngwyneb UART
- 2 rhyngwyneb I2C
- 16 sianel allbwn PWM
- 2 Trawsnewidydd Digidol-Analog (DAC)
- 2 rhyngwyneb I2S
- 10 GPIO synhwyro galluog
Mae'r nodweddion ADC (trawsnewidydd analog i ddigidol) a DAC (trawsnewidydd digidol i analog) yn cael eu neilltuo i binnau sefydlog penodol. Fodd bynnag, gallwch chi benderfynu pa binnau yw UART, I2C, SPI, PWM, ac ati - does ond angen i chi eu neilltuo yn y cod. Mae hyn yn bosibl oherwydd nodwedd amlblecsio sglodyn ESP32.
Er y gallwch chi ddiffinio priodweddau'r pinnau ar y feddalwedd, mae pinnau wedi'u neilltuo yn ddiofyn fel y dangosir yn y ffigur canlynolYn ogystal, mae pinnau â nodweddion penodol sy'n eu gwneud yn addas ai peidio ar gyfer prosiect penodol. Mae'r tabl canlynol yn dangos pa binnau sydd orau i'w defnyddio fel mewnbynnau, allbynnau a pha rai y mae angen i chi fod yn ofalus.
Mae'r pinnau wedi'u hamlygu mewn gwyrdd yn iawn i'w defnyddio. Mae'r rhai sydd wedi'u hamlygu mewn melyn yn iawn i'w defnyddio, ond mae angen i chi dalu sylw oherwydd efallai y bydd ganddynt ymddygiad annisgwyl yn bennaf wrth gychwyn. Ni argymhellir defnyddio'r pinnau sydd wedi'u hamlygu mewn coch fel mewnbynnau nac allbynnau.
GP IO | Mewnbwn | Allbwn | Nodiadau |
0 | tynnu i fyny | OK | allbynnau signal PWM wrth gychwyn, rhaid bod yn ISEL i fynd i mewn i'r modd fflachio |
1 | Pin tx | OK | allbwn dadfygio wrth gychwyn |
2 | OK | OK | wedi'i gysylltu â LED ar y bwrdd, rhaid ei adael yn arnofio neu'n ISEL i fynd i mewn i'r modd fflachio |
3 | OK | Pin RX | UCHEL wrth gychwyn |
4 | OK | OK | |
5 | OK | OK | allbynnau signal PWM yn y gist, pin strapio |
12 | OK | OK | bŵt yn methu os caiff ei thynnu'n uchel, pin strapio |
13 | OK | OK | |
14 | OK | OK | allbynnau signal PWM wrth gychwyn |
15 | OK | OK | allbynnau signal PWM yn y gist, pin strapio |
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 | mewnbwn yn unig | |
35 | OK | mewnbwn yn unig | |
36 | OK | mewnbwn yn unig | |
39 | OK | mewnbwn yn unig |
Parhewch i ddarllen i gael dadansoddiad mwy manwl a manwl o GPIOs ESP32 a'i swyddogaethau.
Pinnau mewnbwn yn unig
Mae GPIOs 34 i 39 yn GPIs – pinnau mewnbwn yn unig. Nid oes gan y pinnau hyn wrthyddion tynnu i fyny neu dynnu i lawr mewnol. Ni ellir eu defnyddio fel allbynnau, felly defnyddiwch y pinnau hyn fel mewnbynnau yn unig:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
Fflach SPI integredig ar yr ESP-WROOM-32
Mae GPIO 6 i GPIO 11 yn cael eu hamlygu mewn rhai byrddau datblygu ESP32. Fodd bynnag, mae'r pinnau hyn wedi'u cysylltu â'r fflach SPI integredig ar y sglodion ESP-WROOM-32 ac ni chânt eu hargymell ar gyfer defnyddiau eraill. Felly, peidiwch â defnyddio'r pinnau hyn yn eich prosiectau:
- GPIO 6 (SCK/CLK)
- GPIO 7 (SDO/SD0)
- GPIO 8 (SDI/SD1)
- GPIO 9 (SHD/SD2)
- GPIO 10 (SWP/SD3)
- GPIO 11 (CSC/CMD)
GPIOs cyffwrdd capacitive
Mae gan yr ESP32 10 synhwyrydd cyffwrdd capacitive mewnol. Gall y rhain synhwyro amrywiadau mewn unrhyw beth sy'n dal gwefr drydanol, fel y croen dynol. Felly gallant ganfod amrywiadau a achosir wrth gyffwrdd â'r GPIOs â bys. Gellir integreiddio'r pinnau hyn yn hawdd i badiau capacitive a disodli botymau mecanyddol. Gellir defnyddio'r pinnau cyffwrdd capacitive hefyd i ddeffro'r ESP32 o gwsg dwfn. Mae'r synwyryddion cyffwrdd mewnol hynny wedi'u cysylltu â'r GPIOs hyn:
- 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)
Trawsnewidydd Analog i Ddigidol (ADC)
Mae gan yr ESP32 sianeli mewnbwn ADC 18 x 12 did (er mai dim ond 8266x 1 did ADC sydd gan yr ESP10). Dyma'r GPIOs y gellir eu defnyddio fel ADC a'r sianeli priodol:
- 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)
Nodyn: Ni ellir defnyddio pinnau ADC2 pan ddefnyddir Wi-Fi. Felly, os ydych chi'n defnyddio Wi-Fi ac rydych chi'n cael trafferth cael y gwerth o GPIO ADC2, efallai y byddwch chi'n ystyried defnyddio GPIO ADC1 yn lle hynny. Dylai hynny ddatrys eich problem.
Mae gan y sianeli mewnbwn ADC gydraniad 12-did. Mae hyn yn golygu y gallwch gael darlleniadau analog yn amrywio o 0 i 4095, lle mae 0 yn cyfateb i 0V a 4095 i 3.3V. Gallwch hefyd osod cydraniad eich sianeli ar y cod a'r ystod ADC.
Nid oes gan y pinnau ESP32 ADC ymddygiad llinol. Mae'n debyg na fyddwch yn gallu gwahaniaethu rhwng 0 a 0.1V, neu rhwng 3.2 a 3.3V. Mae angen i chi gadw hynny mewn cof wrth ddefnyddio'r pinnau ADC. Byddwch yn cael ymddygiad tebyg i'r un a ddangosir yn y ffigur canlynol.Trawsnewidydd Digidol i Analog (DAC)
Mae sianeli DAC 2 x 8 did ar yr ESP32 i drosi signalau digidol yn analog cyftage allbynnau signal. Dyma'r sianeli DAC:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
GPIOs RTC
Mae cefnogaeth GPIO RTC ar yr ESP32. Gellir defnyddio'r GPIOs sy'n cael eu cyfeirio i is-system pŵer isel RTC pan fydd yr ESP32 mewn cwsg dwfn. Gellir defnyddio'r GPIOs RTC hyn i ddeffro'r ESP32 o gwsg dwfn pan fydd y Ultra Low
Mae cyd-brosesydd pŵer (ULP) yn rhedeg. Gellir defnyddio'r GPIOs canlynol fel ffynhonnell deffro allanol.
- 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
Mae gan reolwr ESP32 LED PWM 16 sianel annibynnol y gellir eu ffurfweddu i gynhyrchu signalau PWM gyda gwahanol briodweddau. Gellir defnyddio pob pin sy'n gallu gweithredu fel allbynnau fel pinnau PWM (ni all GPIOs 34 i 39 gynhyrchu PWM).
I osod signal PWM, mae angen i chi ddiffinio'r paramedrau hyn yn y cod:
- Amledd y signal;
- Cylch dyletswydd;
- sianel PWM;
- GPIO lle rydych chi am allbynnu'r signal.
I2C
Mae gan yr ESP32 ddwy sianel I2C a gellir gosod unrhyw bin fel SDA neu SCL. Wrth ddefnyddio'r ESP32 gyda'r Arduino IDE, y pinnau I2C rhagosodedig yw:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Os ydych chi am ddefnyddio pinnau eraill wrth ddefnyddio'r llyfrgell wifrau, does ond angen i chi ffonio:
Wire.begin(SDA, SCL);
SPI
Yn ddiofyn, y mapio pin ar gyfer SPI yw:
SPI | MOSI | MISO | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Torri ar draws
Gellir ffurfweddu pob GPIO fel ymyriadau.
Pinnau strapio
Mae gan y sglodyn ESP32 y pinnau strapio canlynol:
- GPIO 0 (rhaid bod yn ISEL i fynd i mewn i'r modd cychwyn)
- GPIO 2 (rhaid iddo fod yn arnofio neu'n ISEL yn ystod y cist)
- GPIO 4
- GPIO 5 (rhaid bod yn UCHEL yn ystod y cist)
- GPIO 12 (rhaid bod yn ISEL yn ystod y cychwyn)
- GPIO 15 (rhaid bod yn UCHEL yn ystod y cist)
Defnyddir y rhain i roi'r ESP32 yn y modd cychwynnydd neu fflachio. Ar y rhan fwyaf o fyrddau datblygu gyda USB / Cyfresol adeiledig, nid oes angen i chi boeni am gyflwr y pinnau hyn. Mae'r bwrdd yn rhoi'r pinnau yn y cyflwr cywir ar gyfer fflachio neu fodd cychwyn. Mae rhagor o wybodaeth am Ddewis Modd Cychwyn ESP32 ar gael yma.
Fodd bynnag, os oes gennych perifferolion sy'n gysylltiedig â'r pinnau hynny, efallai y byddwch chi'n cael trafferth i geisio uwchlwytho cod newydd, fflachio'r ESP32 gyda firmware newydd, neu ailosod y bwrdd. Os oes gennych rai perifferolion wedi'u cysylltu â'r pinnau strapio a'ch bod yn cael trafferth llwytho cod i fyny neu fflachio'r ESP32, efallai mai'r rheswm am hyn yw bod y perifferolion hynny'n atal yr ESP32 rhag mynd i mewn i'r modd cywir. Darllenwch y ddogfennaeth Dewis Modd Boot i'ch arwain i'r cyfeiriad cywir. Ar ôl ailosod, fflachio, neu fotio, mae'r pinnau hynny'n gweithio yn ôl y disgwyl.
Pinnau UCHEL yn Boot
Mae rhai GPIOs yn newid eu cyflwr i signalau PWM UCHEL neu allbwn wrth gychwyn neu ailosod.
Mae hyn yn golygu os oes gennych allbynnau sy'n gysylltiedig â'r GPIOs hyn efallai y cewch ganlyniadau annisgwyl pan fydd yr ESP32 yn ailosod neu'n cychwyn.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 i GPIO 11 (yn gysylltiedig â chof fflach SPI integredig ESP32 - ni argymhellir ei ddefnyddio).
- GPIO 14
- GPIO 15
Galluogi (EN)
Galluogi (EN) yw pin galluogi'r rheolydd 3.3V. Mae wedi'i dynnu i fyny, felly cysylltwch â'r ddaear i analluogi'r rheolydd 3.3V. Mae hyn yn golygu y gallwch chi ddefnyddio'r pin hwn wedi'i gysylltu â botwm gwthio i ailgychwyn eich ESP32, ar gyfer example.
GPIO cyfredol wedi'i dynnu
Y cerrynt mwyaf absoliwt a dynnir fesul GPIO yw 40mA yn ôl yr adran “Amodau Gweithredu a Argymhellir” yn y daflen ddata ESP32.
ESP32 Synhwyrydd Effaith Neuadd Adeiledig
Mae'r ESP32 hefyd yn cynnwys synhwyrydd effaith neuadd adeiledig sy'n canfod newidiadau yn y maes magnetig yn ei amgylchoedd
ESP32 IDE Arduino
Mae yna ychwanegiad ar gyfer yr Arduino IDE sy'n eich galluogi i raglennu'r ESP32 gan ddefnyddio'r Arduino IDE a'i iaith raglennu. Yn y tiwtorial hwn byddwn yn dangos i chi sut i osod y bwrdd ESP32 yn Arduino IDE p'un a ydych chi'n defnyddio Windows, Mac OS X neu Linux.
Rhagofynion: Arduino IDE Wedi'i Osod
Cyn dechrau'r weithdrefn osod hon, mae angen i chi gael Arduino IDE wedi'i osod ar eich cyfrifiadur. Mae dwy fersiwn o'r Arduino IDE y gallwch eu gosod: fersiwn 1 a fersiwn 2.
Gallwch chi lawrlwytho a gosod Arduino IDE trwy glicio ar y ddolen ganlynol: arduino.cc/cy/Prif/Meddalwedd
Pa fersiwn Arduino IDE ydyn ni'n ei hargymell? Ar hyn o bryd, mae rhai plugins ar gyfer yr ESP32 (fel y SPIFFS Filesystem Uploader Plugin) nad ydynt yn cael eu cefnogi eto ar Arduino 2. Felly, os ydych yn bwriadu defnyddio'r ategyn SPIFFS yn y dyfodol, rydym yn argymell gosod y fersiwn etifeddiaeth 1.8.X. Does ond angen sgrolio i lawr ar dudalen meddalwedd Arduino i ddod o hyd iddo.
Gosod Ychwanegyn ESP32 yn Arduino IDE
I osod y bwrdd ESP32 yn eich Arduino IDE, dilynwch y cyfarwyddiadau nesaf hyn:
- Yn eich IDE Arduino, ewch i File> Dewisiadau
- Rhowch y canlynol yn y “Rheolwr Bwrdd Ychwanegol URLs” maes:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Yna, cliciwch ar y botwm "OK":Nodyn: os oes gennych y byrddau ESP8266 eisoes URL, gallwch wahanu'r URLs gyda choma fel a ganlyn:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Agor Rheolwr y Bwrdd. Ewch i Offer > Bwrdd > Rheolwr Byrddau…Chwiliwch am ESP32 and press install button for the “ESP32 by Espressif Systems“:
Dyna fe. Dylid ei osod ar ôl ychydig eiliadau.
Llwythwch i fyny Cod Prawf
Plygiwch y bwrdd ESP32 i'ch cyfrifiadur. Gyda'ch Arduino IDE ar agor, dilynwch y camau hyn:
- Dewiswch eich Bwrdd yn Offer > dewislen Bwrdd (yn fy achos i, y Modiwl DEV ESP32 ydyw)
- Dewiswch y Porthladd (os na welwch y Porthladd COM yn eich Arduino IDE, mae angen i chi osod y CP210x USB i Gyrwyr VCP Pont UART):
- Agorwch y cynample dan File > Examples > WiFi
(ESP32) > WiFiScan - Mae braslun newydd yn agor yn eich Arduino IDE:
- Pwyswch y botwm Llwytho i Fyny yn yr Arduino IDE. Arhoswch ychydig eiliadau tra bod y cod yn llunio ac yn llwytho i fyny i'ch bwrdd.
- Pe bai popeth yn mynd yn ôl y disgwyl, dylech weld “Llwytho i fyny wedi'i wneud.” neges.
- Agorwch Fonitor Cyfresol Arduino IDE ar gyfradd baud o 115200:
- Pwyswch y botwm Galluogi ar y bwrdd ESP32 a dylech weld y rhwydweithiau sydd ar gael ger eich ESP32:
Datrys problemau
Os ceisiwch uwchlwytho braslun newydd i'ch ESP32 a'ch bod yn cael y neges gwall hon “Digwyddodd gwall angheuol: Methwyd cysylltu ag ESP32: Wedi dod i ben… Cysylltu…“. Mae'n golygu nad yw eich ESP32 yn y modd fflachio / llwytho i fyny.
Ar ôl dewis yr enw bwrdd cywir a COM por, dilynwch y camau hyn:
Daliwch y botwm “BOOT” i lawr yn eich bwrdd ESP32
- Pwyswch y botwm “Lanlwytho” yn yr Arduino IDE i uwchlwytho'ch braslun:
- Ar ôl i chi weld y “Cysylltu….” neges yn eich Arduino IDE, rhyddhewch y bys o'r botwm “BOOT”:
- Ar ôl hynny, dylech weld y neges "Done uploading".
Dyna fe. Dylai eich ESP32 gael y braslun newydd yn rhedeg. Pwyswch y botwm “ENABLE” i ailgychwyn yr ESP32 a rhedeg y braslun newydd wedi'i uwchlwytho.
Bydd yn rhaid i chi hefyd ailadrodd y dilyniant botwm hwnnw bob tro y byddwch am uwchlwytho braslun newydd.
Prosiect 1 ESP32 Mewnbynnau Allbynnau
Yn y canllaw cychwyn hwn byddwch yn dysgu sut i ddarllen mewnbynnau digidol fel switsh botwm a rheoli allbynnau digidol fel LED gan ddefnyddio'r ESP32 gydag Arduino IDE.
Rhagofynion
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE. Felly, gwnewch yn siŵr bod gennych yr ategyn byrddau ESP32 wedi'i osod cyn symud ymlaen:
- Gosod Ychwanegyn ESP32 yn Arduino IDE
ESP32 Rheoli Allbynnau Digidol
Yn gyntaf, mae angen i chi osod y GPIO rydych chi am ei reoli fel ALLBWN. Defnyddiwch y swyddogaeth pinMode() fel a ganlyn:
pinMode(GPIO, ALLBWN);
I reoli allbwn digidol does ond angen i chi ddefnyddio'r swyddogaeth digitalWrite(), sy'n derbyn fel dadleuon, y GPIO (rhif int) rydych chi'n cyfeirio ato, a'r cyflwr, naill ai UCHEL neu ISEL.
digitalWrite(GPIO, STATE);
Gellir defnyddio pob GPIO fel allbynnau ac eithrio GPIOs 6 i 11 (yn gysylltiedig â'r fflach SPI integredig) a GPIOs 34, 35, 36 a 39 (GPIOs mewnbwn yn unig);
Dysgwch fwy am y GPIOs ESP32: Canllaw Cyfeirio GPIO ESP32
ESP32 Darllen Mewnbynnau Digidol
Yn gyntaf, gosodwch y GPIO rydych chi am ei ddarllen fel MEWNBWN, gan ddefnyddio'r swyddogaeth pinMode () fel a ganlyn:
pinMode(GPIO, MEWNBWN);
I ddarllen mewnbwn digidol, fel botwm, rydych chi'n defnyddio'r swyddogaeth digitalRead(), sy'n derbyn fel dadl, y GPIO (rhif int) rydych chi'n cyfeirio ato.
digitalRead(GPIO);
Gellir defnyddio pob GPIO ESP32 fel mewnbynnau, ac eithrio GPIOs 6 i 11 (yn gysylltiedig â'r fflach SPI integredig).
Dysgwch fwy am y GPIOs ESP32: Canllaw Cyfeirio GPIO ESP32
Prosiect Example
I ddangos i chi sut i ddefnyddio mewnbynnau digidol ac allbynnau digidol, byddwn yn adeiladu prosiect syml exampgyda botwm gwthio a LED. Byddwn yn darllen cyflwr y botwm gwthio ac yn goleuo'r LED yn unol â hynny fel y dangosir yn y ffigur canlynol.
Rhannau Angenrheidiol
Dyma restr o'r rhannau sydd eu hangen arnoch i adeiladu'r gylched:
- ESP32 DEVKIT V1
- LED 5 mm
- Gwrthydd 220 Ohm
- botwm gwthio
- Gwrthydd Ohm 10k
- Bwrdd bara
- Gwifrau siwmper
Diagram Sgematig
Cyn symud ymlaen, mae angen i chi gydosod cylched gyda LED a botwm gwthio.
Byddwn yn cysylltu'r LED â GPIO 5 a'r botwm gwthio i GPIO 4.Cod
Agorwch y cod Project_1_ESP32_Inputs_Outputs.ino yn arduino IDESut mae'r Cod yn Gweithio
Yn y ddwy linell ganlynol, rydych chi'n creu newidynnau i aseinio pinnau:
Mae'r botwm wedi'i gysylltu â GPIO 4 ac mae'r LED wedi'i gysylltu â GPIO 5. Wrth ddefnyddio'r Arduino IDE gyda'r ESP32, mae 4 yn cyfateb i GPIO 4 a 5 yn cyfateb i GPIO 5.
Nesaf, byddwch chi'n creu newidyn i ddal cyflwr y botwm. Yn ddiofyn, mae'n 0 (heb ei wasgu).
int buttonState = 0;
Yn y setup (), rydych chi'n cychwyn y botwm fel MEWNBWN, a'r LED fel ALLBWN.
Ar gyfer hynny, rydych chi'n defnyddio'r swyddogaeth pinMode () sy'n derbyn y pin rydych chi'n cyfeirio ato, a'r modd: MEWNBWN neu ALLBWN.
pinMode(botwmPin, MEWNBWN);
pinMode(ledPin, ALLBWN);
Yn y ddolen () mae lle rydych chi'n darllen cyflwr y botwm ac yn gosod y LED yn unol â hynny.
Yn y llinell nesaf, rydych chi'n darllen cyflwr y botwm a'i gadw yn y newidyn buttonState.
Fel y gwelsom o'r blaen, rydych chi'n defnyddio'r swyddogaeth digitalRead().
buttonState = digitalRead(buttonPin);
Mae'r canlynol os datganiad, yn gwirio a yw cyflwr y botwm yn UCHEL. Os ydyw, mae'n troi'r LED ymlaen gan ddefnyddio'r swyddogaeth digitalWrite() sy'n derbyn y ledPin fel dadl, a'r cyflwr UCHEL.
os (buttonState == UCHEL)Os nad yw cyflwr y botwm yn UCHEL, byddwch yn gosod y LED i ffwrdd. Gosodwch ISEL fel ail ddadl yn y ffwythiant digitalWrite().
Wrthi'n uwchlwytho'r Cod
Cyn clicio ar y botwm llwytho i fyny, ewch i Offer > Bwrdd, a dewiswch y bwrdd :DOIT ESP32 DEVKIT V1 bwrdd.
Ewch i Tools> Port a dewiswch y porthladd COM y mae'r ESP32 wedi'i gysylltu ag ef. Yna, pwyswch y botwm llwytho i fyny ac aros am y neges “Done uploading”.Nodyn: Os ydych chi'n gweld llawer o ddotiau (yn cysylltu…__…__) ar y ffenestr dadfygio a'r neges “Methu cysylltu ag ESP32: Wedi dod i ben yn aros am bennawd pecyn”, mae hynny'n golygu bod angen i chi wasgu'r ESP32 ar fwrdd BOOT botwm ar ôl y dotiau
dechrau ymddangos.Troubleshooting
Arddangosiad
Ar ôl uwchlwytho'r cod, profwch eich cylched. Dylai eich LED oleuo pan fyddwch chi'n pwyso'r botwm gwthio:A diffoddwch pan fyddwch chi'n ei ryddhau:
Prosiect 2 ESP32 Mewnbynnau Analog
Mae'r prosiect hwn yn dangos sut i ddarllen mewnbynnau analog gyda'r ESP32 gan ddefnyddio Arduino IDE.
Mae darllen analog yn ddefnyddiol i ddarllen gwerthoedd gwrthyddion newidiol fel potensiomedrau, neu synwyryddion analog.
Mewnbynnau Analog (ADC)
Mae darllen gwerth analog gyda'r ESP32 yn golygu y gallwch fesur cyfaint amrywioltage lefelau rhwng 0 V a 3.3 V.
Mae'r cyftagMae e a fesurir wedyn yn cael ei neilltuo i werth rhwng 0 a 4095, lle mae 0 V yn cyfateb i 0, a 3.3 V yn cyfateb i 4095. Unrhyw gyfainttage rhwng 0 V a 3.3 V bydd y gwerth cyfatebol yn y canol.Mae ADC yn Aflinol
Yn ddelfrydol, byddech chi'n disgwyl ymddygiad llinol wrth ddefnyddio'r pinnau ESP32 ADC.
Fodd bynnag, nid yw hynny'n digwydd. Yr hyn a gewch yw ymddygiad fel y dangosir yn y siart canlynol:Mae'r ymddygiad hwn yn golygu nad yw eich ESP32 yn gallu gwahaniaethu rhwng 3.3 V a 3.2 V.
Fe gewch yr un gwerth am y ddwy gyftage.e: 4095.
Mae'r un peth yn digwydd ar gyfer cyfaint isel iawntage gwerthoedd: ar gyfer 0 V a 0.1 V byddwch yn cael yr un gwerth: 0. Mae angen i chi gadw hyn mewn cof wrth ddefnyddio'r pinnau ESP32 ADC.
analogRead() Swyddogaeth
Mae darllen mewnbwn analog gyda'r ESP32 gan ddefnyddio'r Arduino IDE mor syml â defnyddio'r swyddogaeth analogRead(). Mae'n derbyn fel dadl, y GPIO rydych chi am ei ddarllen:
analogRead(GPIO);
Dim ond 15 sydd ar gael yn y bwrdd DEVKIT V1 (fersiwn gyda 30 GPIO).
Cydio yn eich pinout bwrdd ESP32 a dod o hyd i'r pinnau ADC. Amlygir y rhain gyda border coch yn y ffigwr isod.Mae gan y pinnau mewnbwn analog hyn gydraniad 12-did. Mae hyn yn golygu pan fyddwch chi'n darllen mewnbwn analog, gall ei ystod amrywio o 0 i 4095.
Nodyn: Ni ellir defnyddio pinnau ADC2 pan ddefnyddir Wi-Fi. Felly, os ydych chi'n defnyddio Wi-Fi a'ch bod chi'n cael trafferth cael y gwerth o GPIO ADC2, efallai y byddwch chi'n ystyried defnyddio GPIO ADC1 yn lle hynny, dylai hynny ddatrys eich problem.
I weld sut mae popeth yn cyd-fynd, byddwn yn gwneud ex symlample i ddarllen gwerth analog o potensiomedr.
Rhannau Angenrheidiol
Am y cynample, mae angen y rhannau canlynol arnoch chi:
- Bwrdd ESP32 DEVKIT V1
- Potensiomedr
- Bwrdd bara
- Gwifrau siwmper
Sgematig
Gwifrwch potentiometer i'ch ESP32. Dylai'r pin canol potentiometer gael ei gysylltu â GPIO 4. Gallwch ddefnyddio'r diagram sgematig canlynol fel cyfeiriad.Cod
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDE
Agorwch y cod Project_2_ESP32_Inputs_Outputs.ino yn arduino IDEYn syml, mae'r cod hwn yn darllen y gwerthoedd o'r potensiomedr ac yn argraffu'r gwerthoedd hynny yn y Monitor Cyfresol.
Yn y cod, rydych chi'n dechrau trwy ddiffinio'r GPIO y mae'r potentiometer wedi'i gysylltu ag ef. Yn y cynample, GPIO 4.Yn y setup (), dechreuwch gyfathrebiad cyfresol ar gyfradd baud o 115200.
Yn y ddolen (), defnyddiwch y swyddogaeth analogRead() i ddarllen y mewnbwn analog o'r potPin.
Yn olaf, argraffwch y gwerthoedd a ddarllenwyd o'r potensiomedr yn y monitor cyfresol.
Llwythwch i fyny'r cod a ddarparwyd i'ch ESP32. Gwnewch yn siŵr bod y bwrdd cywir a'r porthladd COM wedi'u dewis yn y ddewislen Tools.
Profi yr Example
Ar ôl uwchlwytho'r cod a phwyso'r botwm ailosod ESP32, agorwch y Monitor Cyfresol ar gyfradd baud o 115200. Cylchdroi'r potentiometer a gweld y gwerthoedd yn newid.Y gwerth mwyaf a gewch yw 4095 a'r gwerth lleiaf yw 0.
Lapio
Yn yr erthygl hon rydych chi wedi dysgu sut i ddarllen mewnbynnau analog gan ddefnyddio'r ESP32 gyda'r Arduino IDE. Yn gryno:
- Mae gan fwrdd ESP32 DEVKIT V1 DOIT (fersiwn gyda 30 pin) 15 pin ADC y gallwch eu defnyddio i ddarllen mewnbynnau analog.
- Mae gan y pinnau hyn gydraniad o 12 did, sy'n golygu y gallwch chi gael gwerthoedd o 0 i 4095.
- I ddarllen gwerth yn yr Arduino IDE, rydych chi'n defnyddio'r swyddogaeth analogRead().
- Nid oes gan y pinnau ESP32 ADC ymddygiad llinol. Mae'n debyg na fyddwch yn gallu gwahaniaethu rhwng 0 a 0.1V, neu rhwng 3.2 a 3.3V. Mae angen i chi gadw hynny mewn cof wrth ddefnyddio'r pinnau ADC.
Prosiect 3 ESP32 PWM (Allbwn Analog)
Yn y tiwtorial hwn byddwn yn dangos i chi sut i gynhyrchu signalau PWM gyda'r ESP32 gan ddefnyddio Arduino IDE. Fel cynample byddwn yn adeiladu cylched syml sy'n pylu LED gan ddefnyddio rheolydd PWM LED yr ESP32.Rheolydd PWM LED ESP32
Mae gan yr ESP32 reolwr PWM LED gyda 16 sianel annibynnol y gellir eu ffurfweddu i gynhyrchu signalau PWM gyda gwahanol briodweddau.
Dyma'r camau y bydd yn rhaid i chi eu dilyn i bylu LED gyda PWM gan ddefnyddio'r Arduino IDE:
- Yn gyntaf, mae angen i chi ddewis sianel PWM. Mae yna 16 sianel o 0 i 15.
- Yna, mae angen i chi osod amledd signal PWM. Ar gyfer LED, mae amledd o 5000 Hz yn iawn i'w ddefnyddio.
- Mae angen i chi hefyd osod cydraniad cylch dyletswydd y signal: mae gennych gydraniad o 1 i 16 did. Byddwn yn defnyddio cydraniad 8-did, sy'n golygu y gallwch reoli'r disgleirdeb LED gan ddefnyddio gwerth o 0 i 255.
- Nesaf, mae angen i chi nodi pa GPIO neu GPIOs y bydd y signal yn ymddangos arnynt. Ar gyfer hynny byddwch yn defnyddio'r swyddogaeth ganlynol:
ledcAttachPin(GPIO, sianel)
Mae'r swyddogaeth hon yn derbyn dwy ddadl. Y cyntaf yw'r GPIO a fydd yn allbwn y signal, a'r ail yw'r sianel a fydd yn cynhyrchu'r signal. - Yn olaf, i reoli disgleirdeb LED gan ddefnyddio PWM, rydych chi'n defnyddio'r swyddogaeth ganlynol:
ledcWrite(sianel, cylch dyletswydd)
Mae'r swyddogaeth hon yn derbyn fel dadleuon y sianel sy'n cynhyrchu'r signal PWM, a'r cylch dyletswydd.
Rhannau Angenrheidiol
I ddilyn y tiwtorial hwn mae angen y rhannau hyn arnoch chi:
- Bwrdd ESP32 DEVKIT V1
- LED 5mm
- Gwrthydd 220 Ohm
- Bwrdd bara
- Gwifrau siwmper
Sgematig
Gwifrwch LED i'ch ESP32 fel yn y diagram sgematig canlynol. Dylai'r LED gael ei gysylltu â GPIO 4.Nodyn: gallwch ddefnyddio unrhyw pin rydych chi ei eisiau, cyn belled ag y gall weithredu fel allbwn. Gellir defnyddio pob pin a all weithredu fel allbynnau fel pinnau PWM. I gael rhagor o wybodaeth am GPIOs ESP32, darllenwch: Cyfeirnod Pinout ESP32: Pa binnau GPIO y dylech eu defnyddio?
Cod
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDE
Agorwch y cod Project_3_ESP32_PWM.ino yn arduino IDERydych chi'n dechrau trwy ddiffinio'r pin y mae'r LED ynghlwm wrtho. Yn yr achos hwn mae'r LED ynghlwm wrth GPIO 4.
Yna, rydych chi'n gosod priodweddau'r signal PWM. Rydych chi'n diffinio amledd o 5000 Hz, yn dewis sianel 0 i gynhyrchu'r signal, ac yn gosod cydraniad o 8 did. Gallwch ddewis priodweddau eraill, gwahanol i'r rhain, i gynhyrchu gwahanol signalau PWM.
Yn y setup (), mae angen i chi ffurfweddu PWM LED gyda'r priodweddau rydych chi wedi'u diffinio'n gynharach trwy ddefnyddio'r swyddogaeth ledcSetup () sy'n derbyn fel dadleuon, y ledChannel, yr amlder, a'r datrysiad, fel a ganlyn:
Nesaf, mae angen i chi ddewis y GPIO y byddwch chi'n cael y signal ohono. Ar gyfer hynny defnyddiwch y swyddogaeth ledcAttachPin() sy'n derbyn fel dadleuon y GPIO lle rydych chi am gael y signal, a'r sianel sy'n cynhyrchu'r signal. Yn y cynampLe, byddwn yn cael y signal yn y GPIO ledPin, sy'n cyfateb i GPIO 4. Y sianel sy'n cynhyrchu'r signal yw'r ledChannel, sy'n cyfateb i sianel 0.
Yn y ddolen, byddwch yn amrywio'r cylch dyletswydd rhwng 0 a 255 i gynyddu disgleirdeb LED.
Ac yna, rhwng 255 a 0 i leihau'r disgleirdeb.
I osod disgleirdeb y LED, does ond angen i chi ddefnyddio'r swyddogaeth ledcWrite() sy'n derbyn fel dadleuon y sianel sy'n cynhyrchu'r signal, a'r cylch dyletswydd.
Gan ein bod yn defnyddio cydraniad 8-did, bydd y cylch dyletswydd yn cael ei reoli gan ddefnyddio gwerth o 0 i 255. Sylwch mai yn y swyddogaeth ledcWrite() rydym yn defnyddio'r sianel sy'n cynhyrchu'r signal, ac nid y GPIO.
Profi yr Example
Llwythwch y cod i fyny i'ch ESP32. Gwnewch yn siŵr bod y bwrdd cywir a'r porthladd COM wedi'u dewis. Edrychwch ar eich cylched. Dylech gael LED pylu sy'n cynyddu ac yn lleihau disgleirdeb.
Prosiect 4 Synhwyrydd Cynnig PIR ESP32
Mae'r prosiect hwn yn dangos sut i ganfod mudiant gyda'r ESP32 gan ddefnyddio synhwyrydd mudiant PIR. Bydd y swnyn yn canu larwm pan fydd symudiad yn cael ei ganfod, ac yn stopio'r larwm pan na chanfyddir mudiant am amser rhagosodedig (fel 4 eiliad).
Sut mae Synhwyrydd Cynnig HC-SR501 yn Gweithio
.Mae egwyddor weithredol synhwyrydd HC-SR501 yn seiliedig ar newid yr ymbelydredd isgoch ar y gwrthrych symudol. Er mwyn cael ei ganfod gan y synhwyrydd HC-SR501, rhaid i'r gwrthrych fodloni dau ofyniad:
- Mae'r gwrthrych yn allyrru'r ffordd isgoch.
- Mae'r gwrthrych yn symud neu'n ysgwyd
Felly:
Os yw gwrthrych yn allyrru'r pelydr isgoch ond ddim yn symud (ee, person yn sefyll yn llonydd heb symud), NID yw'n cael ei ganfod gan y synhwyrydd.
Os yw gwrthrych yn symud ond NAD YW'N allyrru'r pelydr isgoch (ee, robot neu gerbyd), NID yw'n cael ei ganfod gan y synhwyrydd.
Cyflwyno Amseryddion
Yn y cynampLe byddwn hefyd yn cyflwyno amseryddion. Rydym am i'r LED aros ymlaen am nifer rhagnodedig o eiliadau ar ôl canfod mudiant. Yn lle defnyddio swyddogaeth oedi () sy'n blocio'ch cod ac nad yw'n caniatáu ichi wneud unrhyw beth arall am nifer penodol o eiliadau, dylem ddefnyddio amserydd.Swyddogaeth oedi ().
Dylech fod yn gyfarwydd â'r swyddogaeth oedi () gan ei fod yn cael ei ddefnyddio'n eang. Mae'r swyddogaeth hon yn eithaf syml i'w defnyddio. Mae'n derbyn un rhif int fel dadl.
Mae'r rhif hwn yn cynrychioli'r amser mewn milieiliadau y mae'n rhaid i'r rhaglen aros nes symud ymlaen i linell nesaf y cod.Pan fyddwch yn oedi (1000) bydd eich rhaglen yn stopio ar y llinell honno am 1 eiliad.
Mae oedi () yn swyddogaeth rwystro. Mae swyddogaethau blocio yn atal rhaglen rhag gwneud unrhyw beth arall nes bod y dasg benodol honno wedi'i chwblhau. Os oes angen tasgau lluosog arnoch i ddigwydd ar yr un pryd, ni allwch ddefnyddio oedi ().
Ar gyfer y rhan fwyaf o brosiectau dylech osgoi defnyddio oedi a defnyddio amseryddion yn lle hynny.
Swyddogaeth millis().
Gan ddefnyddio ffwythiant o'r enw millis() gallwch ddychwelyd nifer y milieiliadau sydd wedi mynd heibio ers i'r rhaglen gychwyn gyntaf.Pam fod y swyddogaeth honno'n ddefnyddiol? Oherwydd trwy ddefnyddio rhywfaint o fathemateg, gallwch chi wirio'n hawdd faint o amser sydd wedi mynd heibio heb rwystro'ch cod.
Rhannau Angenrheidiol
I ddilyn y tiwtorial hwn mae angen y rhannau canlynol arnoch
- Bwrdd ESP32 DEVKIT V1
- Synhwyrydd mudiant PIR (HC-SR501)
- Buzzer Gweithredol
- Gwifrau siwmper
- Bwrdd bara
SgematigNodyn: Y cyftage o HC-SR501 yw 5V. Defnyddiwch y pin Vin i'w bweru.
Cod
Cyn bwrw ymlaen â'r tiwtorial hwn, dylech gael yr ychwanegyn ESP32 wedi'i osod yn eich Arduino IDE. Dilynwch un o'r tiwtorialau canlynol i osod yr ESP32 ar yr Arduino IDE, os nad ydych chi wedi gwneud hynny eisoes. (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDE
Agorwch y cod Project_4_ESP32_PIR_Motion_Sensor.ino yn arduino IDE.
Arddangosiad
Llwythwch y cod i fyny i'ch bwrdd ESP32. Gwnewch yn siŵr bod gennych y bwrdd cywir a phorthladd COM selected.Upload camau cyfeirnod cod.
Agorwch y Monitor Cyfresol ar gyfradd baud o 115200.Symudwch eich llaw o flaen y synhwyrydd PIR. Dylai'r swnyn droi ymlaen, ac mae'r neges wedi'i hargraffu yn y Monitor Cyfresol yn dweud “Motion detected!Buzzer alarm”.
Ar ôl 4 eiliad dylai'r swnyn ddiffodd.
Prosiect 5 ESP32 Switch Web Gweinydd
Yn y prosiect hwn byddwch yn creu arunig web gweinydd gydag ESP32 sy'n rheoli allbynnau (dau LED) gan ddefnyddio amgylchedd rhaglennu Arduino IDE. Mae'r web gweinydd sy'n ymatebol i ffonau symudol a gellir ei gyrchu gydag unrhyw ddyfais sydd fel porwr ar y rhwydwaith lleol. Byddwn yn dangos i chi sut i greu'r web gweinydd a sut mae'r cod yn gweithio gam wrth gam.
Prosiect Drosview
Cyn mynd yn syth at y prosiect, mae'n bwysig amlinellu beth yw ein web bydd gweinydd yn ei wneud, fel ei bod yn haws dilyn y camau yn nes ymlaen.
- Mae'r web gweinydd byddwch chi'n adeiladu rheolyddion dau LED sy'n gysylltiedig â'r ESP32 GPIO 26 a GPIO 27;
- Gallwch gael mynediad i'r ESP32 web gweinydd trwy deipio cyfeiriad IP ESP32 ar borwr yn y rhwydwaith lleol;
- Drwy glicio ar y botymau ar eich web gweinydd gallwch yn syth newid cyflwr pob LED.
Rhannau Angenrheidiol
Ar gyfer y tiwtorial hwn bydd angen y rhannau canlynol arnoch:
- Bwrdd ESP32 DEVKIT V1
- LED 2x 5mm
- Gwrthydd 2x 200 Ohm
- Bwrdd bara
- Gwifrau siwmper
Sgematig
Dechreuwch trwy adeiladu'r gylched. Cysylltwch ddau LED â'r ESP32 fel y dangosir yn y diagram sgematig canlynol - un LED wedi'i gysylltu â GPIO 26, a'r llall â GPIO 27.
Nodyn: Rydym yn defnyddio bwrdd ESP32 DEVKIT DOIT gyda 36 pin. Cyn cydosod y gylched, gwnewch yn siŵr eich bod yn gwirio'r pinout ar gyfer y bwrdd rydych chi'n ei ddefnyddio.Cod
Yma rydyn ni'n darparu'r cod sy'n creu'r ESP32 web gweinydd. Agorwch y cod Project_5_ESP32_Switch _Web_Server.ino yn arduino IDE, ond peidiwch â'i uwchlwytho eto. Mae angen i chi wneud rhai newidiadau i wneud iddo weithio i chi.
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDE
Gosod Eich Manylion Rhwydwaith
Mae angen i chi addasu'r llinellau canlynol gyda'ch manylion rhwydwaith: SSID a chyfrinair. Mae llawer o sylwadau ar y cod ar ble y dylech wneud y newidiadau.Wrthi'n uwchlwytho'r Cod
Nawr, gallwch chi uwchlwytho'r cod a'r web Bydd y gweinydd yn gweithio ar unwaith.
Dilynwch y camau nesaf i uwchlwytho cod i'r ESP32:
- Plygiwch eich bwrdd ESP32 yn eich cyfrifiadur;
- Yn yr Arduino IDE dewiswch eich bwrdd yn Tools> Board (yn ein hachos ni rydym yn defnyddio bwrdd ESP32 DEVKIT DOIT);
- Dewiswch y porthladd COM yn Tools> Port.
- Pwyswch y botwm Llwytho i Fyny yn yr Arduino IDE ac arhoswch ychydig eiliadau tra bod y cod yn llunio ac yn uwchlwytho i'ch bwrdd.
- Arhoswch am y neges “Done uploading”.
Dod o hyd i'r Cyfeiriad IP ESP
Ar ôl uwchlwytho'r cod, agorwch y Monitor Cyfresol ar gyfradd baud o 115200.Pwyswch y botwm ESP32 EN (ailosod). Mae'r ESP32 yn cysylltu â Wi-Fi, ac yn allbynnu cyfeiriad IP ESP ar y Monitor Cyfresol. Copïwch y cyfeiriad IP hwnnw, oherwydd mae ei angen arnoch i gael mynediad i'r ESP32 web gweinydd.
Wrth gael mynediad i'r Web Gweinydd
I gael mynediad i'r web gweinydd, agorwch eich porwr, gludwch y cyfeiriad IP ESP32, a byddwch yn gweld y dudalen ganlynol.
Nodyn: Dylai eich porwr ac ESP32 gael eu cysylltu â'r un LAN.Os edrychwch ar y Monitor Cyfresol, gallwch weld beth sy'n digwydd ar y cefndir. Mae'r ESP yn derbyn cais HTTP gan gleient newydd (yn yr achos hwn, eich porwr).
Gallwch hefyd weld gwybodaeth arall am y cais HTTP.
Arddangosiad
Nawr gallwch chi brofi a yw eich web gweinydd yn gweithio'n iawn. Cliciwch y botymau i reoli'r LEDs.Ar yr un pryd, gallwch edrych ar y Monitor Cyfresol i weld beth sy'n digwydd yn y cefndir. Am gynample, pan gliciwch y botwm i droi GPIO 26 YMLAEN, mae ESP32 yn derbyn cais ar y /26/on URL.
Pan fydd yr ESP32 yn derbyn y cais hwnnw, mae'n troi'r LED sydd ynghlwm wrth GPIO 26 ON ac yn diweddaru ei gyflwr ar y web tudalen.
Mae'r botwm ar gyfer GPIO 27 yn gweithio mewn ffordd debyg. Profwch ei fod yn gweithio'n iawn.
Sut mae'r Cod yn Gweithio
Bydd yr adran hon yn edrych yn agosach ar y cod i weld sut mae'n gweithio.
Y peth cyntaf sydd angen i chi ei wneud yw cynnwys y llyfrgell WiFi.Fel y soniwyd yn flaenorol, mae angen i chi fewnosod eich ssid a'ch cyfrinair yn y llinellau canlynol y tu mewn i'r dyfynbrisiau dwbl.
Yna, byddwch yn gosod eich web gweinydd i borth 80.
Mae'r llinell ganlynol yn creu newidyn i storio pennawd y cais HTTP:
Nesaf, byddwch yn creu newidynnau ategol i storio cyflwr presennol eich allbynnau. Os ydych chi am ychwanegu mwy o allbynnau ac arbed ei gyflwr, mae angen i chi greu mwy o newidynnau.
Mae angen i chi hefyd aseinio GPIO i bob un o'ch allbynnau. Yma rydym yn defnyddio GPIO 26 a GPIO 27. Gallwch ddefnyddio unrhyw GPIOs addas eraill.
gosod ()
Nawr, gadewch i ni fynd i mewn i'r setup (). Yn gyntaf, rydym yn dechrau cyfathrebiad cyfresol ar gyfradd baud o 115200 at ddibenion dadfygio.Rydych hefyd yn diffinio eich GPIOs fel ALLBYNNAU ac yn eu gosod i ISEL.
Mae'r llinellau canlynol yn cychwyn y cysylltiad Wi-Fi â WiFi.begin(ssid, cyfrinair), aros am gysylltiad llwyddiannus ac argraffu cyfeiriad IP ESP yn y Monitor Cyfresol.
dolen ()
Yn y ddolen () rydym yn rhaglennu beth sy'n digwydd pan fydd cleient newydd yn sefydlu cysylltiad â'r web gweinydd.
Mae'r ESP32 bob amser yn gwrando ar gleientiaid sy'n dod i mewn gyda'r llinell ganlynol:Pan dderbynnir cais gan gleient, byddwn yn cadw'r data sy'n dod i mewn. Bydd y ddolen tra sy'n dilyn yn rhedeg cyhyd â bod y cleient yn aros yn gysylltiedig. Nid ydym yn argymell newid y rhan ganlynol o'r cod oni bai eich bod yn gwybod yn union beth rydych yn ei wneud.
Mae adran nesaf datganiadau os ac arall yn gwirio pa fotwm gafodd ei wasgu yn eich web tudalen, ac yn rheoli'r allbynnau yn unol â hynny. Fel y gwelsom o'r blaen, rydym yn gwneud cais ar wahanol URLs yn dibynnu ar y botwm pwyso.
Am gynample, os ydych chi wedi pwyso'r botwm GPIO 26 ON, mae'r ESP32 yn derbyn cais ar y /26/ON URL (gallwn weld bod y wybodaeth honno ar y pennawd HTTP ar y Monitor Cyfresol). Felly, gallwn wirio a yw'r pennawd yn cynnwys yr ymadrodd GET /26/on. Os yw'n cynnwys, rydym yn newid y newidyn allbwn26state i ON, ac mae'r ESP32 yn troi'r LED ymlaen.
Mae hyn yn gweithio'n debyg ar gyfer y botymau eraill. Felly, os ydych chi am ychwanegu mwy o allbynnau, dylech addasu'r rhan hon o'r cod i'w cynnwys.
Yn dangos yr HTML web tudalen
Y peth nesaf sydd angen i chi ei wneud yw creu'r web tudalen. Bydd yr ESP32 yn anfon ymateb i'ch porwr gyda rhywfaint o god HTML i adeiladu'r web tudalen.
Mae'r web tudalen yn cael ei hanfon at y cleient gan ddefnyddio'r cleient mynegi hwn.println(). Dylech nodi'r hyn rydych am ei anfon at y cleient fel dadl.
Y peth cyntaf y dylem ei anfon bob amser yw'r llinell ganlynol, sy'n nodi ein bod yn anfon HTML.Yna, mae'r llinell ganlynol yn gwneud y web tudalen ymatebol mewn unrhyw web porwr.
A defnyddir y canlynol i atal ceisiadau ar y favicon. - Nid oes angen i chi boeni am y llinell hon.
Steilio'r Web Tudalen
Nesaf, mae gennym rywfaint o destun CSS i steilio'r botymau a'r web ymddangosiad tudalen.
Rydyn ni'n dewis y ffont Helvetica, yn diffinio'r cynnwys i'w arddangos fel bloc a'i alinio yn y canol.Rydyn ni'n steilio ein botymau gyda'r lliw # 4CAF50, heb ffin, testun mewn lliw gwyn, a gyda'r padin hwn: 16px 40px. Rydym hefyd yn gosod y testun-addurn i ddim, diffinio maint y ffont, yr ymyl, a'r cyrchwr i bwyntydd.
Rydyn ni hefyd yn diffinio'r arddull ar gyfer ail botwm, gyda holl briodweddau'r botwm rydyn ni wedi'i ddiffinio'n gynharach, ond gyda lliw gwahanol. Dyma fydd yr arddull ar gyfer y botwm i ffwrdd.
Gosod y Web Tudalen Pennawd Cyntaf
Yn y llinell nesaf gallwch osod y pennawd cyntaf eich web tudalen. Yma mae gennym “ESP32 Web Gweinydd”, ond gallwch chi newid y testun hwn i beth bynnag y dymunwch.Arddangos y Botymau a Chyflwr Cyfatebol
Yna, rydych chi'n ysgrifennu paragraff i arddangos cyflwr cyfredol GPIO 26. Fel y gallwch weld, rydym yn defnyddio'r newidyn allbwn26State, fel bod y cyflwr yn diweddaru'n syth pan fydd y newidyn hwn yn newid.Yna, rydym yn arddangos y botwm ymlaen neu i ffwrdd, yn dibynnu ar gyflwr presennol y GPIO. Os yw cyflwr presennol y GPIO i ffwrdd, rydym yn dangos y botwm ON, os na, rydym yn arddangos y botwm OFF.
Rydym yn defnyddio'r un weithdrefn ar gyfer GPIO 27.
Cau'r Cysylltiad
Yn olaf, pan ddaw'r ymateb i ben, rydym yn clirio'r newidyn pennawd, ac yn atal y cysylltiad â'r cleient â client.stop().
Lapio
Yn y tiwtorial hwn rydym wedi dangos i chi sut i adeiladu a web gweinydd gyda'r ESP32. Rydyn ni wedi dangos enghraifft syml i chiampMae hynny'n rheoli dau LED, ond y syniad yw disodli'r LEDau hynny â chyfnewid, neu unrhyw allbwn arall yr ydych am ei reoli.
Prosiect 6 RGB LED Web Gweinydd
Yn y prosiect hwn byddwn yn dangos i chi sut i reoli RGB LED o bell gyda bwrdd ESP32 gan ddefnyddio a web gweinydd gyda dewiswr lliw.
Prosiect Drosview
Cyn dechrau arni, gadewch i ni weld sut mae'r prosiect hwn yn gweithio:
- Yr ESP32 web gweinydd yn arddangos codwr lliw.
- Pan ddewisoch chi liw, mae eich porwr yn gwneud cais ar a URL sy'n cynnwys paramedrau R, G, a B y lliw a ddewiswyd.
- Mae eich ESP32 yn derbyn y cais ac yn rhannu'r gwerth ar gyfer pob paramedr lliw.
- Yna, mae'n anfon signal PWM gyda'r gwerth cyfatebol i'r GPIOs sy'n rheoli'r RGB LED.
Sut mae LEDs RGB yn gweithio?
Mewn catod cyffredin RGB LED, mae pob un o'r tri LED yn rhannu cysylltiad negyddol (catod). Mae pob un sydd wedi'i gynnwys yn y pecyn yn RGB catod cyffredin.Sut i greu lliwiau gwahanol?
Gyda LED RGB gallwch, wrth gwrs, gynhyrchu golau coch, gwyrdd a glas, a thrwy ffurfweddu dwyster pob LED, gallwch chi gynhyrchu lliwiau eraill hefyd.
Am gynampLe, i gynhyrchu golau glas pur, byddech chi'n gosod y LED glas i'r dwyster uchaf a'r LEDau gwyrdd a choch i'r dwyster isaf. Ar gyfer golau gwyn, byddech chi'n gosod y tri LED i'r dwyster uchaf.
Cymysgu lliwiau
I gynhyrchu lliwiau eraill, gallwch gyfuno'r tri lliw mewn gwahanol ddwysedd. I addasu dwyster pob LED gallwch ddefnyddio signal PWM.
Oherwydd bod y LEDs yn agos iawn at ei gilydd, mae ein llygaid yn gweld canlyniad y cyfuniad o liwiau, yn hytrach na'r tri lliw yn unigol.
I gael syniad ar sut i gyfuno'r lliwiau, edrychwch ar y siart canlynol.
Dyma'r siart cymysgu lliwiau symlaf, ond mae'n rhoi syniad i chi sut mae'n gweithio a sut i gynhyrchu gwahanol liwiau.Rhannau Angenrheidiol
Ar gyfer y prosiect hwn mae angen y rhannau canlynol arnoch:
- Bwrdd ESP32 DEVKIT V1
- RGB LED
- Gwrthyddion 3x 220 ohm
- Gwifrau siwmper
- Bwrdd bara
SgematigCod
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
- Gosod Ychwanegyn ESP32 yn Arduino IDE
Ar ôl cydosod y gylched, Agorwch y cod
Prosiect_6_RGB_LED_Web_Server.ino yn arduino IDE.
Cyn uwchlwytho'r cod, peidiwch ag anghofio mewnosod eich tystlythyrau rhwydwaith fel y gall yr ESP gysylltu â'ch rhwydwaith lleol.Sut mae'r cod yn gweithio
Mae braslun ESP32 yn defnyddio'r llyfrgell WiFi.h.Mae'r llinellau canlynol yn diffinio newidynnau llinynnol i ddal y paramedrau R, G, a B o'r cais.
Defnyddir y pedwar newidyn nesaf i ddadgodio'r cais HTTP yn nes ymlaen.
Creu tri newidyn ar gyfer y GPIOs a fydd yn rheoli paramedrau stribedi R, G, a B. Yn yr achos hwn rydym yn defnyddio GPIO 13, GPIO 12, a GPIO 14.
Mae angen i'r GPIOs hyn allbynnu signalau PWM, felly mae angen i ni ffurfweddu'r eiddo PWM yn gyntaf. Gosodwch amledd y signal PWM i 5000 Hz. Yna, cysylltwch sianel PWM ar gyfer pob lliw
Ac yn olaf, gosodwch benderfyniad y sianeli PWM i 8-did
Yn y setup (), aseinio'r priodweddau PWM i'r sianeli PWM
Atodwch y sianeli PWM i'r GPIOs cyfatebol
Mae'r adran cod ganlynol yn dangos y codwr lliw yn eich web tudalen ac yn gwneud cais yn seiliedig ar y lliw rydych chi wedi'i ddewis.
Pan fyddwch chi'n dewis lliw, rydych chi'n derbyn cais gyda'r fformat canlynol.
Felly, mae angen i ni rannu'r llinyn hwn i gael y paramedrau R, G, a B. Mae'r paramedrau'n cael eu cadw mewn newidynnau redString, greenString, a blueString a gallant fod â gwerthoedd rhwng 0 a 255.I reoli'r stribed gyda'r ESP32, defnyddiwch y swyddogaeth ledcWrite() i gynhyrchu signalau PWM gyda'r gwerthoedd wedi'u datgodio o'r HTTP cais.
Nodyn: dysgu mwy am PWM gydag ESP32: Prosiect 3 ESP32 PWM (Allbwn Analog)
Er mwyn rheoli'r stribed gyda'r ESP8266, does ond angen i ni ei ddefnyddio
y swyddogaeth analogWrite() i gynhyrchu signalau PWM gyda'r gwerthoedd wedi'u datgodio o'r cais HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Oherwydd ein bod yn cael y gwerthoedd mewn newidyn llinyn, mae angen i ni eu trosi'n gyfanrifau gan ddefnyddio'r dull toInt().
Arddangosiad
Ar ôl mewnosod eich tystlythyrau rhwydwaith, dewiswch y bwrdd cywir a phorthladd COM a lanlwythwch y cod i'ch camau cyfeirnod cod ESP32.Upload.
Ar ôl uwchlwytho, agorwch y Monitor Cyfresol ar gyfradd baud o 115200 a gwasgwch y botwm Galluogi/Ailosod ESP. Dylech gael cyfeiriad IP y bwrdd.Agorwch eich porwr a rhowch y cyfeiriad IP ESP. Nawr, defnyddiwch y codwr lliw i ddewis lliw ar gyfer yr RGB LED.
Yna, mae angen i chi wasgu'r botwm "Newid Lliw" er mwyn i'r lliw ddod i rym.I ddiffodd y LED RGB , dewiswch y lliw du.
Y lliwiau cryfaf (ar frig y codwr lliw), yw'r rhai a fydd yn cynhyrchu canlyniadau gwell.
Prosiect 7 ESP32 Relay Web Gweinydd
Mae defnyddio ras gyfnewid gyda'r ESP32 yn ffordd wych o reoli offer cartref AC o bell. Mae'r tiwtorial hwn yn esbonio sut i reoli modiwl ras gyfnewid gyda'r ESP32.
Byddwn yn edrych ar sut mae modiwl ras gyfnewid yn gweithio, sut i gysylltu'r ras gyfnewid â'r ESP32 ac adeiladu web gweinydd i reoli ras gyfnewid o bell.
Cyflwyno Teithiau Cyfnewid
Switsh a weithredir yn drydanol yw ras gyfnewid ac fel unrhyw switsh arall, gellir ei droi ymlaen neu i ffwrdd, gan adael i'r cerrynt fynd drwodd ai peidio. Gellir ei reoli gyda chyfrol iseltages, fel y 3.3V a ddarperir gan y GPIOs ESP32 ac yn ein galluogi i reoli cyfaint ucheltages fel 12V, 24V neu brif gyflenwad cyftage (230V yn Ewrop a 120V yn yr Unol Daleithiau).Ar yr ochr chwith, mae dwy set o dri soced i gysylltu cyfaint ucheltages, a'r pinnau ar yr ochr dde (isel-cyftage) cysylltu â GPIOs ESP32.
Prif gyflenwad Voltage CysylltiadauMae gan y modiwl ras gyfnewid a ddangosir yn y llun blaenorol ddau gysylltydd, pob un â thri soced: cyffredin (COM), Ar Gau Fel arfer (NC), ac Ar Agor Fel arfer (NO).
- COM: cysylltwch y cerrynt yr ydych am ei reoli (prif gyflenwad cyftaga).
- NC (Ar Gau Fel arfer): defnyddir y ffurfwedd sydd wedi'i chau fel arfer pan fyddwch am i'r ras gyfnewid gael ei chau yn ddiofyn. Mae'r NC yn pinnau COM wedi'u cysylltu, sy'n golygu bod y cerrynt yn llifo oni bai eich bod yn anfon signal o'r ESP32 i'r modiwl ras gyfnewid i agor y gylched ac atal y llif cerrynt.
- NA (Agored Fel arfer): mae'r cyfluniad sydd fel arfer yn agored yn gweithio'r ffordd arall: nid oes cysylltiad rhwng y pinnau NO a COM, felly mae'r gylched wedi'i thorri oni bai eich bod yn anfon signal o'r ESP32 i gau'r gylched.
Pinnau RheoliMae'r isel-cyftagMae gan yr ochr set o bedwar pin a set o dri phin. Mae'r set gyntaf yn cynnwys VCC a GND i bweru'r modiwl, a mewnbwn 1 (IN1) a mewnbwn 2 (IN2) i reoli'r ras gyfnewid gwaelod a brig, yn y drefn honno.
Os mai dim ond un sianel sydd gan eich modiwl ras gyfnewid, dim ond un pin IN fydd gennych. Os oes gennych bedair sianel, bydd gennych bedwar pin IN, ac ati.
Mae'r signal a anfonwch at y pinnau IN, yn pennu a yw'r ras gyfnewid yn weithredol ai peidio. Mae'r ras gyfnewid yn cael ei sbarduno pan fydd y mewnbwn yn mynd o dan tua 2V. Mae hyn yn golygu y bydd gennych y senarios canlynol:
- Cyfluniad Ar gau fel arfer (NC):
- Signal UCHEL – mae cerrynt yn llifo
- Signal ISEL – nid yw'r cerrynt yn llifo
- Ffurfwedd agored fel arfer (NA):
- Signal UCHEL – nid yw'r cerrynt yn llifo
- Signal ISEL – cerrynt yn llifo
Dylech ddefnyddio cyfluniad sydd wedi'i gau fel arfer pan ddylai'r cerrynt fod yn llifo'r rhan fwyaf o'r amseroedd, a dim ond yn achlysurol y byddwch am ei atal.
Defnyddiwch ffurfwedd agored fel arfer pan fyddwch am i'r cerrynt lifo'n achlysurol (ar gyfer example, tro ar alamp yn achlysurol).
Detholiad Cyflenwad PŵerMae'r ail set o binnau yn cynnwys pinnau GND, VCC, a JD-VCC.
Mae'r pin JD-VCC yn pweru electromagnet y ras gyfnewid. Sylwch fod gan y modiwl gap siwmper sy'n cysylltu'r pinnau VCC a JD-VCC; mae'r un a ddangosir yma yn felyn, ond efallai fod eich lliw chi yn lliw gwahanol.
Gyda'r cap siwmper ymlaen, mae'r pinnau VCC a JD-VCC wedi'u cysylltu. Mae hynny'n golygu bod yr electromagnet cyfnewid yn cael ei bweru'n uniongyrchol o'r pin pŵer ESP32, felly nid yw'r modiwl ras gyfnewid a'r cylchedau ESP32 wedi'u hynysu'n gorfforol oddi wrth ei gilydd.
Heb y cap siwmper, mae angen i chi ddarparu ffynhonnell pŵer annibynnol i bweru electromagnet y ras gyfnewid trwy'r pin JD-VCC. Mae'r cyfluniad hwnnw'n ynysu'r rasys cyfnewid yn gorfforol o'r ESP32 gydag optocoupler adeiledig y modiwl, sy'n atal difrod i'r ESP32 rhag ofn y bydd pigau trydanol.
SgematigRhybudd: Defnydd o gyfaint ucheltage gall cyflenwadau pŵer achosi anaf difrifol.
Felly, defnyddir LEDs 5mm yn lle cyflenwad uchel cyftage bylbiau yn yr arbrawf. Os nad ydych yn gyfarwydd â phrif gyflenwad cyftage gofynnwch i rywun sydd i'ch helpu chi. Wrth raglennu'r ESP neu weirio'ch cylched gwnewch yn siŵr bod popeth wedi'i ddatgysylltu o'r prif gyflenwad cyftage.Gosod y Llyfrgell ar gyfer ESP32
I adeiladu hyn web gweinydd, rydym yn defnyddio'r ESPAsyncWebLlyfrgell gweinydd a Llyfrgell AsyncTCP.
Gosod yr ESPAsyncWebLlyfrgell gweinydd
Dilynwch y camau nesaf i osod y ESPAsyncWebGweinydd llyfrgell:
- Cliciwch yma i lawrlwytho'r ESPAsyncWebLlyfrgell gweinydd. Dylech gael
ffolder .zip yn eich ffolder Lawrlwythiadau - Dadsipio'r ffolder .zip a dylech gael ESPAsyncWebFfolder gweinydd-feistr
- Ail-enwi eich ffolder o ESPAsyncWebGweinydd-feistr i ESPAsyncWebGweinydd
- Symudwch yr ESPAsyncWebFfolder gweinydd i'ch ffolder llyfrgelloedd gosod Arduino IDE
Fel arall, yn eich IDE Arduino, gallwch fynd i Braslun> Cynnwys
Llyfrgell > Ychwanegu llyfrgell .ZIP... a dewiswch y llyfrgell rydych newydd ei lawrlwytho.
Gosod y Llyfrgell AsyncTCP ar gyfer ESP32
Mae'r ESPAsyncWebGweinydd llyfrgell yn gofyn am y AsyncTCP llyfrgell i weithio. Dilyn
y camau nesaf i osod y llyfrgell honno:
- Cliciwch yma i lawrlwytho'r llyfrgell AsyncTCP. Dylai fod gennych ffolder .zip yn eich ffolder Lawrlwythiadau
- Dadsipio'r ffolder .zip a dylech gael ffolder AsyncTCP-master
1. Ail-enwi eich ffolder o AsyncTCP-meistr i AsyncTCP
3. Symudwch y ffolder AsyncTCP i'ch ffolder llyfrgelloedd gosod Arduino IDE
4. Yn olaf, ail-agor eich Arduino IDE
Fel arall, yn eich IDE Arduino, gallwch fynd i Braslun> Cynnwys
Llyfrgell > Ychwanegu llyfrgell .ZIP... a dewiswch y llyfrgell rydych newydd ei lawrlwytho.
Cod
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDE
Ar ôl gosod y llyfrgelloedd gofynnol, Agorwch y cod Project_7_ESP32_Relay_Web_Server.ino yn arduino IDE.
Cyn uwchlwytho'r cod, peidiwch ag anghofio mewnosod eich tystlythyrau rhwydwaith fel y gall yr ESP gysylltu â'ch rhwydwaith lleol.Arddangosiad
Ar ôl gwneud y newidiadau angenrheidiol, lanlwythwch y cod i'ch camau cyfeirnod cod ESP32.Upload.
Agorwch y Monitor Cyfresol ar gyfradd baud o 115200 a gwasgwch y botwm ESP32 EN i gael ei gyfeiriad IP. Yna, agorwch borwr yn eich rhwydwaith lleol a theipiwch y cyfeiriad IP ESP32 i gael mynediad i'r web gweinydd.
Agorwch y Monitor Cyfresol ar gyfradd baud o 115200 a gwasgwch y botwm ESP32 EN i gael ei gyfeiriad IP. Yna, agorwch borwr yn eich rhwydwaith lleol a theipiwch y cyfeiriad IP ESP32 i gael mynediad i'r web gweinydd.Nodyn: Dylai eich porwr ac ESP32 gael eu cysylltu â'r un LAN.
Dylech gael rhywbeth fel a ganlyn gyda dau fotwm â nifer y trosglwyddiadau cyfnewid rydych chi wedi'u diffinio yn eich cod.Nawr, gallwch chi ddefnyddio'r botymau i reoli'ch rasys cyfnewid gan ddefnyddio'ch ffôn clyfar.
Prosiect_8_Allbwn_Cyflwr_Cydamseru_ Web_Gweinydd
Mae'r Prosiect hwn yn dangos sut i reoli allbynnau ESP32 neu ESP8266 gan ddefnyddio a web gweinydd a botwm corfforol ar yr un pryd. Mae cyflwr allbwn yn cael ei ddiweddaru ar y web tudalen p'un a yw'n cael ei newid trwy'r botwm corfforol neu web gweinydd.
Prosiect Drosview
Gadewch i ni edrych yn gyflym ar sut mae'r prosiect yn gweithio.Mae'r ESP32 neu ESP8266 yn cynnal a web gweinydd sy'n eich galluogi i reoli cyflwr allbwn;
- Mae cyflwr allbwn cyfredol yn cael ei arddangos ar y web gweinydd;
- Mae'r ESP hefyd wedi'i gysylltu â botwm gwthio corfforol sy'n rheoli'r un allbwn;
- Os byddwch chi'n newid y cyflwr allbwn gan ddefnyddio'r botwm puhs ffisegol, mae ei gyflwr presennol hefyd yn cael ei ddiweddaru ar y web gweinydd.
I grynhoi, mae'r prosiect hwn yn eich galluogi i reoli'r un allbwn gan ddefnyddio a web gweinydd a botwm gwthio ar yr un pryd. Pryd bynnag y bydd y cyflwr allbwn yn newid, bydd y web gweinydd yn cael ei ddiweddaru.
Rhannau Angenrheidiol
Dyma restr o'r rhannau sydd eu hangen arnoch i adeiladu'r gylched:
- Bwrdd ESP32 DEVKIT V1
- LED 5 mm
- Gwrthydd 220 Ohm
- botwm gwthio
- Gwrthydd Ohm 10k
- Bwrdd bara
- Gwifrau siwmper
SgematigGosod y Llyfrgell ar gyfer ESP32
I adeiladu hyn web gweinydd, rydym yn defnyddio'r ESPAsyncWebLlyfrgell gweinydd a Llyfrgell AsyncTCP. (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch neidio i'r cam nesaf.)
Gosod yr ESPAsyncWebLlyfrgell gweinydd
Dilynwch y camau nesaf i osod yr ESPAsyncWebLlyfrgell gweinydd:
- Cliciwch yma i lawrlwytho'r ESPAsyncWebLlyfrgell gweinydd. Dylech gael
ffolder .zip yn eich ffolder Lawrlwythiadau - Dadsipio'r ffolder .zip a dylech gael ESPAsyncWebFfolder gweinydd-feistr
- Ail-enwi eich ffolder o ESPAsyncWebGweinydd-feistr i ESPAsyncWebGweinydd
- Symudwch yr ESPAsyncWebFfolder gweinydd i'ch ffolder llyfrgelloedd gosod Arduino IDE
Fel arall, yn eich IDE Arduino, gallwch fynd i Braslun> Cynnwys
Llyfrgell > Ychwanegu llyfrgell .ZIP... a dewiswch y llyfrgell rydych newydd ei lawrlwytho.
Gosod y Llyfrgell AsyncTCP ar gyfer ESP32
Yr ESPAsyncWebMae llyfrgell gweinydd angen y llyfrgell AsyncTCP i weithio. Dilynwch y camau nesaf i osod y llyfrgell honno:
- Cliciwch yma i lawrlwytho'r llyfrgell AsyncTCP. Dylai fod gennych ffolder .zip yn eich ffolder Lawrlwythiadau
- Dadsipio'r ffolder .zip a dylech gael ffolder AsyncTCP-master
- Ail-enwi eich ffolder o AsyncTCP-master i AsyncTCP
- Symudwch y ffolder AsyncTCP i'ch ffolder llyfrgelloedd gosod Arduino IDE
- Yn olaf, ail-agor eich Arduino IDE
Fel arall, yn eich IDE Arduino, gallwch fynd i Braslun> Cynnwys
Llyfrgell > Ychwanegu llyfrgell .ZIP... a dewiswch y llyfrgell rydych newydd ei lawrlwytho.
Cod
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDE
Ar ôl gosod y llyfrgelloedd gofynnol, Agorwch y cod
Prosiect_8_Allbwn_Cyflwr_Cydamseru_Web_Server.ino yn arduino IDE.
Cyn uwchlwytho'r cod, peidiwch ag anghofio mewnosod eich tystlythyrau rhwydwaith fel y gall yr ESP gysylltu â'ch rhwydwaith lleol.
Sut mae'r Cod yn Gweithio
Cyflwr Botwm a Chyflwr Allbwn
Mae'r newidyn ledState yn dal cyflwr allbwn LED. For default, pan y web gweinydd yn dechrau, mae'n ISEL.
Defnyddir y buttonState a lastButtonState i ganfod a gafodd y botwm gwthio ei wasgu ai peidio.botwm (web gweinydd)
Wnaethon ni ddim cynnwys yr HTML i greu'r botwm ar y newidyn index_html.
Mae hynny oherwydd ein bod am allu ei newid yn dibynnu ar y cyflwr LED presennol y gellir ei newid hefyd gyda'r botwm gwthio.
Felly, rydym wedi creu dalfan ar gyfer y botwm % BUTTONPLACEHOLDER% a fydd yn cael ei ddisodli â thestun HTML i greu'r botwm yn ddiweddarach ar y cod (gwneir hyn yn swyddogaeth y prosesydd()).prosesydd ()
Mae'r swyddogaeth prosesydd () yn disodli unrhyw ddalfannau ar y testun HTML gyda gwerthoedd gwirioneddol. Yn gyntaf, mae'n gwirio a yw'r testunau HTML yn cynnwys unrhyw rai
dalfannau %BUTTONPLACEHOLDholder%.Yna, ffoniwch y swyddogaeth OutputState() sy'n dychwelyd y cyflwr allbwn cyfredol. Rydym yn ei gadw yn y newidyn outputStateValue.
Ar ôl hynny, defnyddiwch y gwerth hwnnw i greu'r testun HTML i arddangos y botwm gyda'r cyflwr cywir:
HTTP GET Cais i Newid Cyflwr Allbwn (JavaScript)
Pan fyddwch yn pwyso'r botwm, gelwir swyddogaeth thetoggleCheckbox(). Bydd y swyddogaeth hon yn gwneud cais ar wahanol URLs i droi'r LED ymlaen neu i ffwrdd.I droi'r LED ymlaen, mae'n gwneud cais ar y /update?state=1 URL:
Fel arall, mae'n gwneud cais ar y /update?state=0 URL.
HTTP GET Cais i Ddiweddaru Cyflwr (JavaScript)
Er mwyn diweddaru'r cyflwr allbwn ar y web gweinydd, rydym yn galw'r swyddogaeth ganlynol sy'n gwneud cais newydd ar y / cyflwr URL bob eiliad.Ymdrin â Cheisiadau
Yna, mae angen inni ymdrin â'r hyn sy'n digwydd pan fydd yr ESP32 neu ESP8266 yn derbyn ceisiadau ar y rheini URLs.
Pan dderbynnir cais ar y gwraidd /URL, rydym yn anfon y dudalen HTML yn ogystal â'r prosesydd.Mae'r llinellau canlynol yn gwirio a gawsoch gais ar y /update?state=1 neu /update?state=0 URL ac yn newid y Wladwriaeth arweiniol yn unol â hynny.
Pan dderbynnir cais ar y /cyflwr URL, rydym yn anfon y cyflwr allbwn cyfredol:
dolen ()
Yn y ddolen (), rydyn ni'n dadfygio'r botwm gwthio ac yn troi'r LED ymlaen neu i ffwrdd yn dibynnu ar werth y ledState newidyn.Arddangosiad
Llwythwch y cod i fyny i'ch camau cyfeirio cod ESP32 board.Upload.
Yna, agorwch y Monitor Cyfresol ar gyfradd baud o 115200. Pwyswch y botwm EN/RST ar y bwrdd i gael y cyfeiriad IP.Agorwch borwr ar eich rhwydwaith lleol, a theipiwch y cyfeiriad IP ESP. Dylech gael mynediad i'r web gweinydd fel y dangosir isod.
Nodyn: Dylai eich porwr ac ESP32 gael eu cysylltu â'r un LAN.Gallwch toglo'r botwm ar y web gweinydd i droi'r LED ymlaen.
Gallwch hefyd reoli'r un LED gyda'r botwm gwthio corfforol. Bydd ei gyflwr bob amser yn cael ei ddiweddaru'n awtomatig ar y web gweinydd.
Prosiect 9 ESP32 DHT11 Web Gweinydd
Yn y prosiect hwn, byddwch yn dysgu sut i adeiladu ESP32 asyncronaidd web gweinydd gyda'r DHT11 sy'n dangos tymheredd a lleithder gan ddefnyddio Arduino IDE.
Rhagofynion
Mae'r web gweinydd byddwn yn adeiladu diweddariadau y darlleniadau yn awtomatig heb fod angen adnewyddu'r web tudalen.
Gyda'r prosiect hwn byddwch yn dysgu:
- Sut i ddarllen tymheredd a lleithder o synwyryddion DHT;
- Adeiladu asyncronig web gweinydd gan ddefnyddio'r ESPAsyncWebLlyfrgell gweinydd;
- Diweddaru'r darlleniadau synhwyrydd yn awtomatig heb fod angen adnewyddu'r web tudalen.
Asynchronous Web Gweinydd
I adeiladu'r web gweinydd byddwn yn defnyddio'r ESPAsyncWebLlyfrgell gweinydd sy'n darparu ffordd hawdd i adeiladu asyncronig web gweinydd. Adeiladu asyncronig web gweinydd wedi sawl advantagau fel y crybwyllwyd ar dudalen GitHub y llyfrgell, megis:
- “Trin mwy nag un cysylltiad ar yr un pryd”;
- “Pan fyddwch chi'n anfon yr ymateb, rydych chi'n barod ar unwaith i drin cysylltiadau eraill tra bod y gweinydd yn gofalu am anfon yr ymateb yn y cefndir”;
- “Peiriant prosesu templed syml i drin templedi”;
Rhannau Angenrheidiol
I gwblhau'r tiwtorial hwn mae angen y rhannau canlynol arnoch:
- Bwrdd datblygu ESP32
- Modiwl DHT11
- Bwrdd bara
- Gwifrau siwmper
SgematigGosod Llyfrgelloedd
Mae angen i chi osod cwpl o lyfrgelloedd ar gyfer y prosiect hwn:
- Mae'r DHT a'r Synhwyrydd Unedig Adafruit Llyfrgelloedd gyrwyr i ddarllen o'r synhwyrydd DHT.
- ESPAsyncWebGweinydd a TCP Async llyfrgelloedd i adeiladu'r asyncronaidd web gweinydd.
Dilynwch y cyfarwyddiadau nesaf i osod y llyfrgelloedd hynny:
Gosod y Llyfrgell Synhwyrydd DHT
I ddarllen o'r synhwyrydd DHT gan ddefnyddio Arduino IDE, mae angen i chi osod y Llyfrgell synhwyrydd DHT. Dilynwch y camau nesaf i osod y llyfrgell.
- Cliciwch yma i lawrlwytho'r llyfrgell DHT Sensor. Dylai fod gennych ffolder .zip yn eich ffolder Lawrlwythiadau
- Dadsipio'r ffolder .zip a dylech gael ffolder DHT-sensor-library-master
- Ail-enwi eich ffolder o DHT-sensor-library-master i DHT_sensor
- Symudwch y ffolder DHT_sensor i'ch ffolder llyfrgelloedd gosod Arduino IDE
- Yn olaf, ail-agor eich Arduino IDE
Gosod Gyrrwr Synhwyrydd Unedig Adafruit
Mae angen i chi hefyd osod y Llyfrgell Gyrwyr Synhwyrydd Unedig Adafruit i weithio gyda'r synhwyrydd DHT. Dilynwch y camau nesaf i osod y llyfrgell.
- Cliciwch yma i lawrlwytho llyfrgell Synhwyrydd Unedig Adafruit. Dylai fod gennych ffolder .zip yn eich ffolder Lawrlwythiadau
- Dadsipio'r ffolder .zip a dylech gael ffolder Adafruit_sensor-master
- Ail-enwi eich ffolder o Adafruit_sensor-master i Adafruit_sensor
- Symudwch y ffolder Adafruit_sensor i'ch ffolder llyfrgelloedd gosod Arduino IDE
- Yn olaf, ail-agor eich Arduino IDE
Gosod yr ESPAsyncWebLlyfrgell gweinydd
Dilynwch y camau nesaf i osod y ESPAsyncWebGweinydd llyfrgell:
- Cliciwch yma i lawrlwytho'r ESPAsyncWebLlyfrgell gweinydd. Dylech gael
ffolder .zip yn eich ffolder Lawrlwythiadau - Dadsipio'r ffolder .zip a dylech
cael ESPAsyncWebFfolder gweinydd-feistr - Ail-enwi eich ffolder o ESPAsyncWebGweinydd-feistr i ESPAsyncWebGweinydd
- Symudwch yr ESPAsyncWebFfolder gweinydd i'ch ffolder llyfrgelloedd gosod Arduino IDE
Gosod Llyfrgell TCP Async ar gyfer ESP32
Mae'r ESPAsyncWebGweinydd llyfrgell yn gofyn am y AsyncTCP llyfrgell i weithio. Dilynwch y camau nesaf i osod y llyfrgell honno:
- Cliciwch yma i lawrlwytho'r llyfrgell AsyncTCP. Dylai fod gennych ffolder .zip yn eich ffolder Lawrlwythiadau
- Dadsipio'r ffolder .zip a dylech gael ffolder AsyncTCP-master
- Ail-enwi eich ffolder o AsyncTCP-master i AsyncTCP
- Symudwch y ffolder AsyncTCP i'ch ffolder llyfrgelloedd gosod Arduino IDE
- Yn olaf, ail-agor eich Arduino IDE
Cod
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDE
Ar ôl gosod y llyfrgelloedd gofynnol, Agorwch y cod
Prosiect_9_ESP32_DHT11_Web_Server.ino yn arduino IDE.
Cyn uwchlwytho'r cod, peidiwch ag anghofio mewnosod eich tystlythyrau rhwydwaith fel y gall yr ESP gysylltu â'ch rhwydwaith lleol.Sut mae'r Cod yn Gweithio
Yn y paragraffau canlynol byddwn yn esbonio sut mae'r cod yn gweithio. Daliwch ati i ddarllen os ydych chi eisiau dysgu mwy neu neidio i'r adran Arddangos i weld y canlyniad terfynol.
Mewnforio llyfrgelloedd
Yn gyntaf, mewnforiwch y llyfrgelloedd gofynnol. Y WiFi, ESPAsyncWebMae angen gweinydd a'r ESPAsyncTCP i adeiladu'r web gweinydd. Mae angen yr Adafruit_Sensor a'r llyfrgelloedd DHT i ddarllen o'r synwyryddion DHT11 neu DHT22.Diffiniad o newidynnau
Diffiniwch y GPIO y mae'r pin data DHT wedi'i gysylltu ag ef. Yn yr achos hwn, mae'n gysylltiedig â GPIO 4.Yna, dewiswch y math synhwyrydd DHT rydych chi'n ei ddefnyddio. Yn ein cynampLe, rydym yn defnyddio'r DHT22. Os ydych chi'n defnyddio math arall, does ond angen i chi ddadwneud eich synhwyrydd a rhoi sylwadau ar y lleill i gyd.
Cychwynnwch wrthrych DHT gyda'r math a'r pin rydyn ni wedi'u diffinio'n gynharach.Creu AsyncWebGwrthrych gweinydd ar borth 80.
Darllenwch Swyddogaethau Tymheredd a Lleithder
Rydyn ni wedi creu dwy swyddogaeth: un i ddarllen y tymheredd Rydyn ni wedi creu dwy swyddogaeth: un i ddarllen y tymheredd (readDHTTemperature()) a'r llall i ddarllen lleithder (readDHTHumidity()).Mae cael darlleniadau synhwyrydd mor syml â defnyddio Mae cael darlleniadau synhwyrydd mor syml â defnyddio'r dulliau darllenTymheredd() a DarllenHumidity() ar y gwrthrych dht.
Mae gennym hefyd gyflwr sy'n dychwelyd dau doriad (–) rhag ofn i'r synhwyrydd fethu â chael y darlleniadau.
Dychwelir y darlleniadau fel math llinyn. I drosi fflôt yn llinyn, defnyddiwch y ffwythiant Llinyn().
Yn ddiofyn, rydyn ni'n darllen y tymheredd mewn graddau Celsius. I gael y tymheredd mewn graddau Fahrenheit, rhowch sylwadau ar y tymheredd yn Celsius a dadwneud y tymheredd yn Fahrenheit, fel bod gennych y canlynol:
Llwythwch y Cod i fyny
Nawr, uwchlwythwch y cod i'ch ESP32. Gwnewch yn siŵr bod gennych y bwrdd cywir a phorthladd COM selected.Upload camau cyfeirnod cod.
Ar ôl llwytho i fyny, agorwch y Monitor Cyfresol ar gyfradd baud o 115200. Pwyswch y botwm ailosod ESP32. Dylid argraffu cyfeiriad IP ESP32 yn y gyfres monitor.Arddangosiad
Agorwch borwr a theipiwch y cyfeiriad IP ESP32. Eich web dylai gweinydd arddangos y darlleniadau synhwyrydd diweddaraf.
Nodyn: Dylai eich porwr ac ESP32 gael eu cysylltu â'r un LAN.
Sylwch fod y darlleniadau tymheredd a lleithder yn cael eu diweddaru'n awtomatig heb fod angen adnewyddu'r web tudalen.
Prosiect_10_ESP32_OLED_Arddangos
Mae'r prosiect hwn yn dangos sut i ddefnyddio'r arddangosfa OLED SSD0.96 1306 modfedd gydag ESP32 gan ddefnyddio Arduino IDE.
Cyflwyno Arddangosfa OLED 0.96 modfedd
Mae'r Arddangosfa OLED y byddwn yn ei ddefnyddio yn y tiwtorial hwn yw'r model SSD1306: arddangosfa monolliw, 0.96 modfedd gyda 128 × 64 picsel fel y dangosir yn y ffigur canlynol.Nid oes angen backlight ar yr arddangosfa OLED, sy'n arwain at gyferbyniad braf iawn mewn amgylcheddau tywyll. Yn ogystal, dim ond pan fyddant ymlaen y mae ei bicseli yn defnyddio ynni, felly mae'r arddangosfa OLED yn defnyddio llai o bŵer o'i gymharu ag arddangosfeydd eraill.
Oherwydd bod yr arddangosfa OLED yn defnyddio protocol cyfathrebu I2C, mae gwifrau'n syml iawn. Gallwch ddefnyddio'r tabl canlynol fel cyfeiriad.
Pin OLED | ESP32 |
Vin | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
SgematigGosod Llyfrgell OLED SSD1306 - ESP32
Mae yna nifer o lyfrgelloedd ar gael i reoli'r arddangosfa OLED gyda'r ESP32.
Yn y tiwtorial hwn byddwn yn defnyddio dwy lyfrgell Adafruit: Llyfrgell Adafruit_SSD1306 a llyfrgell Adafruit_GFX.
Dilynwch y camau nesaf i osod y llyfrgelloedd hynny.
- Agorwch eich IDE Arduino ac ewch i Braslun> Cynnwys Llyfrgell> Rheoli Llyfrgelloedd. Dylai Rheolwr y Llyfrgell agor.
- Teipiwch “SSD1306” yn y blwch chwilio a gosodwch lyfrgell SSD1306 o Adafruit.
- Ar ôl gosod y llyfrgell SSD1306 o Adafruit, teipiwch “GFX” yn y blwch chwilio a gosodwch y llyfrgell.
- Ar ôl gosod y llyfrgelloedd, ailgychwynwch eich Arduino IDE.
Cod
Ar ôl gosod y llyfrgelloedd gofynnol, Agorwch y Project_10_ESP32_OLED_Display.ino yn arduino IDE. cod
Byddwn yn rhaglennu'r ESP32 gan ddefnyddio Arduino IDE, felly gwnewch yn siŵr bod gennych yr ychwanegiad ESP32 wedi'i osod cyn symud ymlaen: (Os ydych chi eisoes wedi gwneud y cam hwn, gallwch chi fynd i'r cam nesaf.)
Gosod Ychwanegyn ESP32 yn Arduino IDESut mae'r Cod yn Gweithio
Mewnforio llyfrgelloedd
Yn gyntaf, mae angen i chi fewnforio'r llyfrgelloedd angenrheidiol. Y llyfrgell Wire i ddefnyddio I2C a llyfrgelloedd Adafruit i ysgrifennu i'r arddangosfa: Adafruit_GFX ac Adafruit_SSD1306.Cychwyn yr arddangosfa OLED
Yna, rydych chi'n diffinio'ch lled a'ch uchder OLED. Yn y cynampLe, rydym yn defnyddio arddangosfa OLED 128 × 64. Os ydych yn defnyddio meintiau eraill, gallwch newid hynny yn y newidynnau SCREEN_WIDTH, a SCREEN_HEIGHT.Yna, dechreuwch wrthrych arddangos gyda'r lled a'r uchder a ddiffinnir yn gynharach gyda phrotocol cyfathrebu I2C (&Wire).
Mae'r paramedr (-1) yn golygu nad oes gan eich arddangosfa OLED pin AILOSOD. Os oes gan eich arddangosfa OLED bin AILOSOD, dylid ei gysylltu â GPIO. Yn yr achos hwnnw, dylech basio'r rhif GPIO fel paramedr.
Yn y setup (), dechreuwch y Monitor Cyfresol ar baud raute o 115200 at ddibenion dadfygio.Cychwynnwch yr arddangosfa OLED gyda'r dull start () fel a ganlyn:
Mae'r pyt hwn hefyd yn argraffu neges ar y Monitor Cyfresol, rhag ofn na allwn gysylltu â'r arddangosfa.
Rhag ofn eich bod yn defnyddio arddangosfa OLED wahanol, efallai y bydd angen i chi newid y cyfeiriad OLED. Yn ein hachos ni, y cyfeiriad yw 0x3C.
Ar ôl cychwyn yr arddangosfa, ychwanegwch oedi o ddwy eiliad, fel bod gan yr OLED ddigon o amser i gychwyn cyn ysgrifennu testun:
Arddangosiad clir, gosod maint y ffont, lliwio ac ysgrifennu testun
Ar ôl cychwyn yr arddangosfa, cliriwch y byffer arddangos gyda'r dull ClearDisplay():
Cyn ysgrifennu testun, mae angen i chi osod maint y testun, lliw a lle bydd y testun yn cael ei arddangos yn yr OLED.
Gosodwch faint y ffont gan ddefnyddio'r dull setTextSize():Gosodwch liw'r ffont gyda'r dull setTextColor():
Mae WHITE yn gosod ffont gwyn a chefndir du.
Diffiniwch y safle lle mae'r testun yn dechrau gan ddefnyddio'r dull setCursor(x,y). Yn yr achos hwn, rydyn ni'n gosod y testun i ddechrau yn y cyfesurynnau (0,0) - ar y gornel chwith uchaf.Yn olaf, gallwch anfon y testun i'r arddangosfa gan ddefnyddio'r dull println(), fel a ganlyn
Yna, mae angen i chi ffonio'r dull arddangos () i arddangos y testun ar y sgrin mewn gwirionedd.
Mae llyfrgell Adafruit OLED yn darparu dulliau defnyddiol i sgrolio testun yn hawdd.
- startscrollright(0x00, 0x0F): sgrolio testun o'r chwith i'r dde
- startscrollleft(0x00, 0x0F): sgroliwch y testun o'r dde i'r chwith
- startscrolldiagleft(0x00, 0x07): sgrolio testun o'r gornel chwith ar y gwaelod i'r gornel uchaf dde startscrolldiagleft(0x00, 0x07): sgrolio testun o'r gornel dde ar y gwaelod i'r gornel chwith uchaf
Llwythwch y Cod i fyny
Nawr, lanlwythwch y cod i'ch camau cyfeirnod cod ESP32.Upload.
Ar ôl uwchlwytho'r cod, bydd yr OLED yn arddangos testun sgrolio.
Dogfennau / Adnoddau
![]() |
Pecyn Cychwyn Sylfaenol LAFVIN ESP32 [pdfLlawlyfr Cyfarwyddiadau Pecyn Cychwyn Sylfaenol ESP32, ESP32, Pecyn Cychwyn Sylfaenol, Pecyn Cychwyn |