LAFVIN logotipsESP32 pamata starteris
Komplekts

Iepakojuma saraksts

LAFVIN ESP32 pamata sākuma komplekts — iepakojuma saraksts

ESP32 Ievads

Vai esat jauns ESP32 lietotājs? Sāciet šeit! ESP32 ir zemu izmaksu un mazjaudas sistēmas mikroshēmā (SoC) sērija, ko izstrādājis Espressif un kas ietver Wi-Fi un Bluetooth bezvadu iespējas un divkodolu procesoru. Ja esat iepazinies ar ESP8266, ESP32 ir tā pēctecis, kurā ir daudz jaunu funkciju.LAFVIN ESP32 pamata sākuma komplekts — ESP32 ievadsESP32 specifikācijas
Ja vēlaties iegūt nedaudz tehniskāku un specifiskāku, varat apskatīt šādas detalizētas ESP32 specifikācijas (avots: http://esp32.net/) — lai iegūtu sīkāku informāciju, pārbaudiet datu lapu):

  • Bezvadu savienojums WiFi: 150.0 Mbps datu pārraides ātrums ar HT40
  • Bluetooth: BLE (Bluetooth Low Energy) un Bluetooth Classic
  • Procesors: Tensilica Xtensa divkodolu 32 bitu LX6 mikroprocesors, kas darbojas ar 160 vai 240 MHz
  • Atmiņa:
  • ROM: 448 KB (sāknēšanai un pamatfunkcijām)
  • SRAM: 520 KB (datiem un instrukcijām)
  • RTC fas SRAM: 8 KB (datu glabāšanai un galvenajam centrālajam procesoram RTC sāknēšanas laikā no dziļā miega režīma)
  • RTC lēnā SRAM: 8 KB (līdzprocesora piekļuvei dziļa miega režīmā) eFuse: 1 Kbit (no kuriem 256 biti tiek izmantoti sistēmai (MAC adrese un mikroshēmas konfigurācija), bet atlikušie 768 biti ir rezervēti klientu lietojumprogrammām, tostarp zibatmiņas šifrēšanai un mikroshēmas ID)

Iegultā zibspuldze: zibspuldze ir iekšēji pievienota, izmantojot IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 un SD_DATA_1 uz ESP32-D2WD un ESP32-PICO-D4.

  • 0 MiB (ESP32-D0WDQ6, ESP32-D0WD un ESP32-S0WD mikroshēmas)
  • 2 MiB (ESP32-D2WD mikroshēma)
  • 4 MiB (ESP32-PICO-D4 SiP modulis)

Zema jauda: nodrošina, ka joprojām varat izmantot ADC konversijas, piemēram,ample, dziļā miega laikā.
Perifērijas ieeja/izvade:

  • perifērijas saskarne ar DMA, kas ietver kapacitatīvo pieskārienu
  • ADC (analogo-digitālo pārveidotājs)
  • DAC (digitālais-analogais pārveidotājs)
  • I²C (starpintegrētā shēma)
  • UART (universālais asinhronais uztvērējs/raidītājs)
  • SPI (seriālā perifērijas saskarne)
  • I²S (Integrated Interchip Sound)
  • RMII (reduced Media Independent Interface)
  • PWM (impulsa platuma modulācija)

Drošība: aparatūras paātrinātāji AES un SSL/TLS

ESP32 attīstības padomes

ESP32 attiecas uz tukšu ESP32 mikroshēmu. Tomēr termins “ESP32” tiek lietots arī, lai apzīmētu ESP32 izstrādes plates. ESP32 tukšu mikroshēmu izmantošana nav vienkārša vai praktiska, it īpaši mācoties, testējot un veidojot prototipus. Lielāko daļu laika jūs vēlaties izmantot ESP32 izstrādes plati.
Mēs izmantosim ESP32 DEVKIT V1 plati kā atsauci. Tālāk esošajā attēlā redzama ESP32 DEVKIT V1 plate, versija ar 30 GPIO tapām.LAFVIN ESP32 pamata sākuma komplekts - ESP32 izstrādes dēļiSpecifikācijas – ESP32 DEVKIT V1
Šajā tabulā parādīts ESP32 DEVKIT V1 DOIT plates funkciju un specifikāciju kopsavilkums:

Serdeņu skaits 2 (divkodolu)
Wi-Fi 2.4 GHz līdz 150 Mbit/s
Bluetooth BLE (Bluetooth Low Energy) un mantotais Bluetooth
Arhitektūra 32 biti
Pulksteņa frekvence Līdz 240 MHz
RAM 512 KB
Piespraudes 30 (atkarībā no modeļa)
Perifērijas ierīces Kapacitatīvs pieskāriens, ADC (analogais-digitālais pārveidotājs), DAC (digitālais-analogais pārveidotājs), 12C (integrētā shēma), UART (universālais asinhronais uztvērējs/raidītājs), CAN 2.0 (vadības apgabala tīkls), SPI (seriālā perifērijas saskarne), 12S (integrētais interfeiss).
Skaņa), RMII (Reduced Media Independent Interface), PWM (impulsa platuma modulācija) un citi.
Iebūvētas pogas RESET un BOOT pogas
Iebūvētas gaismas diodes iebūvēta zila gaismas diode, kas savienota ar GPIO2; iebūvēta sarkana gaismas diode, kas parāda, ka plate tiek darbināta
USB uz UART
tilts
CP2102

LAFVIN ESP32 pamata sākuma komplekts - ESP32 DEVKITTam ir microUSB interfeiss, ko varat izmantot, lai savienotu plati ar datoru, lai augšupielādētu kodu vai pievienotu strāvu.
Tas izmanto CP2102 mikroshēmu (USB uz UART), lai sazinātos ar datoru, izmantojot COM portu, izmantojot seriālo interfeisu. Vēl viena populāra mikroshēma ir CH340. Pārbaudiet, kas ir jūsu plates USB uz UART mikroshēmas pārveidotājs, jo jums būs jāinstalē nepieciešamie draiveri, lai jūsu dators varētu sazināties ar plati (vairāk informācijas par to šajā rokasgrāmatā).
Šim panelim ir arī poga RESET (var būt apzīmēta ar EN), lai restartētu plati, un poga BOOT, lai paneli pārslēgtu mirgošanas režīmā (pieejama koda saņemšanai). Ņemiet vērā, ka dažiem dēļiem var nebūt BOOT pogas.
Tam ir arī iebūvēta zila gaismas diode, kas ir iekšēji savienota ar GPIO 2. Šī gaismas diode ir noderīga atkļūdošanai, lai sniegtu sava veida vizuālu fizisko izvadi. Ir arī sarkana gaismas diode, kas iedegas, kad piegādājat plati strāvu.LAFVIN ESP32 Basic Starter Kit -dēlisESP32 Pinout
ESP32 perifērijas ierīcēs ietilpst:

  • 18 Analog-to-Digital Converter (ADC) kanāli
  • 3 SPI saskarnes
  • 3 UART saskarnes
  • 2 I2C saskarnes
  • 16 PWM izejas kanāli
  • 2 ciparu-analogu pārveidotāji (DAC)
  • 2 I2S saskarnes
  • 10 kapacitatīvās sensora GPIO

ADC (analogais–digitālais pārveidotājs) un DAC (digitālais–analogais pārveidotājs) funkcijas ir piešķirtas noteiktām statiskām tapām. Tomēr jūs varat izlemt, kuras tapas ir UART, I2C, SPI, PWM utt. - jums tās vienkārši jāpiešķir kodā. Tas ir iespējams, pateicoties ESP32 mikroshēmas multipleksēšanas funkcijai.
Lai gan programmatūrā varat definēt tapu rekvizītus, pēc noklusējuma ir piešķirtas tapas, kā parādīts nākamajā attēlāLAFVIN ESP32 pamata sākuma komplekts - ESP32 pinoutTurklāt ir tapas ar īpašām funkcijām, kas padara tās piemērotas vai neder konkrētam projektam. Nākamajā tabulā parādīts, kādus tapas vislabāk izmantot kā ievades, izvades un kuras no tām ir jābūt piesardzīgai.
Zaļā krāsā iezīmētās tapas ir piemērotas lietošanai. Tos, kas iezīmēti dzeltenā krāsā, var izmantot, taču jums ir jāpievērš uzmanība, jo tiem var būt neparedzēta darbība galvenokārt sāknēšanas laikā. Sarkanā krāsā iezīmētās tapas nav ieteicams izmantot kā ieejas vai izejas.

GP IO Ievade Izvade Piezīmes
0 uzvilkts OK sāknēšanas laikā izvada PWM signālu, lai pārietu mirgošanas režīmā, tam jābūt LOW
1 TX tapa OK atkļūdošanas izvade sāknēšanas laikā
2 OK OK savienots ar borta LED, jāatstāj peldošs vai LOW, lai pārietu mirgošanas režīmā
3 OK RX tapa AUGSTS sāknēšanas laikā
4 OK OK
5 OK OK izvada PWM signālu sāknēšanas laikā, stiprinājuma tapa
12 OK OK bagāžnieks neizdodas, ja to velk augstu, stiprinājuma tapa
13 OK OK
14 OK OK sāknēšanas laikā izvada PWM signālu
15 OK OK izvada PWM signālu sāknēšanas laikā, stiprinājuma tapa
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 tikai ievade
35 OK tikai ievade
36 OK tikai ievade
39 OK tikai ievade

Turpiniet lasīt, lai iegūtu detalizētāku un padziļinātu ESP32 GPIO un tā funkciju analīzi.
Ievadiet tikai tapas
GPIO no 34 līdz 39 ir GPI — tikai ievades tapas. Šīm tapām nav iekšējo vilkšanas vai nolaižamo rezistoru. Tos nevar izmantot kā izejas, tāpēc izmantojiet šīs tapas tikai kā ievades:

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

SPI zibspuldze integrēta ESP-WROOM-32
No GPIO 6 līdz GPIO 11 ir redzami daži ESP32 izstrādes paneļi. Tomēr šīs tapas ir savienotas ar integrēto SPI zibspuldzi ESP-WROOM-32 mikroshēmā un nav ieteicamas citiem lietojumiem. Tāpēc savos projektos neizmantojiet šīs tapas:

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

Kapacitatīvie pieskāriena GPIO
ESP32 ir 10 iekšējie kapacitatīvie pieskāriena sensori. Tie var sajust izmaiņas jebko, kas satur elektrisko lādiņu, piemēram, cilvēka ādā. Tādējādi viņi var noteikt izmaiņas, kas rodas, pieskaroties GPIO ar pirkstu. Šīs tapas var viegli integrēt kapacitatīvos spilventiņos un aizstāt mehāniskās pogas. Kapacitatīvās pieskāriena tapas var izmantot arī, lai pamodinātu ESP32 no dziļa miega. Šie iekšējie pieskāriena sensori ir savienoti ar šiem GPIO:

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

Analogais uz ciparu pārveidotājs (ADC)
ESP32 ir 18 x 12 bitu ADC ievades kanāli (kamēr ESP8266 ir tikai 1 x 10 bitu ADC). Šie ir GPIO, kurus var izmantot kā ADC un attiecīgos kanālus:

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

Piezīme: ADC2 tapas nevar izmantot, ja tiek izmantots Wi-Fi. Tātad, ja izmantojat Wi-Fi un jums ir problēmas iegūt vērtību no ADC2 GPIO, tā vietā varat apsvērt iespēju izmantot ADC1 GPIO. Tam vajadzētu atrisināt jūsu problēmu.
ADC ievades kanāliem ir 12 bitu izšķirtspēja. Tas nozīmē, ka varat iegūt analogos rādījumus no 0 līdz 4095, kuros 0 atbilst 0 V un 4095 līdz 3.3 V. Varat arī iestatīt savu kanālu izšķirtspēju kodā un ADC diapazonā.
ESP32 ADC tapām nav lineāras darbības. Jūs, iespējams, nevarēsit atšķirt 0 un 0.1 V vai 3.2 un 3.3 V. Jums tas jāpatur prātā, izmantojot ADC tapas. Jūs iegūsit uzvedību, kas ir līdzīga tai, kas parādīta nākamajā attēlā.LAFVIN ESP32 pamata sākuma komplekts — uzvedībaCiparu analogais pārveidotājs (DAC)
ESP2 ir 8 x 32 bitu DAC kanāli, lai pārveidotu digitālos signālus par analogo tilpumutage signāla izejas. Šie ir DAC kanāli:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
ESP32 ir pieejams RTC GPIO atbalsts. GPIO, kas novirzīti uz RTC mazjaudas apakšsistēmu, var izmantot, kad ESP32 atrodas dziļā miega režīmā. Šos RTC GPIO var izmantot, lai pamodinātu ESP32 no dziļa miega, kad ir īpaši zems
Darbojas barošanas (ULP) kopprocesors. Tālāk norādītos GPIO var izmantot kā ārēju modināšanas avotu.

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

PWM
ESP32 LED PWM kontrollerim ir 16 neatkarīgi kanāli, kurus var konfigurēt, lai ģenerētu PWM signālus ar dažādām īpašībām. Visas tapas, kas var darboties kā izejas, var izmantot kā PWM tapas (GPIO 34–39 nevar ģenerēt PWM).
Lai iestatītu PWM signālu, kodā jādefinē šie parametri:

  • signāla frekvence;
  • Darba cikls;
  • PWM kanāls;
  • GPIO, kur vēlaties izvadīt signālu.

I2C
ESP32 ir divi I2C kanāli, un jebkuru tapu var iestatīt kā SDA vai SCL. Izmantojot ESP32 ar Arduino IDE, noklusējuma I2C tapas ir:

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

Ja, izmantojot vadu bibliotēku, vēlaties izmantot citus tapas, jums vienkārši jāzvana:
Wire.begin(SDA, SCL);
SPI
Pēc noklusējuma SPI tapas kartējums ir:

SPI MOSI Miso CLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

Pārtrauc
Visus GPIO var konfigurēt kā pārtraukumus.
Siksnas tapas
ESP32 mikroshēmai ir šādas stiprinājuma tapas:

  • GPIO 0 (lai ievadītu sāknēšanas režīmu, tam jābūt LOW)
  • GPIO 2 (sāknēšanas laikā ir jābūt peldošam vai LOW)
  • GPIO 4
  • GPIO 5 (sāknēšanas laikā jābūt HIGH)
  • GPIO 12 (sāknēšanas laikā ir jābūt LOW)
  • GPIO 15 (sāknēšanas laikā jābūt HIGH)

Tos izmanto, lai ESP32 ieslēgtu sāknēšanas ielādēšanas vai mirgošanas režīmā. Lielākajā daļā izstrādes paneļu ar iebūvētu USB/seriālu jums nav jāuztraucas par šo tapu stāvokli. Dēlis novieto tapas pareizajā stāvoklī mirgošanas vai sāknēšanas režīmam. Plašāku informāciju par ESP32 sāknēšanas režīma izvēli var atrast šeit.
Tomēr, ja šīm tapām ir pievienotas perifērijas ierīces, var rasties problēmas, mēģinot augšupielādēt jaunu kodu, mirgot ESP32 ar jaunu programmaparatūru vai atiestatīt plati. Ja dažas perifērijas ierīces ir savienotas ar siksnu tapām un rodas problēmas ar koda augšupielādi vai ESP32 mirgošanu, iespējams, šīs perifērijas ierīces neļauj ESP32 pāriet pareizajā režīmā. Izlasiet sāknēšanas režīma izvēles dokumentāciju, lai palīdzētu jums virzīties pareizajā virzienā. Pēc atiestatīšanas, mirgošanas vai sāknēšanas šīs tapas darbojas, kā paredzēts.
Piespraudes HIGH at Boot
Daži GPIO maina savu stāvokli uz HIGH vai izvada PWM signālus sāknēšanas vai atiestatīšanas laikā.
Tas nozīmē, ka, ja šiem GPIO ir pievienotas izejas, ESP32 atiestatīšanas vai sāknēšanas laikā varat iegūt negaidītus rezultātus.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 līdz GPIO 11 (savienots ar ESP32 integrēto SPI zibatmiņu – nav ieteicams lietot).
  • GPIO 14
  • GPIO 15

Iespējot (EN)
Iespējot (EN) ir 3.3 V regulatora iespējošanas tapa. Tas ir uzvilkts, tāpēc pievienojiet zemei, lai atspējotu 3.3 V regulatoru. Tas nozīmē, ka varat izmantot šo tapu, kas savienota ar spiedpogu, lai restartētu ESP32, piemēramample.
Novilkta GPIO strāva
Absolūtā maksimālā strāva, kas paņemta vienam GPIO, ir 40 mA saskaņā ar sadaļu “Ieteicamie darbības apstākļi” ESP32 datu lapā.
ESP32 iebūvēts Hall efekta sensors
ESP32 ir arī iebūvēts halles efekta sensors, kas nosaka apkārtējā magnētiskā lauka izmaiņas
ESP32 Arduino IDE
Ir pieejams Arduino IDE papildinājums, kas ļauj programmēt ESP32, izmantojot Arduino IDE un tā programmēšanas valodu. Šajā apmācībā mēs parādīsim, kā instalēt ESP32 plati Arduino IDE neatkarīgi no tā, vai izmantojat Windows, Mac OS X vai Linux.
Priekšnosacījumi: Instalēta Arduino IDE
Pirms šīs instalēšanas procedūras sākšanas datorā ir jābūt instalētam Arduino IDE. Ir divas Arduino IDE versijas, kuras varat instalēt: 1. un 2. versija.
Jūs varat lejupielādēt un instalēt Arduino IDE, noklikšķinot uz šīs saites: arduino.cc/en/Main/Software
Kuru Arduino IDE versiju mēs iesakām? Šobrīd tādas ir plugins ESP32 (piemēram, SPIFFS Filesistēmas augšupielādētāja spraudnis), kas vēl netiek atbalstīti operētājsistēmā Arduino 2. Tātad, ja plānojat turpmāk izmantot SPIFFS spraudni, iesakām instalēt mantoto versiju 1.8.X. Lai to atrastu, jums vienkārši jāritina uz leju Arduino programmatūras lapā.
ESP32 papildinājuma instalēšana Arduino IDE
Lai instalētu ESP32 plati savā Arduino IDE, izpildiet šos norādījumus:

  1. Savā Arduino IDE atveriet uz File> PreferencesLAFVIN ESP32 pamata sākuma komplekts — preferences
  2. Sadaļā “Papildu padomes vadītājs” ievadiet tālāk norādīto URLs” lauks:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Pēc tam noklikšķiniet uz pogas "OK":LAFVIN ESP32 pamata sākuma komplekts - poga “OK”.Piezīme: ja jums jau ir ESP8266 plates URL, varat atdalīt URLs ar komatu šādi:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Atveriet dēļu pārvaldnieku. Dodieties uz Rīki > Dēlis > Dēļu pārvaldnieks…LAFVIN ESP32 pamata sākuma komplekts - EspressifMeklēt ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 pamata sākuma komplekts - EspressifTas arī viss. Tas jāinstalē pēc dažām sekundēm.LAFVIN ESP32 Basic Starter Kit - uzstādīts

Augšupielādējiet testa kodu

Pievienojiet ESP32 plati datoram. Kad jūsu Arduino IDE ir atvērts, veiciet šīs darbības:

  1. Izvēlnē Rīki > Tāfele atlasiet savu plati (manā gadījumā tas ir ESP32 DEV modulis)LAFVIN ESP32 Basic Starter Kit - Tools Board
  2. Atlasiet portu (ja savā Arduino IDE neredzat COM portu, UART Bridge VCP draiveros jāinstalē CP210x USB):LAFVIN ESP32 pamata sākuma komplekts - UART tilts
  3. Atveriet šādu example zem File > Piemamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 pamata sākuma komplekts - WiFiScanLAFVIN ESP32 pamata sākuma komplekts — WiFiScan 1
  4. Jūsu Arduino IDE tiek atvērta jauna skice:LAFVIN ESP32 pamata sākuma komplekts — Arduino IDE
  5. Arduino IDE nospiediet augšupielādes pogu. Pagaidiet dažas sekundes, kamēr kods tiek apkopots un augšupielādēts jūsu dēlī.LAFVIN ESP32 Basic Starter Kit - dēlis
  6. Ja viss noritēja, kā paredzēts, jums vajadzētu redzēt ziņojumu “Augšupielāde pabeigta”. ziņa.LAFVIN ESP32 pamata sākuma komplekts — augšupielāde ir pabeigta
  7. Atveriet Arduino IDE seriālo monitoru ar bodu ātrumu 115200:LAFVIN ESP32 pamata sākuma komplekts - monitors
  8. Nospiediet ESP32 iebūvēto pogu Iespējot, un jums vajadzētu redzēt ESP32 tuvumā pieejamos tīklus:LAFVIN ESP32 pamata sākuma komplekts — poga Iespējot

Problēmu novēršana

Ja mēģināt augšupielādēt jaunu skici savā ESP32 un tiek parādīts šāds kļūdas ziņojums “Radās fatāla kļūda: neizdevās izveidot savienojumu ar ESP32: noildze... Notiek savienojuma izveide…”. Tas nozīmē, ka jūsu ESP32 nav mirgošanas/augšupielādes režīmā.
Kad ir atlasīts pareizais plates nosaukums un COM por, rīkojieties šādi:
ESP32 platē turiet nospiestu pogu “BOOT”.LAFVIN ESP32 pamata sākuma komplekts — “BOOT”

  • Lai augšupielādētu skici, Arduino IDE nospiediet pogu Augšupielādēt:LAFVIN ESP32 pamata sākuma komplekts — ICON 6
  • Kad esat redzējis “Savienojuma izveide…”. ziņojumu savā Arduino IDE, atlaidiet pirkstu no pogas “BOOT”:LAFVIN ESP32 pamata sākuma komplekts — “Augšupielāde pabeigta
  • Pēc tam jums vajadzētu redzēt ziņojumu “Augšupielāde pabeigta”.
    Tas arī viss. Jūsu ESP32 vajadzētu darboties jaunajai skicei. Nospiediet pogu “IESPĒJOT”, lai restartētu ESP32 un palaistu jauno augšupielādēto skici.
    Jums arī būs jāatkārto šī pogu secība katru reizi, kad vēlaties augšupielādēt jaunu skici.

1. projekts ESP32 ieejas izejas

Šajā darba sākšanas rokasgrāmatā jūs uzzināsit, kā lasīt digitālās ievades, piemēram, pogu slēdzi, un kontrolēt digitālās izejas, piemēram, LED, izmantojot ESP32 ar Arduino IDE.
Priekšnoteikumi
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE. Tātad, pirms turpināt, pārliecinieties, vai ir instalēts ESP32 plates papildinājums:

  • ESP32 papildinājuma instalēšana Arduino IDE

ESP32 vadības digitālās izejas
Pirmkārt, jums ir jāiestata GPIO, kuru vēlaties kontrolēt kā IZJUMU. Izmantojiet funkciju pinMode() šādi:
pinMode(GPIO, OUTPUT);
Lai kontrolētu digitālo izvadi, jums vienkārši jāizmanto funkcija digitalWrite (), kas pieņem kā argumentus, GPIO (int skaitlis), uz kuru atsaucaties, un stāvokli HIGH vai LOW.
digitalWrite (GPIO, STATE);
Visus GPIO var izmantot kā izejas, izņemot GPIO 6 līdz 11 (savienots ar integrēto SPI zibspuldzi) un GPIO 34, 35, 36 un 39 (ievadei tikai GPIO);
Uzziniet vairāk par ESP32 GPIO: ESP32 GPIO uzziņu rokasgrāmata
ESP32 Lasīt digitālās ieejas
Vispirms iestatiet GPIO, kuru vēlaties lasīt, kā INPUT, izmantojot funkciju pinMode() šādi:
pinMode(GPIO, INPUT);
Lai nolasītu digitālo ievadi, piemēram, pogu, izmantojiet funkciju digitalRead(), kas kā argumentu pieņem norādīto GPIO (int numuru).
digitalRead (GPIO);
Visus ESP32 GPIO var izmantot kā ievades, izņemot GPIO no 6 līdz 11 (savienots ar integrēto SPI zibspuldzi).
Uzziniet vairāk par ESP32 GPIO: ESP32 GPIO uzziņu rokasgrāmata
Projekts Example
Lai parādītu, kā izmantot digitālās ievades un digitālās izejas, mēs izveidosim vienkāršu projektu, piemēramample ar spiedpogu un LED. Mēs nolasīsim spiedpogas stāvokli un attiecīgi iedegsim LED, kā parādīts nākamajā attēlā.LAFVIN ESP32 pamata sākuma komplekts — Project Example

Nepieciešamas daļas
Šeit ir saraksts ar daļām, kas jums nepieciešamas, lai izveidotu ķēdi:

  • ESP32 DEVKIT V1
  • 5 mm LED
  • 220 omu rezistors
  • Uzspied pogu
  • 10k omu rezistors
  • Maizes dēlis
  • Džemperu vadi

Shematiskā diagramma
Pirms turpināt, jums ir jāsamontē ķēde ar LED un spiedpogu.
Mēs savienosim LED ar GPIO 5 un spiedpogu ar GPIO 4.LAFVIN ESP32 pamata sākuma komplekts — shematiskā diagrammaKods
Arduino IDE atveriet kodu Project_1_ESP32_Inputs_Outputs.inoLAFVIN ESP32 pamata sākuma komplekts - kodsLAFVIN ESP32 pamata sākuma komplekts — 1. kodsKā darbojas kods
Šajās divās rindās jūs izveidojat mainīgos, lai piešķirtu tapas:

LAFVIN ESP32 pamata sākuma komplekts — darbojas kodsPoga ir savienota ar GPIO 4, un gaismas diode ir savienota ar GPIO 5. Izmantojot Arduino IDE ar ESP32, 4 atbilst GPIO 4 un 5 atbilst GPIO 5.
Pēc tam jūs izveidojat mainīgo, lai turētu pogas stāvokli. Pēc noklusējuma tas ir 0 (nav nospiests).
int buttonState = 0;
Izvēlnē Setup () pogu inicializējat kā IEEJA un LED kā IZeju.
Šim nolūkam jūs izmantojat funkciju pinMode (), kas pieņem kontaktu, uz kuru atsaucāties, un režīmu: INPUT vai OUTPUT.
pinMode(pogaPin, INPUT);
pinMode(ledPin, OUTPUT);
In the loop () ir vieta, kur jūs nolasāt pogas stāvokli un attiecīgi iestatāt LED.
Nākamajā rindā jūs izlasiet pogas stāvokli un saglabājiet to mainīgajā buttonState.
Kā mēs redzējām iepriekš, jūs izmantojat funkciju digitalRead ().
pogasState = digitalRead(buttonPin);
Šis if paziņojums pārbauda, ​​vai pogas stāvoklis ir HIGH. Ja tā ir, tas ieslēdz LED, izmantojot funkciju digitalWrite(), kas kā argumentu pieņem ledPin un stāvokli HIGH.
ja (buttonState == AUGSTS)LAFVIN ESP32 pamata sākuma komplekts — darbojas kods 1Ja pogas stāvoklis nav HIGH, jūs izslēdzat LED. Vienkārši iestatiet LOW kā otro argumentu funkcijā digitalWrite ().LAFVIN ESP32 pamata sākuma komplekts - digitalWriteKoda augšupielāde
Pirms noklikšķināt uz augšupielādes pogas, dodieties uz Rīki > Tāfele un atlasiet plati :DOIT ESP32 DEVKIT V1.
Dodieties uz Rīki > Ports un atlasiet COM portu, ar kuru ir pievienots ESP32. Pēc tam nospiediet augšupielādes pogu un gaidiet ziņojumu “Augšupielāde pabeigta”.LAFVIN ESP32 pamata sākuma komplekts — ICON 7Piezīme. Ja atkļūdošanas logā redzat daudz punktu (savienojuma izveide…__…__) un ziņojumu “Neizdevās izveidot savienojumu ar ESP32: noildze gaidot paketes galveni”, tas nozīmē, ka pēc punktiem ir jānospiež ESP32 borta BOOT poga.
sāk parādīties.Problēmu novēršana

Demonstrācija

Pēc koda augšupielādes pārbaudiet ķēdi. Jūsu LED jāiedegas, kad nospiežat spiedpogu:LAFVIN ESP32 pamata sākuma komplekts — demonstrācijaUn izslēdziet, kad to atlaižat:LAFVIN ESP32 pamata sākuma komplekts — izslēgšana

2. projekts ESP32 analogās ieejas

Šis projekts parāda, kā lasīt analogās ievades ar ESP32, izmantojot Arduino IDE.
Analogā nolasīšana ir noderīga, lai nolasītu vērtības no mainīgiem rezistoriem, piemēram, potenciometriem vai analogajiem sensoriem.
Analogās ieejas (ADC)
Analogās vērtības nolasīšana ar ESP32 nozīmē, ka varat izmērīt mainīgu tilpumutage līmeņi no 0 V līdz 3.3 V.
SējtagPēc tam izmērītajam e tiek piešķirta vērtība no 0 līdz 4095, kurā 0 V atbilst 0 un 3.3 V atbilst 4095. Jebkurš tilpumstage no 0 V līdz 3.3 V tiks piešķirta atbilstošā vērtība starp tām.LAFVIN ESP32 pamata sākuma komplekts — analogās ieejasADC ir nelineārs
Ideālā gadījumā, izmantojot ESP32 ADC tapas, jūs varētu sagaidīt lineāru darbību.
Tomēr tas nenotiek. Jūs iegūsit uzvedību, kas parādīta šajā diagrammā:LAFVIN ESP32 pamata sākuma komplekts - nelineārsŠāda darbība nozīmē, ka jūsu ESP32 nespēj atšķirt 3.3 V no 3.2 V.
Jūs saņemsiet vienādu vērtību abiem sējtages: 4095.
Tas pats notiek ar ļoti zemu tilpumutage vērtības: 0 V un 0.1 V jūs saņemsiet tādu pašu vērtību: 0. Jums tas jāpatur prātā, lietojot ESP32 ADC tapas.
analogRead() funkcija
Analogās ievades lasīšana ar ESP32, izmantojot Arduino IDE, ir tikpat vienkārša kā funkcijas analogRead () izmantošana. Kā arguments tiek pieņemts GPIO, kuru vēlaties lasīt:
analogRead (GPIO);
Tikai 15 ir pieejami DEVKIT V1platē (versija ar 30 GPIO).
Satveriet ESP32 plates spraudni un atrodiet ADC tapas. Tālāk esošajā attēlā tie ir izcelti ar sarkanu apmali.LAFVIN ESP32 Basic Starter Kit - apmaleŠīm analogās ievades tapām ir 12 bitu izšķirtspēja. Tas nozīmē, ka, lasot analogo ievadi, tās diapazons var mainīties no 0 līdz 4095.
Piezīme. ADC2 tapas nevar izmantot, ja tiek izmantots Wi-Fi. Tātad, ja izmantojat Wi-Fi un jums ir problēmas iegūt vērtību no ADC2 GPIO, tā vietā varat apsvērt iespēju izmantot ADC1 GPIO, kas varētu atrisināt jūsu problēmu.
Lai redzētu, kā viss sadarbojas, izveidosim vienkāršu bijušoample nolasīt analogo vērtību no potenciometra.
Nepieciešamas daļas
Šim bijušajamample, jums ir nepieciešamas šādas daļas:

  • ESP32 DEVKIT V1 valde
  • Potenciometrs
  • Maizes dēlis
  • Džemperu vadi

Shematisks
Pievienojiet potenciometru savam ESP32. Potenciometra vidējai tapai jābūt savienotai ar GPIO 4. Kā atsauci varat izmantot šādu shematisko diagrammu.LAFVIN ESP32 pamata sākuma komplekts - shematisksKods
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 pievienojumprogrammu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDE
Arduino IDE atveriet kodu Project_2_ESP32_Inputs_Outputs.inoLAFVIN ESP32 pamata sākuma komplekts — 2. kodsŠis kods vienkārši nolasa vērtības no potenciometra un izdrukā šīs vērtības sērijas monitorā.
Kodā jūs sākat, definējot GPIO, ar kuru potenciometrs ir savienots. Šajā bijušajāample, GPIO 4.LAFVIN ESP32 pamata sākuma komplekts - piemampleIzvēlnē setup () inicializējiet seriālo komunikāciju ar datu pārraides ātrumu 115200.LAFVIN ESP32 pamata sākuma komplekts - piemamp1Ciklā () izmantojiet funkciju analogRead (), lai nolasītu analogo ievadi no potPin.LAFVIN ESP32 pamata sākuma komplekts - piemamp2Visbeidzot izdrukājiet vērtības, kas nolasītas no seriālā monitora potenciometra.LAFVIN ESP32 pamata sākuma komplekts - piemamp3Augšupielādējiet sniegto kodu savā ESP32. Pārliecinieties, vai izvēlnē Rīki ir atlasīta pareizā plate un COM ports.
Pārbaudot bijušoample
Pēc koda augšupielādes un ESP32 atiestatīšanas pogas nospiešanas atveriet seriālo monitoru ar bodu ātrumu 115200 XNUMX. Pagrieziet potenciometru un skatiet, kā mainās vērtības.Maksimālā vērtība, ko saņemsit, ir 4095, bet minimālā vērtība ir 0.LAFVIN ESP32 Basic Starter Kit -maksimālā vērtība

Iesaiņošana

Šajā rakstā jūs uzzinājāt, kā lasīt analogās ievades, izmantojot ESP32 ar Arduino IDE. Rezumējot:

  • ESP32 DEVKIT V1 DOIT platei (versija ar 30 tapām) ir 15 ADC tapas, ko varat izmantot, lai nolasītu analogās ieejas.
  • Šo tapu izšķirtspēja ir 12 biti, kas nozīmē, ka varat iegūt vērtības no 0 līdz 4095.
  • Lai nolasītu vērtību Arduino IDE, vienkārši izmantojiet funkciju analogRead ().
  • ESP32 ADC tapām nav lineāras darbības. Jūs, iespējams, nevarēsit atšķirt 0 un 0.1 V vai 3.2 un 3.3 V. Jums tas jāpatur prātā, izmantojot ADC tapas.

Project 3 ESP32 PWM (analogā izeja)

Šajā apmācībā mēs parādīsim, kā ģenerēt PWM signālus ar ESP32, izmantojot Arduino IDE. Kā bijušaisampmēs izveidosim vienkāršu shēmu, kas aptumšo LED, izmantojot ESP32 LED PWM kontrolieri.LAFVIN ESP32 pamata sākuma komplekts — analogā izejaESP32 LED PWM kontrolieris
ESP32 ir LED PWM kontrolieris ar 16 neatkarīgiem kanāliem, kurus var konfigurēt, lai ģenerētu PWM signālus ar dažādām īpašībām.
Tālāk ir norādītas darbības, kas jums jāveic, lai aptumšotu LED ar PWM, izmantojot Arduino IDE:

  1. Pirmkārt, jums jāizvēlas PWM kanāls. Ir 16 kanāli no 0 līdz 15.
  2. Pēc tam jums jāiestata PWM signāla frekvence. Gaismas diodei ir piemērota 5000 Hz frekvence.
  3. Jums arī jāiestata signāla darba cikla izšķirtspēja: jums ir izšķirtspēja no 1 līdz 16 bitiem. Mēs izmantosim 8 bitu izšķirtspēju, kas nozīmē, ka varat kontrolēt LED spilgtumu, izmantojot vērtību no 0 līdz 255.
  4.  Tālāk jums jānorāda, uz kuriem GPIO vai GPIO tiks parādīts signāls. Šim nolūkam izmantosit šādu funkciju:
    ledcAttachPin (GPIO, kanāls)
    Šī funkcija pieņem divus argumentus. Pirmais ir GPIO, kas izvadīs signālu, un otrais ir kanāls, kas ģenerēs signālu.
  5. Visbeidzot, lai kontrolētu LED spilgtumu, izmantojot PWM, izmantojiet šādu funkciju:

ledcWrite(kanāls, darba cikls)
Šī funkcija kā argumentus pieņem kanālu, kas ģenerē PWM signālu, un darba ciklu.
Nepieciešamas daļas
Lai sekotu šai apmācībai, jums ir nepieciešamas šīs daļas:

  • ESP32 DEVKIT V1 valde
  • 5 mm LED
  • 220 omu rezistors
  •  Maizes dēlis
  • Džemperu vadi

Shematisks
Pievienojiet LED savam ESP32, kā parādīts nākamajā shematiskajā diagrammā. Gaismas diodei jābūt savienotai ar GPIO 4.LAFVIN ESP32 pamata sākuma komplekts - shematisksPiezīme: varat izmantot jebkuru tapu, kuru vēlaties, ja vien tā var darboties kā izvade. Visas tapas, kas var darboties kā izejas, var izmantot kā PWM tapas. Lai iegūtu papildinformāciju par ESP32 GPIO, lasiet: ESP32 kontaktdakšas atsauce: kuras GPIO tapas jums vajadzētu izmantot?
Kods
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 pievienojumprogrammu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDE
Arduino IDE atveriet kodu Project_3_ESP32_PWM.inoLAFVIN ESP32 pamata sākuma komplekts — 3. kodsLAFVIN ESP32 pamata sākuma komplekts — 4. kodsVispirms definējiet tapu, kurai ir pievienota gaismas diode. Šajā gadījumā gaismas diode ir pievienota GPIO 4.LAFVIN ESP32 pamata sākuma komplekts — 5. kodsPēc tam iestatiet PWM signāla īpašības. Jūs definējat 5000 Hz frekvenci, izvēlieties kanālu 0, lai ģenerētu signālu, un iestatiet 8 bitu izšķirtspēju. Varat izvēlēties citus rekvizītus, kas atšķiras no šiem, lai ģenerētu dažādus PWM signālus.LAFVIN ESP32 pamata sākuma komplekts — 6. kodsProgrammā setup () jums ir jākonfigurē LED PWM ar iepriekš definētajiem rekvizītiem, izmantojot funkciju ledcSetup (), kas pieņem kā argumentus, ledChannel, frekvenci un izšķirtspēju, kā norādīts tālāk:LAFVIN ESP32 pamata sākuma komplekts — 8. kodsPēc tam jums jāizvēlas GPIO, no kura saņemsit signālu. Šim nolūkam izmantojiet funkciju ledcAttachPin(), kas kā argumentus pieņem GPIO, kurā vēlaties iegūt signālu, un kanālu, kas ģenerē signālu. Šajā bijušajāample, mēs saņemsim signālu ledPin GPIO, kas atbilst GPIO 4. Kanāls, kas ģenerē signālu, ir ledChannel, kas atbilst kanālam 0.LAFVIN ESP32 pamata sākuma komplekts — 9. kodsŠajā ciklā jūs mainīsit darba ciklu no 0 līdz 255, lai palielinātu LED spilgtumu.LAFVIN ESP32 Basic Starter Kit - spilgtumsUn pēc tam no 255 līdz 0, lai samazinātu spilgtumu.LAFVIN ESP32 pamata sākuma komplekts — spilgtums 1Lai iestatītu gaismas diodes spilgtumu, jums vienkārši jāizmanto funkcija ledcWrite(), kas kā argumentus pieņem kanālu, kas ģenerē signālu, un darba ciklu.LAFVIN ESP32 pamata sākuma komplekts — spilgtums 2Tā kā mēs izmantojam 8 bitu izšķirtspēju, darba cikls tiks kontrolēts, izmantojot vērtību no 0 līdz 255. Ņemiet vērā, ka funkcijā ledcWrite() mēs izmantojam kanālu, kas ģenerē signālu, nevis GPIO.

Pārbaudot bijušoample

Augšupielādējiet kodu savā ESP32. Pārliecinieties, vai esat izvēlējies pareizo plati un COM portu. Paskaties uz savu ķēdi. Jums vajadzētu būt dimmer LED, kas palielina un samazina spilgtumu.LAFVIN ESP32 pamata sākuma komplekts — eksemplāra pārbaudeample

4. projekts ESP32 PIR kustības sensors

Šis projekts parāda, kā noteikt kustību, izmantojot ESP32, izmantojot PIR kustības sensoru. Skaņas signāls atskanēs trauksmes signāls, kad tiks konstatēta kustība, un apturēs trauksmi, ja iepriekš iestatītā laikā (piemēram, 4 sekundes) netiek konstatēta kustība.
Kā darbojas kustības sensors HC-SR501
.LAFVIN ESP32 pamata sākuma komplekts — darbojas kustības sensorsSensora HC-SR501 darbības princips ir balstīts uz kustīgā objekta infrasarkanā starojuma maiņu. Lai objektu uztvertu HC-SR501 sensors, tam jāatbilst divām prasībām:

  • Objekts izstaro infrasarkano staru.
  • Objekts kustas vai dreb

Tātad:
Ja objekts izstaro infrasarkano staru, bet nekustas (piem., cilvēks stāv uz vietas, nekustoties), sensors to nenosaka.
Ja objekts kustas, bet NEizstaro infrasarkano staru (piem., robots vai transportlīdzeklis), sensors to NEatpazīst.
Iepazīstinām ar taimeriem
Šajā bijušajāampieviesīsim arī taimerus. Mēs vēlamies, lai gaismas diode paliktu ieslēgta iepriekš noteiktu sekunžu skaitu pēc kustības noteikšanas. Tā vietā, lai izmantotu funkciju delay (), kas bloķē jūsu kodu un neļauj jums darīt neko citu noteiktu sekunžu skaitu, mums vajadzētu izmantot taimeri.LAFVIN ESP32 pamata sākuma komplekts — iepazīstieties ar taimeriemAizkaves () funkcija
Jums ir jāzina funkcija delay(), jo tā tiek plaši izmantota. Šīs funkcijas lietošana ir diezgan vienkārša. Tas pieņem vienu int skaitli kā argumentu.
Šis skaitlis norāda laiku milisekundēs, kas programmai jāgaida, līdz pāriet uz nākamo koda rindiņu.LAFVIN ESP32 Basic Starter Kit - kodsKad veicat aizkavi (1000), jūsu programma apstājas šajā līnijā uz 1 sekundi.
delay() ir bloķēšanas funkcija. Bloķēšanas funkcijas neļauj programmai darīt kaut ko citu, līdz konkrētais uzdevums ir pabeigts. Ja jums ir nepieciešami vairāki uzdevumi, kas jāveic vienlaikus, jūs nevarat izmantot delay ().
Lielākajai daļai projektu jums vajadzētu izvairīties no aizkaves un tā vietā izmantot taimerus.
Funkcija millis().
Izmantojot funkciju millis(), varat atgriezt milisekundes, kas pagājušas kopš programmas pirmās palaišanas.LAFVIN ESP32 Basic Starter Kit - programma pirmo reizi tika palaistaKāpēc šī funkcija ir noderīga? Tā kā, izmantojot kādu matemātiku, varat viegli pārbaudīt, cik daudz laika ir pagājis, nebloķējot kodu.
Nepieciešamas daļas
Lai sekotu šai apmācībai, jums ir nepieciešamas šādas daļas

  • ESP32 DEVKIT V1 valde
  • PIR kustības sensors (HC-SR501)
  • Aktīvs skaņas signāls
  • Džemperu vadi
  • Maizes dēlis

ShematisksLAFVIN ESP32 pamata sākuma komplekts — 1. shēmaPiezīme: Darba sējtagHC-SR501 e ir 5 V. Izmantojiet Vin tapu, lai to darbinātu.
Kods
Pirms turpināt šo apmācību, jūsu Arduino IDE ir jāinstalē ESP32 papildinājums. Izpildiet kādu no tālāk sniegtajām pamācībām, lai instalētu ESP32 Arduino IDE, ja vēl neesat to izdarījis. (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDE
Arduino IDE atveriet kodu Project_4_ESP32_PIR_Motion_Sensor.ino.
Demonstrācija
Augšupielādējiet kodu savā ESP32 platē. Pārliecinieties, vai esat izvēlējies pareizo plati un COM portu. Augšupielādējiet kodu atsauces darbības.
Atveriet seriālo monitoru ar datu pārraides ātrumu 115200 XNUMX.LAFVIN ESP32 pamata sākuma komplekts — 1. demonstrācijaPārvietojiet roku PIR sensora priekšā. Ieslēdzas skaņas signālam, un seriālajā monitorā tiek izdrukāts ziņojums “Kustība konstatēta!Buzzera trauksme”.
Pēc 4 sekundēm skaņas signālam ir jāizslēdzas.LAFVIN ESP32 Basic Starter Kit - zummers

Projekta 5 ESP32 slēdzis Web Serveris

Šajā projektā jūs izveidosit atsevišķu web serveris ar ESP32, kas kontrolē izejas (divas gaismas diodes), izmantojot Arduino IDE programmēšanas vidi. The web serveris reaģē uz mobilajām ierīcēm, un tam var piekļūt ar jebkuru ierīci, kas kā pārlūkprogramma vietējā tīklā. Mēs parādīsim, kā izveidot web serveri un kā kods darbojas soli pa solim.
Projekts beidziesview
Pirms doties tieši uz projektu, ir svarīgi ieskicēt, ko mūsu web serveris, lai vēlāk būtu vieglāk veikt darbības.

  • The web serveris, kuru izveidosit, kontrolē divus LED, kas savienoti ar ESP32 GPIO 26 un GPIO 27;
  • Jūs varat piekļūt ESP32 web serveri, lokālā tīkla pārlūkprogrammā ierakstot ESP32 IP adresi;
  • Noklikšķinot uz pogām uz jūsu web serverī varat uzreiz mainīt katras gaismas diodes stāvokli.

Nepieciešamas daļas
Šai apmācībai jums būs nepieciešamas šādas daļas:

  • ESP32 DEVKIT V1 valde
  • 2x 5mm LED
  • 2x 200 omu rezistors
  • Maizes dēlis
  • Džemperu vadi

Shematisks
Sāciet ar ķēdes izveidi. Savienojiet divus gaismas diodes ar ESP32, kā parādīts šajā shematiskajā shēmā – vienu LED savienotu ar GPIO 26, bet otru ar GPIO 27.
Piezīme: Mēs izmantojam ESP32 DEVKIT DOIT plati ar 36 tapām. Pirms ķēdes montāžas noteikti pārbaudiet izmantotās plates kontaktdakšu.LAFVIN ESP32 pamata sākuma komplekts - shematisksKods
Šeit mēs sniedzam kodu, kas izveido ESP32 web serveris. Atveriet kodu Project_5_ESP32_Switch _Web_Server.ino arduino IDE, bet vēl neaugšupielādējiet to. Jums ir jāveic dažas izmaiņas, lai tas darbotos jūsu labā.
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 pievienojumprogrammu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDE
Tīkla akreditācijas datu iestatīšana
Jums ir jāmaina šādas rindiņas ar saviem tīkla akreditācijas datiem: SSID un parole. Kods ir labi komentēts, kur jums jāveic izmaiņas.LAFVIN ESP32 pamata sākuma komplekts — tīkla akreditācijas datiKoda augšupielāde
Tagad varat augšupielādēt kodu un un web serveris darbosies uzreiz.
Lai augšupielādētu kodu ESP32, veiciet tālāk norādītās darbības.

  1. Pievienojiet ESP32 plati datoram;
  2. Arduino IDE atlasiet savu plati sadaļā Rīki> Tāfele (mūsu gadījumā mēs izmantojam ESP32 DEVKIT DOIT plati);LAFVIN ESP32 pamata sākuma komplekts — koda augšupielāde
  3. Izvēlieties COM portu sadaļā Rīki > Ports.LAFVIN ESP32 pamata sākuma komplekts — rīku ports
  4. Arduino IDE nospiediet pogu Augšupielādēt un pagaidiet dažas sekundes, kamēr kods tiek apkopots un augšupielādēts jūsu dēlī.LAFVIN ESP32 pamata sākuma komplekts — ICON 7
  5. Pagaidiet ziņojumu “Augšupielāde pabeigta”.LAFVIN ESP32 pamata sākuma komplekts — augšupielāde pabeigta 1

ESP IP adreses atrašana
Pēc koda augšupielādes atveriet Serial Monitor ar bodu ātrumu 115200.LAFVIN ESP32 pamata sākuma komplekts - ESP IP adreseNospiediet ESP32 EN pogu (atiestatīt). ESP32 izveido savienojumu ar Wi-Fi un izvada ESP IP adresi seriālajā monitorā. Kopējiet šo IP adresi, jo jums tā ir nepieciešama, lai piekļūtu ESP32 web serveris.LAFVIN ESP32 pamata sākuma komplekts - web serverisPiekļūstot Web Serveris
Lai piekļūtu web serveri, atveriet savu pārlūkprogrammu, ielīmējiet ESP32 IP adresi, un jūs redzēsit šādu lapu.
Piezīme: Jūsu pārlūkprogrammai un ESP32 jābūt savienotiem ar vienu un to pašu LAN.LAFVIN ESP32 pamata sākuma komplekts — piekļuve Web ServerisJa paskatās uz seriālo monitoru, varat redzēt, kas notiek fonā. ESP saņem HTTP pieprasījumu no jauna klienta (šajā gadījumā no jūsu pārlūkprogrammas).LAFVIN ESP32 pamata sākuma komplekts — HTTP pieprasījumsVarat arī skatīt citu informāciju par HTTP pieprasījumu.
Demonstrācija
Tagad jūs varat pārbaudīt, vai jūsu web serveris darbojas pareizi. Noklikšķiniet uz pogām, lai vadītu gaismas diodes.LAFVIN ESP32 pamata sākuma komplekts - fonsTajā pašā laikā varat apskatīt Serial Monitor, lai redzētu, kas notiek fonā. Piemēram,ampnoklikšķinot uz pogas, lai ieslēgtu GPIO 26, ESP32 saņem pieprasījumu uz /26/on. URL.LAFVIN ESP32 pamata sākuma komplekts - URLKad ESP32 saņem šo pieprasījumu, tas ieslēdz GPIO 26 pievienoto LED un atjaunina tā stāvokli web lapā.LAFVIN ESP32 pamata sākuma komplekts - web lapāGPIO 27 poga darbojas līdzīgi. Pārbaudiet, vai tas darbojas pareizi.LAFVIN ESP32 pamata sākuma komplekts - darbojas pareizi

Kā darbojas kods

Šajā sadaļā kods tiks sīkāk aplūkots, lai redzētu, kā tas darbojas.
Pirmā lieta, kas jums jādara, ir iekļaut WiFi bibliotēku.LAFVIN ESP32 pamata sākuma komplekts - WiFi bibliotēkaKā minēts iepriekš, turpmākajās rindās dubultpēdiņās ir jāievieto savs ssid un parole.LAFVIN ESP32 Basic Starter Kit - dubultpēdiņāsPēc tam jūs iestatāt savu web serveris uz portu 80.LAFVIN ESP32 pamata sākuma komplekts - web serverisŠajā rindā tiek izveidots mainīgais, lai saglabātu HTTP pieprasījuma galveni:LAFVIN ESP32 pamata sākuma komplekts — HTTP pieprasījumsPēc tam izveidojat papildu mainīgos, lai saglabātu pašreizējo izvadu stāvokli. Ja vēlaties pievienot vairāk izvadu un saglabāt tā stāvokli, jums ir jāizveido vairāk mainīgo.LAFVIN ESP32 Basic Starter Kit - mainīgieKatrai izejai ir arī jāpiešķir GPIO. Šeit mēs izmantojam GPIO 26 un GPIO 27. Varat izmantot jebkuru citu piemērotu GPIO.LAFVIN ESP32 Basic Starter Kit - cits piemērotsiestatīšana ()
Tagad pāriesim pie iestatīšanas (). Pirmkārt, atkļūdošanas nolūkos mēs sākam seriālo komunikāciju ar datu pārraides ātrumu 115200 XNUMX.LAFVIN ESP32 Basic Starter Kit - mērķiemJūs arī definējat savus GPIO kā OUTPUT un iestatāt tos uz LOW.LAFVIN ESP32 pamata sākuma komplekts — GPIO kā IZVĒLESŠīs rindas sāk Wi-Fi savienojumu ar WiFi.begin(ssid, parole), pagaidiet veiksmīgu savienojumu un izdrukājiet ESP IP adresi seriālajā monitorā.LAFVIN ESP32 pamata sākuma komplekts — sērijveidaLAFVIN ESP32 pamata sākuma komplekts — 1. sērijacilpa ()
Ciklā () mēs programmējam, kas notiek, kad jauns klients izveido savienojumu ar web serveris.
ESP32 vienmēr uzklausa ienākošos klientus ar šādu līniju:LAFVIN ESP32 Basic Starter Kit - cilpaSaņemot pieprasījumu no klienta, mēs saglabāsim ienākošos datus. Tālāk esošā while cilpa darbosies tik ilgi, kamēr klients būs savienots. Mēs neiesakām mainīt tālāk norādīto koda daļu, ja vien precīzi nezināt, ko darāt.LAFVIN ESP32 Basic Starter Kit - tieši tāLAFVIN ESP32 pamata sākuma komplekts — tieši 1LAFVIN ESP32 pamata sākuma komplekts — tieši 2Nākamajā if un else paziņojumu sadaļā tiek pārbaudīta, kura poga tika nospiesta jūsu web lapu un attiecīgi kontrolē izejas. Kā redzējām iepriekš, mēs iesniedzam pieprasījumu par dažādiem URLs atkarībā no nospiestās pogas.LAFVIN ESP32 Basic Starter Kit - poga nospiestaLAFVIN ESP32 pamata sākuma komplekts — nospiesta poga 1Piemēram,ampJa esat nospiedis pogu GPIO 26 ON, ESP32 saņem pieprasījumu uz /26/ON URL (šo informāciju varam redzēt seriālā monitora HTTP galvenē). Tātad, mēs varam pārbaudīt, vai galvenē ir izteiksme GET /26/on. Ja tas satur, mēs mainām mainīgo output26state uz ON, un ESP32 ieslēdz LED.
Tas darbojas līdzīgi citām pogām. Tātad, ja vēlaties pievienot vairāk izvadu, jums vajadzētu modificēt šo koda daļu, lai tās iekļautu.
HTML parādīšana web lapā
Nākamā lieta, kas jums jādara, ir izveidot web lapā. ESP32 nosūtīs atbildi uz jūsu pārlūkprogrammu ar HTML kodu, lai izveidotu web lapā.
The web lapa tiek nosūtīta klientam, izmantojot šo izteiksmi client.println(). Kā argumentu jāievada tas, ko vēlaties nosūtīt klientam.
Pirmā lieta, kas mums jānosūta, vienmēr ir nākamā rinda, kas norāda, ka mēs sūtām HTML.LAFVIN ESP32 Basic Starter Kit — HTML sūtīšanaPēc tam sekojošā rinda veido web lapa atsaucīga jebkurā web pārlūkprogramma.LAFVIN ESP32 pamata sākuma komplekts - web pārlūkprogrammaTālāk norādītais tiek izmantots, lai novērstu pieprasījumus favicon. – Jums nav jāuztraucas par šo līniju.LAFVIN ESP32 pamata sākuma komplekts - client.println

Stilēšana Web Lapa

Tālāk mums ir CSS teksts, lai veidotu pogas un stilus web lapas izskats.
Mēs izvēlamies Helvetica fontu, definējam saturu, kas jāparāda kā bloks un jāsaskaņo centrā.LAFVIN ESP32 pamata sākuma komplekts — stila veidošana Web LapaMēs veidojam pogas ar krāsu #4CAF50, bez apmales, tekstu baltā krāsā un ar šo polsterējumu: 16 pikseļi 40 pikseļi. Mēs arī iestatījām teksta noformējumu uz None, definējam fonta lielumu, malu un kursoru uz rādītāju.LAFVIN ESP32 Basic Starter Kit - rādītājsMēs arī definējam otras pogas stilu ar visām pogas īpašībām, kuras esam definējuši iepriekš, bet ar citu krāsu. Šis būs izslēgšanas pogas stils.LAFVIN ESP32 pamata sākuma komplekts — client.println 1

Iestatīšana Web Lapas pirmais virsraksts
Nākamajā rindā varat iestatīt savu pirmo virsrakstu web lapā. Šeit mums ir “ESP32 Web Serveris”, taču jūs varat mainīt šo tekstu uz to, kas jums patīk.LAFVIN ESP32 pamata sākuma komplekts - Web Lapas virsrakstsParāda pogas un atbilstošo stāvokli
Pēc tam rakstiet rindkopu, lai parādītu GPIO 26 pašreizējo stāvokli. Kā redzat, mēs izmantojam mainīgo output26State, lai, mainoties šim mainīgajam, stāvoklis tiktu nekavējoties atjaunināts.LAFVIN ESP32 Basic Starter Kit - mainīgas izmaiņasPēc tam atkarībā no pašreizējā GPIO stāvokļa tiek parādīta ieslēgšanas vai izslēgšanas poga. Ja pašreizējais GPIO stāvoklis ir izslēgts, mēs parādām pogu ON, ja nē, mēs parādām pogu OFF.LAFVIN ESP32 pamata sākuma komplekts — parādiet pogu OFFMēs izmantojam to pašu procedūru GPIO 27.
Savienojuma aizvēršana
Visbeidzot, kad atbilde beidzas, mēs notīrām galvenes mainīgo un pārtraucam savienojumu ar klientu ar client.stop().LAFVIN ESP32 pamata sākuma komplekts — savienojuma aizvēršana

Iesaiņošana

Šajā apmācībā mēs esam parādījuši, kā izveidot a web serveris ar ESP32. Mēs esam parādījuši jums vienkāršu bijušoample, kas kontrolē divas gaismas diodes, bet ideja ir aizstāt šīs gaismas diodes ar releju vai jebkuru citu izvadi, kuru vēlaties kontrolēt.

Projekts 6 RGB LED Web Serveris

Šajā projektā mēs parādīsim, kā attālināti vadīt RGB LED ar ESP32 plati, izmantojot a web serveris ar krāsu atlasītāju.
Projekts beidziesview
Pirms darba sākšanas apskatīsim, kā šis projekts darbojas:LAFVIN ESP32 pamata sākuma komplekts — projekts beidziesview

  • ESP32 web serveris parāda krāsu atlasītāju.
  • Izvēloties krāsu, jūsu pārlūkprogramma veic pieprasījumu a URL kas satur atlasītās krāsas R, G un B parametrus.
  • Jūsu ESP32 saņem pieprasījumu un sadala katra krāsu parametra vērtību.
  • Pēc tam tas nosūta PWM signālu ar atbilstošo vērtību GPIO, kas kontrolē RGB LED.

Kā darbojas RGB gaismas diodes?
Kopējā katoda RGB gaismas diodēs visām trim gaismas diodēm ir negatīvs savienojums (katods). Visi komplektā iekļautie ir kopējā katoda RGB.LAFVIN ESP32 Basic Starter Kit - RGB gaismas diodes darbojasKā izveidot dažādas krāsas?
Izmantojot RGB LED, jūs, protams, varat ražot sarkanu, zaļu un zilu gaismu, un, konfigurējot katras gaismas diodes intensitāti, varat ražot arī citas krāsas.
Piemēram,ample, lai radītu tīri zilu gaismu, zilajai gaismas diodei jāiestata visaugstākā intensitāte un zaļajai un sarkanajai gaismas diodei jāiestata zemākā intensitāte. Lai iegūtu baltu gaismu, visas trīs gaismas diodes iestatiet visaugstākajā intensitātē.
Krāsu sajaukšana
Lai iegūtu citas krāsas, varat apvienot trīs krāsas dažādās intensitātēs. Lai pielāgotu katras gaismas diodes intensitāti, varat izmantot PWM signālu.
Tā kā gaismas diodes atrodas ļoti tuvu viena otrai, mūsu acis redz krāsu kombinācijas rezultātu, nevis trīs krāsas atsevišķi.
Lai gūtu priekšstatu par to, kā apvienot krāsas, apskatiet šo tabulu.
Šī ir vienkāršākā krāsu sajaukšanas diagramma, taču tā sniedz priekšstatu, kā tā darbojas un kā iegūt dažādas krāsas.LAFVIN ESP32 Basic Starter Kit - dažādas krāsasNepieciešamas daļas
Šim projektam jums ir nepieciešamas šādas daļas:

  • ESP32 DEVKIT V1 valde
  • RGB LED
  • 3x 220 omu rezistori
  • Džemperu vadi
  • Maizes dēlis

ShematisksLAFVIN ESP32 pamata sākuma komplekts - shematisksKods
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 pievienojumprogrammu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)

  • ESP32 papildinājuma instalēšana Arduino IDE

Pēc ķēdes montāžas atveriet kodu
Projekts_6_RGB_LED_Web_Server.ino arduino IDE.
Pirms koda augšupielādes neaizmirstiet ievietot tīkla akreditācijas datus, lai ESP varētu izveidot savienojumu ar jūsu vietējo tīklu.LAFVIN ESP32 Basic Starter Kit - lokālais tīklsKā kods darbojas
ESP32 skice izmanto WiFi.h bibliotēku.LAFVIN ESP32 Basic Starter Kit — WiFi.h bibliotēkaNākamajās rindās ir definēti virknes mainīgie, lai saglabātu pieprasījuma R, G un B parametrus.LAFVIN ESP32 pamata sākuma komplekts - string redStringNākamie četri mainīgie tiek izmantoti, lai vēlāk atšifrētu HTTP pieprasījumu.LAFVIN ESP32 pamata sākuma komplekts — HTTP pieprasījumsIzveidojiet trīs mainīgos GPIO, kas kontrolēs joslas R, G un B parametrus. Šajā gadījumā mēs izmantojam GPIO 13, GPIO 12 un GPIO 14.LAFVIN ESP32 pamata sākuma komplekts — nepieciešams GPIOŠiem GPIO ir jāizvada PWM signāli, tāpēc mums vispirms ir jākonfigurē PWM rekvizīti. Iestatiet PWM signāla frekvenci uz 5000 Hz. Pēc tam katrai krāsai saistiet PWM kanāluLAFVIN ESP32 Basic Starter Kit - katra krāsaVisbeidzot, iestatiet PWM kanālu izšķirtspēju uz 8 bitiemLAFVIN ESP32 Basic Starter Kit - PWM kanāliIzvēlnē setup () piešķiriet PWM rekvizītus PWM kanāliemLAFVIN ESP32 Basic Starter Kit - PWM kanāliPievienojiet PWM kanālus attiecīgajiem GPIOLAFVIN ESP32 pamata sākuma komplekts — atbilstošie GPIONākamajā koda sadaļā tiek parādīts krāsu atlasītājs jūsu ierīcē web lapu un veic pieprasījumu, pamatojoties uz jūsu izvēlēto krāsu.LAFVIN ESP32 Basic Starter Kit - paņemtsLAFVIN ESP32 pamata sākuma komplekts - client.printlnLAFVIN ESP32 pamata sākuma komplekts — client.println 1Izvēloties krāsu, jūs saņemat pieprasījumu šādā formātā.LAFVIN ESP32 Basic Starter Kit - šāds formāts

Tātad, mums ir jāsadala šī virkne, lai iegūtu R, G un B parametrus. Parametri tiek saglabāti mainīgajos redString, greenString un blueString, un to vērtības var būt no 0 līdz 255.LAFVIN ESP32 Basic Starter Kit - galveneLAFVIN ESP32 pamata sākuma komplekts — 1. galveneLai vadītu joslu ar ESP32, izmantojiet funkciju ledcWrite(), lai ģenerētu PWM signālus ar vērtībām, kas atšifrētas no HTTP. pieprasījumu.LAFVIN ESP32 pamata sākuma komplekts — HTTP pieprasījums 1Piezīme: Uzziniet vairāk par PWM ar ESP32: Project 3 ESP32 PWM (analogā izeja)
Lai vadītu sloksni ar ESP8266, mums vienkārši jāizmanto
funkcija analogWrite(), lai ģenerētu PWM signālus ar vērtībām, kas atšifrētas no HTPP pieprasījuma.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Tā kā mēs iegūstam vērtības virknes mainīgajā, mums tās jāpārvērš veselos skaitļos, izmantojot metodi toInt ().
Demonstrācija
Pēc tīkla akreditācijas datu ievietošanas atlasiet pareizo plati un COM portu un augšupielādējiet kodu savā ESP32. Augšupielādējiet kodu atsauces darbības.
Pēc augšupielādes atveriet seriālo monitoru ar bodu ātrumu 115200 XNUMX un nospiediet pogu ESP iespējot/atiestatīt. Jums vajadzētu iegūt dēļa IP adresi.LAFVIN ESP32 pamata sākuma komplekts — tas pats LANAtveriet pārlūkprogrammu un ievietojiet ESP IP adresi. Tagad izmantojiet krāsu atlasītāju, lai izvēlētos RGB LED krāsu.
Pēc tam jums jānospiež poga "Mainīt krāsu", lai krāsa stātos spēkā.LAFVIN ESP32 pamata sākuma komplekts - RGB LEDLai izslēgtu RGB LED, izvēlieties melno krāsu.
Spēcīgākās krāsas (krāsu atlasītāja augšdaļā) ir tās, kas nodrošinās labākus rezultātus.LAFVIN ESP32 Basic Starter Kit — labāki rezultāti

Projekts 7 ESP32 relejs Web Serveris

Releja izmantošana ar ESP32 ir lielisks veids, kā attālināti vadīt maiņstrāvas sadzīves tehniku. Šajā apmācībā ir paskaidrots, kā vadīt releja moduli ar ESP32.
Mēs apskatīsim, kā darbojas releja modulis, kā savienot releju ar ESP32 un izveidot web serveris, lai attālināti vadītu releju.
Iepazīstinām ar relejiem
Relejs ir elektriski darbināms slēdzis, un tāpat kā jebkuru citu slēdzi to var ieslēgt vai izslēgt, ļaujot strāvai iet cauri vai nē. To var vadīt ar zemu tilpumutages, piemēram, 3.3 V, ko nodrošina ESP32 GPIO, un ļauj mums kontrolēt lielu skaļumutages, piemēram, 12V, 24V vai tīkla tilpumstage (230 V Eiropā un 120 V ASV).LAFVIN ESP32 pamata starta komplekts — iepazīstieties ar relejiemKreisajā pusē ir divi trīs ligzdu komplekti, lai savienotu lielu tilpumutages, un tapas labajā pusē (zems tilpumstage) izveidojiet savienojumu ar ESP32 GPIO.
Mains Voltage SavienojumiLAFVIN ESP32 pamata starta komplekts — tīkla sējtage SavienojumiReleja modulim, kas parādīts iepriekšējā fotoattēlā, ir divi savienotāji, katrā no tiem ir trīs ligzdas: kopīgs (COM), normāli aizvērts (NC) un normāli atvērts (NO).

  • COM: pievienojiet strāvu, kuru vēlaties kontrolēt (tīkla apjomstagun).
  • NC (parasti aizvērts): parasti slēgtā konfigurācija tiek izmantota, ja vēlaties, lai relejs būtu aizvērts pēc noklusējuma. NC ir pievienoti COM kontakti, kas nozīmē, ka strāva plūst, ja vien nenosūtāt signālu no ESP32 uz releja moduli, lai atvērtu ķēdi un apturētu strāvas plūsmu.
  • NĒ (parasti atvērts): parasti atvērtā konfigurācija darbojas otrādi: nav savienojuma starp NO un COM tapām, tāpēc ķēde tiek pārtraukta, ja vien nenosūtāt signālu no ESP32, lai aizvērtu ķēdi.

Vadības tapasLAFVIN ESP32 pamata sākuma komplekts - vadības tapasZema tilpumatagvienā pusē ir četru tapu komplekts un trīs tapu komplekts. Pirmais komplekts sastāv no VCC un GND, lai ieslēgtu moduli, un ieejas 1 (IN1) un ieejas 2 (IN2), lai kontrolētu attiecīgi apakšējo un augšējo releju.
Ja jūsu releja modulim ir tikai viens kanāls, jums būs tikai viens IN kontakts. Ja jums ir četri kanāli, jums būs četras IN tapas un tā tālāk.
Signāls, ko nosūtāt uz IN tapām, nosaka, vai relejs ir aktīvs vai nē. Relejs tiek aktivizēts, kad ieeja ir zemāka par aptuveni 2 V. Tas nozīmē, ka jums būs šādi scenāriji:

  • Parasti slēgta konfigurācija (NC):
  • HIGH signāls – plūst strāva
  • LOW signāls – strāva neplūst
  • Parasti atvērta konfigurācija (NO):
  • HIGH signāls – strāva neplūst
  • LOW signāls – strāva plūst

Jums vajadzētu izmantot parasti slēgtu konfigurāciju, kad strāvai vajadzētu plūst lielāko daļu reižu, un jūs vēlaties to apturēt tikai reizēm.
Izmantojiet parasti atvērtu konfigurāciju, ja vēlaties, lai strāva plūst laiku pa laikam (piemēram,ample, ieslēdziet alamp laiku pa laikam).
Barošanas avota izvēleLAFVIN ESP32 pamata sākuma komplekts - barošanas avota izvēleOtrais tapu komplekts sastāv no GND, VCC un JD-VCC tapām.
JD-VCC tapa nodrošina releja elektromagnētu. Ņemiet vērā, ka modulim ir džempera vāciņš, kas savieno VCC un JD-VCC tapas; šeit redzamā krāsa ir dzeltena, bet jūsu krāsa var būt citāda.
Kad džempera vāciņš ir uzlikts, VCC un JD-VCC tapas ir savienotas. Tas nozīmē, ka releja elektromagnēts tiek tieši darbināts no ESP32 barošanas tapas, tāpēc releja modulis un ESP32 ķēdes nav fiziski izolētas viena no otras.
Bez džempera vāciņa jums ir jānodrošina neatkarīgs barošanas avots, lai iedarbinātu releja elektromagnētu caur JD-VCC tapu. Šī konfigurācija fiziski izolē relejus no ESP32 ar moduļa iebūvēto optisko savienotāju, kas novērš ESP32 bojājumus elektrisko tapas gadījumā.
ShematisksLAFVIN ESP32 pamata sākuma komplekts - shematisksBrīdinājums: Liela tilpuma izmantošanatage barošanas avoti var izraisīt nopietnus savainojumus.
Tāpēc lielas padeves tilpuma vietā tiek izmantotas 5 mm gaismas diodestage spuldzes eksperimentā. Ja neesat pazīstams ar tīkla ttagpajautājiet kādam, kurš jums palīdzēs. Programmējot ESP vai savienojot ķēdi, pārliecinieties, vai viss ir atvienots no elektrotīklatage.LAFVIN ESP32 Basic Starter Kit - elektrotīkla tilptageESP32 bibliotēkas instalēšana
Lai izveidotu šo web serveri, mēs izmantojam ESPAsyncWebServera bibliotēka un AsyncTCP bibliotēka.
ESPAsync instalēšanaWebServera bibliotēka
Veiciet nākamās darbības, lai instalētu ESPAsyncWebServeris bibliotēka:

  1. Noklikšķiniet šeit, lai lejupielādētu ESPAsyncWebServera bibliotēka. Tev vajadzēja
    .zip mapi mapē Lejupielādes
  2. Izpakojiet .zip mapi, un jums vajadzētu iegūt ESPAsyncWebServera galvenā mape
  3. Pārdēvējiet savu mapi no ESPAsyncWebServeris-master uz ESPAsyncWebServeris
  4. Pārvietojiet ESPAsyncWebServera mape uz jūsu Arduino IDE instalācijas bibliotēku mapi

Alternatīvi, savā Arduino IDE varat doties uz Skice> Iekļaut
Bibliotēka > Pievienot .ZIP bibliotēku… un atlasiet tikko lejupielādēto bibliotēku.
AsyncTCP bibliotēkas instalēšana ESP32
The ESPAsyncWebServeris bibliotēka pieprasa AsyncTCP bibliotēka strādāt. Sekojiet
nākamās darbības, lai instalētu šo bibliotēku:

  1. Noklikšķiniet šeit, lai lejupielādētu AsyncTCP bibliotēku. Mapē Lejupielādes ir jābūt .zip mapei
  2. Izpakojiet .zip mapi, un jums vajadzētu iegūt AsyncTCP galveno mapi
    1. Pārdēvējiet savu mapi no AsyncTCP-master uz AsyncTCP
    3. Pārvietojiet mapi AsyncTCP uz savu Arduino IDE instalācijas bibliotēku mapi
    4. Visbeidzot, atkārtoti atveriet savu Arduino IDE

Alternatīvi, savā Arduino IDE varat doties uz Skice> Iekļaut
Bibliotēka > Pievienot .ZIP bibliotēku… un atlasiet tikko lejupielādēto bibliotēku.
Kods
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 pievienojumprogrammu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDE
Pēc nepieciešamo bibliotēku instalēšanas atveriet kodu Project_7_ESP32_Relay_Web_Server.ino arduino IDE.
Pirms koda augšupielādes neaizmirstiet ievietot tīkla akreditācijas datus, lai ESP varētu izveidot savienojumu ar jūsu vietējo tīklu.LAFVIN ESP32 Basic Starter Kit - lokālais tīklsDemonstrācija
Pēc nepieciešamo izmaiņu veikšanas augšupielādējiet kodu savā ESP32.Augšupielādējiet kodu atsauces darbības.
Atveriet seriālo monitoru ar bodu ātrumu 115200 32 un nospiediet pogu ESP32 EN, lai iegūtu tā IP adresi. Pēc tam atveriet pārlūkprogrammu vietējā tīklā un ierakstiet ESPXNUMX IP adresi, lai piekļūtu web serveris.
Atveriet seriālo monitoru ar bodu ātrumu 115200 32 un nospiediet pogu ESP32 EN, lai iegūtu tā IP adresi. Pēc tam atveriet pārlūkprogrammu vietējā tīklā un ierakstiet ESPXNUMX IP adresi, lai piekļūtu web serveris.LAFVIN ESP32 pamata sākuma komplekts - web serverisPiezīme: Jūsu pārlūkprogrammai un ESP32 jābūt savienotiem ar vienu un to pašu LAN.
Jums vajadzētu iegūt kaut ko šādu ar divām pogām kā releju skaitu, ko esat definējis savā kodā.LAFVIN ESP32 Basic Starter Kit - viedtālrunisTagad varat izmantot pogas, lai vadītu relejus, izmantojot viedtālruni.LAFVIN ESP32 pamata sākuma komplekts — viedtālrunis 1

Projekts_8_Izvades_State_Synchronization_ Web_Serveris

Šis projekts parāda, kā kontrolēt ESP32 vai ESP8266 izejas, izmantojot a web serveri un fizisko pogu vienlaicīgi. Izvades stāvoklis tiek atjaunināts web lapā, vai tas tiek mainīts, izmantojot fizisko pogu vai web serveris.
Projekts beidziesview
Īsi apskatīsim, kā projekts darbojas.LAFVIN ESP32 pamata sākuma komplekts — projekts beidziesviewESP32 vai ESP8266 mitina a web serveris, kas ļauj kontrolēt izvades stāvokli;

  • Pašreizējais izvades stāvoklis tiek parādīts uz web serveris;
  • ESP ir savienots arī ar fizisku spiedpogu, kas kontrolē to pašu izvadi;
  • Ja maināt izvades stāvokli, izmantojot fizisko puhspogu, tā pašreizējais stāvoklis tiek atjaunināts arī uz web serveris.

Rezumējot, šis projekts ļauj kontrolēt to pašu izvadi, izmantojot a web serveris un spiedpoga vienlaicīgi. Ikreiz, kad mainās izvades stāvoklis, web serveris ir atjaunināts.
Nepieciešamas daļas
Šeit ir saraksts ar daļām, kas jums nepieciešamas, lai izveidotu ķēdi:

  • ESP32 DEVKIT V1 valde
  • 5 mm LED
  • 220 omu rezistors
  • Uzspied pogu
  • 10k omu rezistors
  • Maizes dēlis
  • Džemperu vadi

ShematisksLAFVIN ESP32 pamata sākuma komplekts — 1. shēmaESP32 bibliotēkas instalēšana
Lai izveidotu šo web serveri, mēs izmantojam ESPAsyncWebServera bibliotēka un AsyncTCP bibliotēka. (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESPAsync instalēšanaWebServera bibliotēka
Veiciet nākamās darbības, lai instalētu ESPAsyncWebServera bibliotēka:

  1. Noklikšķiniet šeit, lai lejupielādētu ESPAsyncWebServera bibliotēka. Tev vajadzēja
    .zip mapi mapē Lejupielādes
  2. Izpakojiet .zip mapi, un jums vajadzētu iegūt ESPAsyncWebServera galvenā mape
  3. Pārdēvējiet savu mapi no ESPAsyncWebServeris-master uz ESPAsyncWebServeris
  4. Pārvietojiet ESPAsyncWebServera mape uz jūsu Arduino IDE instalācijas bibliotēku mapi
    Alternatīvi, savā Arduino IDE varat doties uz Skice> Iekļaut
    Bibliotēka > Pievienot .ZIP bibliotēku… un atlasiet tikko lejupielādēto bibliotēku.

AsyncTCP bibliotēkas instalēšana ESP32
ESPAsyncWebServera bibliotēkai ir nepieciešama AsyncTCP bibliotēka, lai tā darbotos. Lai instalētu šo bibliotēku, veiciet tālāk norādītās darbības.

  1. Noklikšķiniet šeit, lai lejupielādētu AsyncTCP bibliotēku. Mapē Lejupielādes ir jābūt .zip mapei
  2. Izpakojiet .zip mapi, un jums vajadzētu iegūt AsyncTCP galveno mapi
  3. Pārdēvējiet savu mapi no AsyncTCP-master uz AsyncTCP
  4. Pārvietojiet mapi AsyncTCP uz savu Arduino IDE instalācijas bibliotēku mapi
  5. Visbeidzot, atkārtoti atveriet savu Arduino IDE
    Alternatīvi, savā Arduino IDE varat doties uz Skice> Iekļaut
    Bibliotēka > Pievienot .ZIP bibliotēku… un atlasiet tikko lejupielādēto bibliotēku.

Kods
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 pievienojumprogrammu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDE
Pēc nepieciešamo bibliotēku instalēšanas atveriet kodu
Projekts_8_Izvades_State_Synchronization_Web_Server.ino arduino IDE.
Pirms koda augšupielādes neaizmirstiet ievietot tīkla akreditācijas datus, lai ESP varētu izveidot savienojumu ar jūsu vietējo tīklu.LAFVIN ESP32 pamata sākuma komplekts - kods

Kā darbojas kods

Pogas stāvoklis un izvades stāvoklis
LedState mainīgais satur LED izejas stāvokli. Pēc noklusējuma, kad web serveris startē, tas ir LOW.LAFVIN ESP32 pamata sākuma komplekts — darbojas kods

ButtonState un lastButtonState tiek izmantoti, lai noteiktu, vai spiedpoga tika nospiesta vai nē.LAFVIN ESP32 Basic Starter Kit - tika nospiestsPoga (web serveris)
Mēs neiekļāvām HTML, lai izveidotu pogu mainīgajam index_html.
Tas ir tāpēc, ka mēs vēlamies to mainīt atkarībā no pašreizējā LED stāvokļa, ko var mainīt arī ar spiedpogu.
Mēs esam izveidojuši vietturi pogai %BUTTONPLACEHOLDER%, kas tiks aizstāta ar HTML tekstu, lai vēlāk kodā izveidotu pogu (tas tiek darīts procesora () funkcijā).LAFVIN ESP32 pamata sākuma komplekts - tika nospiests 1procesors ()
Procesor() funkcija aizstāj visus vietturus HTML tekstā ar faktiskajām vērtībām. Pirmkārt, tā pārbauda, ​​vai HTML tekstos ir kāds
vietturi %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - procesorsPēc tam izsauciet funkciju theoutputState(), kas atgriež pašreizējo izvades stāvokli. Mēs to saglabājam mainīgajā outputStateValue.LAFVIN ESP32 pamata sākuma komplekts - outputStatePēc tam izmantojiet šo vērtību, lai izveidotu HTML tekstu, lai parādītu pogu ar pareizo stāvokli:LAFVIN ESP32 pamata sākuma komplekts - kods 4HTTP GET pieprasījums mainīt izvades stāvokli (JavaScript)
Nospiežot pogu, tiek izsaukta funkcija toggleCheckbox(). Šī funkcija veiks pieprasījumu par dažādiem URLs, lai ieslēgtu vai izslēgtu LED.LAFVIN ESP32 pamata sākuma komplekts — JavaScriptLai ieslēgtu LED, tas veic pieprasījumu /update?state=1 URL:LAFVIN ESP32 Basic Starter Kit - elements.pārbaudītsPretējā gadījumā tas veic pieprasījumu /update?state=0 URL.
HTTP GET pieprasījums atjaunināt stāvokli (JavaScript)
Lai atjauninātu izvades stāvokli web serveri, mēs izsaucam šo funkciju, kas veic jaunu pieprasījumu /state URL katru sekundi.LAFVIN ESP32 pamata sākuma komplekts — atjaunināšanas stāvoklisLAFVIN ESP32 pamata sākuma komplekts — 1. atjaunināšanas stāvoklisApstrādājiet pieprasījumus
Pēc tam mums ir jārisina tas, kas notiek, kad ESP32 vai ESP8266 saņem pieprasījumus par šiem URLs.
Kad saknē tiek saņemts pieprasījums /URL, mēs nosūtām HTML lapu, kā arī procesoru.LAFVIN ESP32 pamata sākuma komplekts — izpildiet pieprasījumusLAFVIN ESP32 pamata sākuma komplekts — izpildiet pieprasījumus 1Šajās rindās tiek pārbaudīts, vai esat saņēmis pieprasījumu vietnē /update?state=1 vai /update?state=0 URL un attiecīgi maina ledState.LAFVIN ESP32 pamata sākuma komplekts - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamKad tiek saņemts pieprasījums /statā URL, mēs nosūtām pašreizējo izvades stāvokli:LAFVIN ESP32 Basic Starter Kit - izejas stāvokliscilpa ()
Ciklā () mēs atspējojam spiedpogu un ieslēdzam vai izslēdzam LED atkarībā no LEDState vērtības mainīgs.LAFVIN ESP32 pamata sākuma komplekts — 1. cilpaDemonstrācija
Augšupielādējiet kodu savā ESP32 platē. Augšupielādējiet koda atsauces darbības.
Pēc tam atveriet seriālo monitoru ar bodu ātrumu 115200 XNUMX. Nospiediet iebūvēto EN/RST pogu, lai iegūtu IP adresi.LAFVIN ESP32 pamata sākuma komplekts — demonstrācijaAtveriet pārlūkprogrammu savā lokālajā tīklā un ierakstiet ESP IP adresi. Jums vajadzētu būt piekļuvei web serveri, kā parādīts zemāk.
Piezīme: Jūsu pārlūkprogrammai un ESP32 jābūt savienotiem ar vienu un to pašu LAN.LAFVIN ESP32 Basic Starter Kit - pārlūkprogrammaJūs varat pārslēgt pogu uz web serveri, lai ieslēgtu LED.LAFVIN ESP32 pamata sākuma komplekts - web 1 serverisTo pašu LED var vadīt arī ar fizisko spiedpogu. Tās stāvoklis vienmēr tiks automātiski atjaunināts web serveris.

9. projekts ESP32 DHT11 Web Serveris

Šajā projektā jūs uzzināsit, kā izveidot asinhronu ESP32 web serveris ar DHT11, kas parāda temperatūru un mitrumu, izmantojot Arduino IDE.
Priekšnoteikumi
The web serveris mēs automātiski atjaunosim rādījumus bez nepieciešamības atsvaidzināt web lapā.
Izmantojot šo projektu, jūs uzzināsit:

  • Kā nolasīt temperatūru un mitrumu no DHT sensoriem;
  • Izveidojiet asinhronu web serveris, izmantojot ESPAsyncWebServera bibliotēka;
  • Automātiski atjauniniet sensora rādījumus bez nepieciešamības atsvaidzināt web lapā.

Asinhrons Web Serveris
Lai izveidotu web serveri mēs izmantosim ESPAsyncWebServera bibliotēka kas nodrošina vienkāršu veidu, kā izveidot asinhronu web serveris. Asinhronā izveidošana web serverim ir vairākas advantages, kā minēts bibliotēkas GitHub lapā, piemēram:

  • “Apstrādājiet vairāk nekā vienu savienojumu vienlaikus”;
  • “Nosūtot atbildi, jūs uzreiz esat gatavs rīkoties ar citiem savienojumiem, kamēr serveris rūpējas par atbildes nosūtīšanu fonā”;
  • “Vienkārša veidņu apstrādes programma veidņu apstrādei”;

Nepieciešamas daļas
Lai pabeigtu šo apmācību, jums ir nepieciešamas šādas daļas:

  • ESP32 izstrādes plate
  • DHT11 modulis
  • Maizes dēlis
  • Džemperu vadi

ShematisksLAFVIN ESP32 pamata sākuma komplekts — 2. shēmaBibliotēku instalēšana
Šim projektam ir jāinstalē dažas bibliotēkas:

DHT sensoru bibliotēkas instalēšana
Lai lasītu no DHT sensora, izmantojot Arduino IDE, jāinstalē DHT sensoru bibliotēka. Veiciet nākamās darbības, lai instalētu bibliotēku.

  1. Noklikšķiniet šeit, lai lejupielādētu DHT sensoru bibliotēku. Mapē Lejupielādes ir jābūt .zip mapei
  2. Izpakojiet .zip mapi, un jums vajadzētu iegūt DHT-sensor-library-master mapi
  3. Pārdēvējiet savu mapi no DHT-sensor-library-master uz DHT_sensor
  4. Pārvietojiet mapi DHT_sensor uz savu Arduino IDE instalācijas bibliotēku mapi
  5. Visbeidzot, atkārtoti atveriet savu Arduino IDE

Adafruit vienotā sensora draivera instalēšana
Jums arī jāinstalē Adafruit vienotā sensora draivera bibliotēka strādāt ar DHT sensoru. Veiciet nākamās darbības, lai instalētu bibliotēku.

  1. Noklikšķiniet šeit, lai lejupielādētu Adafruit Unified Sensor bibliotēku. Mapē Lejupielādes ir jābūt .zip mapei
  2. Izpakojiet .zip mapi, un jums vajadzētu iegūt mapi Adafruit_sensor-master
  3. Pārdēvējiet savu mapi no Adafruit_sensor-master uz Adafruit_sensor
  4. Pārvietojiet mapi Adafruit_sensor uz savu Arduino IDE instalācijas bibliotēku mapi
  5. Visbeidzot, atkārtoti atveriet savu Arduino IDE

ESPAsync instalēšanaWebServera bibliotēka

Veiciet nākamās darbības, lai instalētu ESPAsyncWebServeris bibliotēka:

  1. Noklikšķiniet šeit, lai lejupielādētu ESPAsyncWebServera bibliotēka. Tev vajadzēja
    .zip mapi mapē Lejupielādes
  2. Izpakojiet .zip mapi, un jums tas jādara
    iegūstiet ESPAsyncWebServera galvenā mape
  3. Pārdēvējiet savu mapi no ESPAsyncWebServeris-master uz ESPAsyncWebServeris
  4. Pārvietojiet ESPAsyncWebServera mape uz jūsu Arduino IDE instalācijas bibliotēku mapi

Async TCP bibliotēkas instalēšana ESP32
The ESPAsyncWebServeris bibliotēka pieprasa AsyncTCP bibliotēkai strādāt. Lai instalētu šo bibliotēku, veiciet tālāk norādītās darbības.

  1. Noklikšķiniet šeit, lai lejupielādētu AsyncTCP bibliotēku. Mapē Lejupielādes ir jābūt .zip mapei
  2. Izpakojiet .zip mapi, un jums vajadzētu iegūt AsyncTCP galveno mapi
  3. Pārdēvējiet savu mapi no AsyncTCP-master uz AsyncTCP
  4. Pārvietojiet mapi AsyncTCP uz savu Arduino IDE instalācijas bibliotēku mapi
  5. Visbeidzot, atkārtoti atveriet savu Arduino IDE

Kods
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 pievienojumprogrammu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDE
Pēc nepieciešamo bibliotēku instalēšanas atveriet kodu
Projekts_9_ESP32_DHT11_Web_Server.ino arduino IDE.
Pirms koda augšupielādes neaizmirstiet ievietot tīkla akreditācijas datus, lai ESP varētu izveidot savienojumu ar jūsu vietējo tīklu.LAFVIN ESP32 pamata sākuma komplekts - kodsKā darbojas kods
Nākamajās rindkopās mēs paskaidrosim, kā kods darbojas. Turpiniet lasīt, ja vēlaties uzzināt vairāk, vai pārejiet uz sadaļu Demonstrācija, lai redzētu gala rezultātu.
Bibliotēku importēšana
Pirmkārt, importējiet vajadzīgās bibliotēkas. WiFi, ESPAsyncWebLai izveidotu, ir nepieciešams serveris un ESPAsyncTCP web serveris. Adafruit_Sensor un DHT bibliotēkas ir nepieciešamas, lai lasītu no DHT11 vai DHT22 sensoriem.LAFVIN ESP32 pamata sākuma komplekts — bibliotēku importēšanaLAFVIN ESP32 pamata sākuma komplekts — kā darbojas kodsMainīgo definīcija
Definējiet GPIO, ar kuru ir pievienota DHT datu tapa. Šajā gadījumā tas ir savienots ar GPIO 4.LAFVIN ESP32 pamata sākuma komplekts — mainīgo definīcijaPēc tam atlasiet izmantotā DHT sensora veidu. Mūsu bijušajāample, mēs izmantojam DHT22. Ja izmantojat citu veidu, jums vienkārši jāatsauc sensora komentāri un jākomentē visi pārējie.LAFVIN ESP32 pamata sākuma komplekts — mainīgo definīcija 1

Izveidojiet DHT objektu, izmantojot iepriekš definēto veidu un tapu.LAFVIN ESP32 pamata sākuma komplekts — mainīgo definīcija 2Izveidojiet asinhronoWebServera objekts 80. portā.LAFVIN ESP32 pamata sākuma komplekts — mainīgo definīcija 3Izlasiet temperatūras un mitruma funkcijas
Mēs esam izveidojuši divas funkcijas: vienu temperatūras nolasīšanai Mēs esam izveidojuši divas funkcijas: vienu temperatūras nolasīšanai (readDHTTemperature()) un otru mitruma nolasīšanai (readDHTHumidity()).LAFVIN ESP32 pamata sākuma komplekts — readDHTHumidityLAFVIN ESP32 Basic Starter Kit - sensoru rādījumiSensora rādījumu iegūšana ir tikpat vienkārša kā lietošana Sensora rādījumu iegūšana ir tikpat vienkārša kā dht objekta readTemperature() un readHumidity() metožu izmantošana.LAFVIN ESP32 Basic Starter Kit - objektsMums ir arī nosacījums, kas atgriež divas domuzīmes (–), ja sensoram neizdodas iegūt rādījumus.LAFVIN ESP32 Basic Starter Kit - rādījumiNolasījumi tiek atgriezti kā virknes veids. Lai pludiņu pārveidotu par virkni, izmantojiet funkciju String().LAFVIN ESP32 Basic Starter Kit - StringPēc noklusējuma mēs nolasām temperatūru Celsija grādos. Lai iegūtu temperatūru Fārenheita grādos, komentējiet temperatūru pēc Celsija un noņemiet komentārus no temperatūras Fārenheita grādos, lai jums būtu tālāk norādītā informācija.LAFVIN ESP32 pamata sākuma komplekts - pēc FārenheitaLAFVIN ESP32 pamata sākuma komplekts — pēc Fārenheita 1Augšupielādējiet kodu
Tagad augšupielādējiet kodu savā ESP32. Pārliecinieties, vai esat izvēlējies pareizo plati un COM portu. Augšupielādējiet kodu atsauces darbības.
Pēc augšupielādes atveriet Serial Monitor ar bodu ātrumu 115200. Nospiediet ESP32 atiestatīšanas pogu. ESP32 IP adrese ir jādrukā seriālā uzraudzīt.LAFVIN ESP32 pamata sākuma komplekts — augšupielādējiet koduDemonstrācija
Atveriet pārlūkprogrammu un ierakstiet ESP32 IP adresi. Jūsu web serverim jāparāda jaunākie sensora rādījumi.
Piezīme: Jūsu pārlūkprogrammai un ESP32 jābūt savienotiem ar vienu un to pašu LAN.
Ņemiet vērā, ka temperatūras un mitruma rādījumi tiek automātiski atjaunināti bez nepieciešamības atsvaidzināt web lapā.LAFVIN ESP32 pamata sākuma komplekts — 1. demonstrācija

Project_10_ESP32_OLED_Displejs

Šis projekts parāda, kā izmantot 0.96 collu SSD1306 OLED displeju ar ESP32, izmantojot Arduino IDE.
Iepazīstinām ar 0.96 collu OLED displeju
The OLED displejs Šajā apmācībā izmantosim SSD1306 modeli: vienkrāsains, 0.96 collu displejs ar 128 × 64 pikseļiem, kā parādīts nākamajā attēlā.LAFVIN ESP32 pamata sākuma komplekts - OLEDDisplejsOLED displejam nav nepieciešams fona apgaismojums, kas rada ļoti skaistu kontrastu tumšā vidē. Turklāt tā pikseļi patērē enerģiju tikai tad, kad tie ir ieslēgti, tāpēc OLED displejs patērē mazāk enerģijas, salīdzinot ar citiem displejiem.
Tā kā OLED displejs izmanto I2C sakaru protokolu, vadu pievienošana ir ļoti vienkārša. Kā atsauci varat izmantot šo tabulu.

OLED tapa ESP32
Vin 3.3V
GND GND
SCL GPIO 22
SDA GPIO 21

ShematisksLAFVIN ESP32 pamata sākuma komplekts - shematisksSSD1306 OLED bibliotēkas instalēšana – ESP32
Ir pieejamas vairākas bibliotēkas, lai kontrolētu OLED displeju ar ESP32.
Šajā apmācībā mēs izmantosim divas Adafruit bibliotēkas: Adafruit_SSD1306 bibliotēka un Adafruit_GFX bibliotēka.
Veiciet nākamās darbības, lai instalētu šīs bibliotēkas.

  1. Atveriet savu Arduino IDE un dodieties uz Skice> Iekļaut bibliotēku> Pārvaldīt bibliotēkas. Jāatveras bibliotēkas pārvaldniekam.
  2. Meklēšanas lodziņā ierakstiet “SSD1306” un instalējiet SSD1306 bibliotēku no Adafruit.LAFVIN ESP32 pamata sākuma komplekts — OLEDLibrary–
  3. Pēc SSD1306 bibliotēkas instalēšanas no Adafruit meklēšanas lodziņā ierakstiet “GFX” un instalējiet bibliotēku.LAFVIN ESP32 Basic Starter Kit - bibliotēka
  4. Pēc bibliotēku instalēšanas restartējiet savu Arduino IDE.

Kods
Pēc nepieciešamo bibliotēku instalēšanas atveriet Project_10_ESP32_OLED_Display.ino arduino IDE. kodu
Mēs ieprogrammēsim ESP32, izmantojot Arduino IDE, tāpēc pirms turpināt, pārliecinieties, vai esat instalējis ESP32 papildinājumu: (Ja esat jau veicis šo darbību, varat pāriet uz nākamo darbību.)
ESP32 papildinājuma instalēšana Arduino IDELAFVIN ESP32 pamata sākuma komplekts — 1. kodsLAFVIN ESP32 pamata sākuma komplekts — 2. kodsLAFVIN ESP32 pamata sākuma komplekts — 3. kodsKā darbojas kods
Bibliotēku importēšana
Pirmkārt, jums ir jāimportē nepieciešamās bibliotēkas. Wire bibliotēka, lai izmantotu I2C, un Adafruit bibliotēkas, lai rakstītu displejā: Adafruit_GFX un Adafruit_SSD1306.LAFVIN ESP32 pamata sākuma komplekts — darbojas kods 1LAFVIN ESP32 pamata sākuma komplekts — darbojas kods 2Inicializējiet OLED displeju
Pēc tam jūs definējat savu OLED platumu un augstumu. Šajā bijušajāample, mēs izmantojam 128 × 64 OLED displeju. Ja izmantojat citus izmērus, varat to mainīt mainīgajos SCREEN_WIDTH un SCREEN_HEIGHT.LAFVIN ESP32 Basic Starter Kit - OLED displejsPēc tam inicializējiet displeja objektu ar platumu un augstumu, kas definēts iepriekš, izmantojot I2C sakaru protokolu (&Wire).LAFVIN ESP32 Basic Starter Kit - sakaru protokolsParametrs (-1) nozīmē, ka jūsu OLED displejam nav RESET tapas. Ja jūsu OLED displejam ir RESET tapa, tam jābūt savienotam ar GPIO. Tādā gadījumā jums ir jānodod GPIO numurs kā parametrs.
Atkļūdošanas nolūkos izvēlnē setup () inicializējiet seriālo monitoru ar bodu ātrumu 115200 XNUMX.LAFVIN ESP32 Basic Starter Kit - mērķiemInicializējiet OLED displeju ar start() metodi šādi:LAFVIN ESP32 Basic Starter Kit — display.beginLAFVIN ESP32 pamata sākuma komplekts — Serial.printlnŠis fragments arī izdrukā ziņojumu seriālajā monitorā, ja nevarētu izveidot savienojumu ar displeju.

LAFVIN ESP32 pamata sākuma komplekts — Serial.println 1Ja izmantojat citu OLED displeju, iespējams, būs jāmaina OLED adrese. Mūsu gadījumā adrese ir 0x3C.LAFVIN ESP32 Basic Starter Kit - adresePēc displeja inicializācijas pievienojiet divu sekunžu aizkavi, lai OLED būtu pietiekami daudz laika inicializēt pirms teksta rakstīšanas:LAFVIN ESP32 Basic Starter Kit - aizkaveSkaidrs displejs, iestatiet fonta lielumu, krāsu un rakstiet tekstu
Pēc displeja inicializācijas notīriet displeja buferi, izmantojot metodi clearDisplay().LAFVIN ESP32 Basic Starter Kit - displejs

Pirms teksta rakstīšanas ir jāiestata teksta izmērs, krāsa un vieta, kur teksts tiks parādīts OLED.
Iestatiet fonta lielumu, izmantojot setTextSize() metodi:LAFVIN ESP32 pamata sākuma komplekts — displejs 1Iestatiet fonta krāsu ar setTextColor() metodi:
WHITE iestata baltu fontu un melnu fonu.
Definējiet vietu, kur teksts sākas, izmantojot metodi setCursor(x,y). Šajā gadījumā mēs iestatām teksta sākumu ar (0,0) koordinātām – augšējā kreisajā stūrī.LAFVIN ESP32 pamata sākuma komplekts — setTextColor 1Visbeidzot, varat nosūtīt tekstu uz displeju, izmantojot metodi println() šādiLAFVIN ESP32 pamata sākuma komplekts - kods 5Pēc tam jums ir jāizsauc displeja() metode, lai faktiski parādītu tekstu ekrānā.LAFVIN ESP32 Basic Starter Kit - displejs

Adafruit OLED bibliotēka nodrošina noderīgas metodes teksta vienkāršai ritināšanai.

  • startscrollright(0x00, 0x0F): ritiniet tekstu no kreisās puses uz labo
  • startscrollleft(0x00, 0x0F): ritiniet tekstu no labās puses uz kreiso
  • startscrolldiagright(0x00, 0x07): ritiniet tekstu no kreisā apakšējā stūra uz labo augšējo stūri startscrolldiagleft(0x00, 0x07): ritiniet tekstu no labā apakšējā stūra uz kreiso augšējo stūri

Augšupielādējiet kodu
Tagad augšupielādējiet kodu savā ESP32. Augšupielādējiet kodu atsauces darbības.
Pēc koda augšupielādes OLED displejā tiks parādīts ritināms teksts.LAFVIN ESP32 Basic Starter Kit — ritināms tekstsLAFVIN logotips

Dokumenti / Resursi

LAFVIN ESP32 pamata sākuma komplekts [pdfLietošanas instrukcija
ESP32 pamata sākuma komplekts, ESP32, pamata sākuma komplekts, sākuma komplekts

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *