LAFVIN-emblemoESP32 Baza Startilo
Ilaro

Pakita Listo

LAFVIN ESP32 Baza Komenca Ilaro - Pakado

ESP32 Enkonduko

Nova al ESP32? Komencu ĉi tie! La ESP32 estas serio de malaltkostaj kaj malalt-fortaj Sistemoj sur Blato (SoC) mikroregiloj evoluigitaj de Espressif, kiuj inkluzivas Wi-Fi kaj Bluetooth sendratajn kapablojn kaj dukernan procesoron. Se vi konas la ESP8266, la ESP32 estas ĝia posteulo, ŝarĝita kun multaj novaj funkcioj.LAFVIN ESP32 Basic Starter Kit - ESP32 EnkondukoSpecifoj de ESP32
Se vi volas akiri iom pli teknika kaj specifa, vi povas rigardi la jenajn detalajn specifojn de la ESP32 (fonto: http://esp32.net/)—por pliaj detaloj, kontrolu la datumfolion):

  • Sendrata konektebleco WiFi: 150.0 Mbps datumrapideco kun HT40
  • Bluetooth: BLE (Bluetooth Low Energy) kaj Bluetooth Classic
  • Procesoro: Tensilica Xtensa Dual-Core 32-bita LX6 mikroprocesoro, funkcianta ĉe 160 aŭ 240 MHz
  • Memoro:
  • ROM: 448 KB (por lanĉaj kaj kernaj funkcioj)
  • SRAM: 520 KB (por datumoj kaj instrukcioj)
  • RTC fas SRAM: 8 KB (por datumstokado kaj ĉefa CPU dum RTC Boot de la profunda dorma reĝimo)
  • RTC malrapida SRAM: 8KB (por kunprocesora aliro dum profund-dorma reĝimo) eFuse: 1 Kbit (el kiu 256 bitoj estas uzitaj por la sistemo (MAC-adreso kaj pecetkonfiguracio) kaj la ceteraj 768 bitoj estas rezervitaj por klientaplikoj, inkluzive de Flash-Ĉifrado kaj Chip-ID)

Enigita fulmo: fulmo konektita interne per IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 kaj SD_DATA_1 sur ESP32-D2WD kaj ESP32-PICO-D4.

  • 0 MiB (fritoj ESP32-D0WDQ6, ESP32-D0WD kaj ESP32-S0WD)
  • 2 MiB (ESP32-D2WD peceto)
  • 4 MiB (ESP32-PICO-D4 SiP-modulo)

Malalta Potenco: certigas, ke vi ankoraŭ povas uzi ADC-konvertojn, ekzample, dum profunda dormo.
Ekstercentra Enigo/Eligo:

  • periferia interfaco kun DMA kiu inkluzivas kapacitan tuŝon
  • ADCoj (Analog-al-Cifereca Konvertilo)
  • DACoj (Digital-al-analoga Konvertilo)
  • I²C (Inter-Integra Cirkvito)
  • UART (Universala Nesinkrona Ricevilo/Dissendilo)
  • SPI (Seria Perifera Interfaco)
  • I²S (Integra Interĉipa Sono)
  • RMII (Reduktita Media-Sendependa Interfaco)
  • PWM (Puls-Larĝa modulado)

Sekureco: aparataj akceliloj por AES kaj SSL/TLS

ESP32-Evoluaj Estraroj

ESP32 rilatas al la nuda ESP32-peceto. Tamen, la esprimo "ESP32" ankaŭ estas uzita por rilati al ESP32-evoluaj tabuloj. Uzi nudajn blatojn de ESP32 ne estas facila aŭ praktika, precipe dum lernado, testado kaj prototipado. Plejofte, vi volos uzi ESP32-disvolvan tabulon.
Ni uzos la tabulon ESP32 DEVKIT V1 kiel referencon. La suba bildo montras la tabulon ESP32 DEVKIT V1, version kun 30 GPIO-pingloj.LAFVIN ESP32 Baza Komenca Ilaro - ESP32 Disvolvaj TabulojSpecifoj - ESP32 DEVKIT V1
La sekva tabelo montras resumon de la funkcioj kaj specifoj de la tabulo ESP32 DEVKIT V1 DOIT:

Nombro da kernoj 2 (dukerno)
Wifi 2.4 GHz ĝis 150 Mbits/s
Bluetooth BLE (Bluetooth Low Energy) kaj hereda Bluetooth
Arkitekturo 32 bitoj
Horloĝfrekvenco Ĝis 240 MHz
RAM 512 KB
Pingloj 30 (depende de la modelo)
Ekstercentraloj Kapacita tuŝo, ADC (analoga al cifereca transformilo), DAC (cifereca al analoga konvertilo), 12C (Inter-Integra Cirkvito), UART (universala nesinkrona ricevilo/dissendilo), CAN 2.0 (Regilo-Area Reto), SPI (Seria Perifera Interfaco) , 12S (Integrita Inter-IC
Sono), RMII (Reduktita Amaskomunikilaro-Sendependa Interfaco), PWM (modulado de pulslarĝo), kaj pli.
Enkonstruitaj butonoj Butonoj RESET kaj BOOT
Enkonstruitaj LED-oj enkonstruita blua LED konektita al GPIO2; enkonstruita ruĝa LED kiu montras ke la tabulo estas funkciigita
USB al UART
ponto
CP2102

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITĜi venas kun mikroUSB-interfaco, kiun vi povas uzi por konekti la tabulon al via komputilo por alŝuti kodon aŭ apliki potencon.
Ĝi uzas la CP2102-peceton (USB al UART) por komuniki kun via komputilo per COM-haveno uzante serian interfacon. Alia populara blato estas la CH340. Kontrolu kio estas la USB al UART-blato-konvertilo sur via tabulo ĉar vi devos instali la postulatajn ŝoforojn por ke via komputilo povu komuniki kun la tabulo (pli da informoj pri tio poste en ĉi tiu gvidilo).
Ĉi tiu tabulo ankaŭ venas kun RESET-butono (povas esti etikedita EN) por rekomenci la tabulon kaj BOOT-butonon por meti la tabulon en ekbrilan reĝimon (havebla por ricevi kodon). Notu, ke iuj tabuloj eble ne havas BOOT-butonon.
Ĝi ankaŭ venas kun enkonstruita blua LED, kiu estas interne konektita al GPIO 2. Ĉi tiu LED estas utila por sencimigi por doni ian vidan fizikan eliron. Ankaŭ estas ruĝa LED, kiu lumiĝas kiam vi provizas potencon al la tabulo.LAFVIN ESP32 Basic Starter Kit -tabuloESP32 Pinout
La ESP32-ekscentraloj inkluzivas:

  • 18 Analog-al-Digital Konvertilo (ADC) kanaloj
  • 3 SPI-interfacoj
  • 3 UART-interfacoj
  • 2 I2C-interfacoj
  • 16 PWM-eligkanaloj
  • 2 Cifereca-al-analoga Konvertiloj (DAC)
  • 2 I2S-interfacoj
  • 10 Kapacivaj sentantaj GPIOoj

La funkcioj de ADC (analoga al cifereca transformilo) kaj DAC (cifereca al analoga transformilo) estas asignitaj al specifaj senmovaj pingloj. Tamen, vi povas decidi, kiuj pingloj estas UART, I2C, SPI, PWM, ktp - vi nur bezonas asigni ilin en la kodo. Ĉi tio eblas pro la multipleksa trajto de la peceto ESP32.
Kvankam vi povas difini la propraĵojn de la pingloj en la programaro, ekzistas pingloj asignitaj defaŭlte kiel montrite en la sekva figuroLAFVIN ESP32 Baza Komenca Ilaro - ESP32 PinoutAldone, estas pingloj kun specifaj trajtoj, kiuj igas ilin taŭgaj aŭ ne por aparta projekto. La sekva tabelo montras kiajn pinglojn estas plej bonaj por uzi kiel enigojn, elirojn kaj kiujn vi devas esti singarda.
La pingloj reliefigitaj en verdo estas bone por uzi. Tiuj elstarigitaj flava estas bone uzeblaj, sed vi devas atenti, ĉar ili eble havas neatenditan konduton ĉefe ĉe ekŝargo. La pingloj elstarigitaj ruĝe ne rekomendas uzi kiel enigoj aŭ eliroj.

GP IO Enigo Eligo Notoj
0 tiris supren OK eligas PWM-signalon ĉe lanĉo, devas esti LOW por eniri fulmantan reĝimon
1 TX-pinglo OK sencimigi eligon ĉe lanĉo
2 OK OK konektita al enkonstruita LED, devas esti lasita flosanta aŭ LOW por eniri fulmantan reĝimon
3 OK RX-pinglo ALTE ĉe boto
4 OK OK
5 OK OK eligas PWM-signalon ĉe lanĉo, stringpinglon
12 OK OK boto malsukcesas se tirata alte, stringpinglo
13 OK OK
14 OK OK eligas PWM-signalon ĉe lanĉo
15 OK OK eligas PWM-signalon ĉe lanĉo, stringpinglon
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 nur enigo
35 OK nur enigo
36 OK nur enigo
39 OK nur enigo

Daŭre legas por pli detala kaj profunda analizo de la ESP32 GPIO kaj ĝiaj funkcioj.
Enigu nur pinglojn
GPIOoj 34 ĝis 39 estas GPIoj - enigu nur pinglojn. Ĉi tiuj pingloj ne havas internajn tiri supren aŭ tiri malsupren rezistilojn. Ili ne povas esti uzataj kiel eliroj, do uzu ĉi tiujn pinglojn nur kiel enigojn:

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

SPI-fulmo integrita sur la ESP-WROOM-32
GPIO 6 al GPIO 11 estas elmontritaj en kelkaj ESP32-evoluaj tabuloj. Tamen, ĉi tiuj pingloj estas konektitaj al la integra SPI-fulmo sur la ESP-WROOM-32-peceto kaj ne estas rekomenditaj por aliaj uzoj. Do, ne uzu ĉi tiujn pinglojn en viaj projektoj:

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

Kapacivaj tuŝaj GPIOoj
La ESP32 havas 10 internajn kapacitajn tuŝsensilojn. Ĉi tiuj povas senti variadojn en io ajn, kio tenas elektran ŝargon, kiel la homa haŭto. Do ili povas detekti variadojn induktitajn tuŝante la GPIO-ojn per fingro. Ĉi tiuj pingloj povas esti facile integrigitaj en kapacitivajn kusenetojn kaj anstataŭigi mekanikajn butonojn. La kapacivaj tuŝpingloj ankaŭ povas esti uzataj por veki la ESP32 el profunda dormo. Tiuj internaj tuŝsensiloj estas konektitaj al ĉi tiuj GPIOoj:

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

Analoga al Cifereca Konvertilo (ADC)
La ESP32 havas 18 x 12 bitojn ADC-enigkanalojn (dum la ESP8266 nur havas 1x 10 bitojn ADC). Ĉi tiuj estas la GPIO kiuj povas esti uzataj kiel ADC kaj respektivaj kanaloj:

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

Notu: ADC2-pingloj ne povas esti uzataj kiam Wi-Fi estas uzata. Do, se vi uzas Wi-Fi kaj vi havas problemojn akiri la valoron de ADC2 GPIO, vi eble pripensos uzi ADC1 GPIO anstataŭe. Tio devus solvi vian problemon.
La ADC-enigkanaloj havas 12-bitan rezolucion. Ĉi tio signifas, ke vi povas akiri analogajn legaĵojn de 0 ĝis 4095, en kiuj 0 respondas al 0V kaj 4095 ĝis 3.3V. Vi ankaŭ povas agordi la rezolucion de viaj kanaloj sur la kodo kaj la ADC-gamo.
La ESP32 ADC-stiftoj ne havas linearan konduton. Vi verŝajne ne povos distingi inter 0 kaj 0.1V, aŭ inter 3.2 kaj 3.3V. Vi devas konservi tion en menso kiam vi uzas la ADC-pinglojn. Vi ricevos konduton similan al tiu montrita en la sekva figuro.LAFVIN ESP32 Basic Starter Kit - kondutoCifereca al Analoga Konvertilo (DAC)
Ekzistas 2 x 8 bitoj DAC-kanaloj sur la ESP32 por konverti ciferecajn signalojn en analogan voltage signalaj eliroj. Ĉi tiuj estas la DAC-kanaloj:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC-GPIOoj
Estas RTC GPIO-subteno sur la ESP32. La GPIOoj direktitaj al la RTC-malaltpotenca subsistemo povas esti uzitaj kiam la ESP32 estas en profunda dormo. Ĉi tiuj RTC-GPIOoj povas esti uzataj por veki la ESP32 el profunda dormo kiam la Ultra Low
Potenca (ULP) kunprocesoro funkcias. La sekvaj GPIOoj povas esti uzataj kiel ekstera vekfonto.

  • 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
La ESP32 LED PWM-regilo havas 16 sendependajn kanalojn, kiuj povas esti agorditaj por generi PWM-signalojn kun malsamaj propraĵoj. Ĉiuj pingloj kiuj povas funkcii kiel produktaĵoj povas esti uzataj kiel PWM-stiftoj (GPIOoj 34 ĝis 39 ne povas generi PWM).
Por agordi signalon PWM, vi devas difini ĉi tiujn parametrojn en la kodo:

  • Frekvenco de signalo;
  • Devociklo;
  • PWM-kanalo;
  • GPIO kie vi volas eligi la signalon.

I2C
La ESP32 havas du I2C-kanalojn kaj ajna pinglo povas esti agordita kiel SDA aŭ SCL. Kiam vi uzas la ESP32 kun la Arduino IDE, la defaŭltaj I2C-pingloj estas:

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

Se vi volas uzi aliajn pinglojn kiam vi uzas la dratan bibliotekon, vi nur bezonas voki:
Wire.begin(SDA, SCL);
SPI
Defaŭlte, la bildmapado por SPI estas:

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

Interrompoj
Ĉiuj GPIOoj povas esti agorditaj kiel interrompoj.
Rimenado Pingloj
La ESP32-peceto havas la sekvajn rimenajn pinglojn:

  • GPIO 0 (devas esti MALALTA por eniri ekreĝimon)
  • GPIO 2 (devas esti flosanta aŭ LOW dum lanĉo)
  • GPIO 4
  • GPIO 5 (devas esti ALTA dum lanĉo)
  • GPIO 12 (devas esti MALALTA dum lanĉo)
  • GPIO 15 (devas esti ALTA dum lanĉo)

Ĉi tiuj estas uzataj por meti la ESP32 en ekŝargilon aŭ ekbrilan reĝimon. Sur la plej multaj evolutabuloj kun enkonstruita USB/Serialo, vi ne bezonas zorgi pri la stato de ĉi tiuj pingloj. La estraro metas la pinglojn en la ĝustan staton por ekbrilado aŭ ekŝarga reĝimo. Pliaj informoj pri la Elekto de Ŝarga Reĝimo de ESP32 troveblas ĉi tie.
Tamen, se vi havas ekstercentrajn konektitajn al tiuj pingloj, vi eble havas problemojn provi alŝuti novan kodon, ekbriligi la ESP32 kun nova firmvaro aŭ restarigi la tabulon. Se vi havas iujn ekstercentrajn konektitajn al la rimenaj pingloj kaj vi havas problemojn por alŝuti kodon aŭ ekbriligi la ESP32, eble tio estas ĉar tiuj ekstercentraj malhelpas la ESP32 eniri la ĝustan reĝimon. Legu la dokumentaron pri Boot Mode Selection por gvidi vin en la ĝusta direkto. Post restarigo, ekbrilado aŭ ekfunkciigo, tiuj pingloj funkcias kiel atendite.
Stiftoj ALTE ĉe Boot
Kelkaj GPIOoj ŝanĝas sian staton al ALTA aŭ eligas PWM-signalojn ĉe lanĉo aŭ rekomencigita.
Ĉi tio signifas, ke se vi havas elirojn konektitajn al ĉi tiuj GPIO-oj, vi eble ricevos neatenditajn rezultojn kiam la ESP32 rekomenciĝas aŭ ekfunkciigas.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 al GPIO 11 (konektita al la ESP32 integra SPI-memoro - ne rekomendita uzi).
  • GPIO 14
  • GPIO 15

Ebligu (EN)
Enable (EN) estas la ebliga pinglo de la 3.3V reguligisto. Ĝi estas tirita supren, do konektu al tero por malŝalti la 3.3V reguligilon. Ĉi tio signifas, ke vi povas uzi ĉi tiun pinglon konektitan al prembutono por rekomenci vian ESP32, ekzample.
GPIO nuna tirita
La absoluta maksimuma kurento ĉerpita per GPIO estas 40mA laŭ la sekcio "Rekomenditaj Funkciaj Kondiĉoj" en la datumfolio de ESP32.
ESP32 Enkonstruita Halefika Sensilo
La ESP32 ankaŭ havas enkonstruitan halefikan sensilon, kiu detektas ŝanĝojn en la magneta kampo en ĝia ĉirkaŭaĵo
ESP32 Arduino IDE
Estas aldonaĵo por la Arduino IDE, kiu permesas vin programi la ESP32 uzante la Arduino-IDE kaj ĝian programlingvon. En ĉi tiu lernilo ni montros al vi kiel instali la ESP32-tabulon en Arduino IDE ĉu vi uzas Vindozon, Mac OS X aŭ Linukso.
Antaŭkondiĉoj: Arduino IDE Instalita
Antaŭ ol komenci ĉi tiun instalan proceduron, vi devas havi Arduino IDE instalita en via komputilo. Estas du versioj de la Arduino IDE, kiun vi povas instali: versio 1 kaj versio 2.
Vi povas elŝuti kaj instali Arduino IDE alklakante la sekvan ligilon: arduino.cc/en/Main/Software
Kiun Arduino-IDE-version ni rekomendas? Nuntempe, estas kelkaj plugins por la ESP32 (kiel la SPIFFS Filesystem Uploader Plugin) kiuj ankoraŭ ne estas subtenataj sur Arduino 2. Do, se vi intencas uzi la SPIFFS-kromaĵon estonte, ni rekomendas instali la heredan version 1.8.X. Vi nur bezonas rulumi malsupren sur la Arduino-programa paĝo por trovi ĝin.
Instalante ESP32-aldonaĵon en Arduino IDE
Por instali la ESP32-tabulon en via Arduino IDE, sekvu ĉi tiujn sekvajn instrukciojn:

  1. En via Arduino IDE, iru al File> PreferojLAFVIN ESP32 Basic Starter Kit - Preferoj
  2. Enigu la jenon en la "Aldona Estraro-Administranto URLs” kampo:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Poste, alklaku la butonon "Bone":LAFVIN ESP32 Basic Starter Kit - "Bone" butonoNotu: se vi jam havas la ESP8266-tabulojn URL, vi povas apartigi la URLs kun komo jene:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Malfermu la Administranton de Tabuloj. Iru al Iloj > Tabulo > Administranto de Tabuloj...LAFVIN ESP32 Basic Starter Kit - EspressifSerĉu ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Basic Starter Kit - EspressifJen ĝi. Ĝi devus esti instalita post kelkaj sekundoj.LAFVIN ESP32 Basic Starter Kit - instalita

Alŝutu Testan Kodon

Konektu la ESP32-tabulon al via komputilo. Kun via Arduino IDE malfermita, sekvu ĉi tiujn paŝojn:

  1. Elektu vian Tabulon en Iloj > Tabulo-menuo (en mia kazo ĝi estas la ESP32 DEV-Modulo)LAFVIN ESP32 Baza Komenca Ilaro - Ila Tabulo
  2. Elektu la Havenon (se vi ne vidas la COM-Havenon en via Arduino IDE, vi devas instali la CP210x USB al UART Bridge VCP Drivers):LAFVIN ESP32 Baza Komenca Ilaro - Ponto UART
  3. Malfermu la sekvan ekzample under File > Ekzamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Baza Komenca Ilaro - WiFiScanLAFVIN ESP32 Baza Komenca Ilaro - WiFiScan 1
  4. Nova skizo malfermiĝas en via Arduino IDE:LAFVIN ESP32 Basic Starter Kit - Arduino IDE
  5. Premu la butonon Alŝuto en la Arduino IDE. Atendu kelkajn sekundojn dum la kodo kompilas kaj alŝutas al via tabulo.LAFVIN ESP32 Basic Starter Kit - tabulo
  6. Se ĉio iris kiel atendite, vi devus vidi "Fine alŝuto". mesaĝo.LAFVIN ESP32 Basic Starter Kit - Farita alŝutado
  7. Malfermu la Arduino IDE Serian Monitoron kun baudrapideco de 115200:LAFVIN ESP32 Baza Komenca Ilaro - Monitoro
  8. Premu la butonon Ebligi surŝipe de ESP32 kaj vi devus vidi la disponeblajn retojn proksime de via ESP32:LAFVIN ESP32 Basic Starter Kit - Ebligi butonon

Solvado de problemoj

Se vi provas alŝuti novan skizon al via ESP32 kaj vi ricevas ĉi tiun erarmesaĝon "Fata eraro okazis: Malsukcesis konekti al ESP32: Tempo elĉerpita... Konektante...". Ĝi signifas, ke via ESP32 ne estas en fulmo/alŝuta reĝimo.
Havante la ĝustan tabulnomon kaj COM por elektitaj, sekvu ĉi tiujn paŝojn:
Prenu la butonon "BOOT" en via ESP32-tabuloLAFVIN ESP32 Baza Komenca Ilaro - "BOOT"

  • Premu la butonon "Alŝutu" en la Arduino IDE por alŝuti vian skizon:LAFVIN ESP32 Baza Komenca Ilaro - IKONO 6
  • Post kiam vi vidas la "Konekti...." mesaĝo en via Arduino IDE, liberigu la fingron de la butono "BOOT":LAFVIN ESP32 Basic Starter Kit - "Fine alŝutado
  • Post tio, vi devus vidi la mesaĝon "Farita alŝuto".
    Jen ĝi. Via ESP32 devus funkcii la novan skizon. Premu la butonon "ENABLE" por rekomenci la ESP32 kaj ruli la novan alŝutitan skizon.
    Vi ankaŭ devos ripeti tiun butonsekvencon ĉiufoje kiam vi volas alŝuti novan skizon.

Projekto 1 ESP32 Enigaĵoj Eligoj

En ĉi tiu komenca gvidilo vi lernos kiel legi ciferecajn enigojn kiel butonŝaltilon kaj kontroli ciferecajn elirojn kiel LED uzante la ESP32 kun Arduino IDE.
Antaŭkondiĉoj
Ni programos la ESP32 per Arduino IDE. Do, certigu, ke vi havas instalitan la aldonaĵon de la tabuloj ESP32 antaŭ ol daŭrigi:

  • Instalante ESP32-aldonaĵon en Arduino IDE

ESP32 Kontrolo Ciferecaj Eliroj
Unue, vi devas agordi la GPIO, kiun vi volas kontroli kiel ELIGO. Uzu la funkcion pinMode() jene:
pinMode (GPIO, ELIGRO);
Por kontroli ciferecan eliron vi nur bezonas uzi la funkcion digitalWrite(), kiu akceptas kiel argumentojn, la GPIO (int-numero) al kiu vi aludas, kaj la staton, ĉu HIGH aŭ LOW.
digitalWrite(GPIO, ŜTATO);
Ĉiuj GPIOoj povas esti uzataj kiel produktaĵoj krom GPIOoj 6 ĝis 11 (ligitaj al la integra SPI-fulmo) kaj GPIOoj 34, 35, 36 kaj 39 (enigo nur GPIOoj);
Lernu pli pri la ESP32 GPIO-oj: ESP32 GPIO-Referenca Gvidilo
ESP32 Legu Ciferecajn Enigojn
Unue, agordu la GPIO, kiun vi volas legi kiel INPUT, uzante la funkcion pinMode() jene:
pinMode (GPIO, INPUT);
Por legi ciferecan enigaĵon, kiel butonon, vi uzas la funkcion digitalRead(), kiu akceptas kiel argumenton, la GPIO (int-numero) al kiu vi aludas.
digitalRead (GPIO);
Ĉiuj ESP32-GPIO-oj povas esti uzataj kiel enigaĵoj, krom GPIO-oj 6 ĝis 11 (ligitaj al la integra SPI-fulmo).
Lernu pli pri la ESP32 GPIO-oj: ESP32 GPIO-Referenca Gvidilo
Projekto Eksample
Por montri al vi kiel uzi ciferecajn enirojn kaj ciferecajn elirojn, ni konstruos simplan projekton ekzample kun prembutono kaj LED. Ni legos la staton de la prembutono kaj lumigos la LED laŭe kiel ilustrite en la sekva figuro.LAFVIN ESP32 Basic Starter Kit - Project Example

Partoj Bezonataj
Jen listo de la partoj, kiujn vi bezonas por konstrui la cirkviton:

  • ESP32 DEVKIT V1
  • 5 mm LED
  • 220 Ohm-rezistilo
  • Puŝbutono
  • 10k Ohm-rezistilo
  • Breadboard
  • Jumper dratoj

Skema Diagramo
Antaŭ ol daŭrigi, vi devas kunveni cirkviton kun LED kaj prembutono.
Ni konektos la LED al GPIO 5 kaj la prembutonon al GPIO 4.LAFVIN ESP32 Baza Komenca Ilaro - Skema DiagramoKodo
Malfermu la kodon Project_1_ESP32_Inputs_Outputs.ino en arduino IDELAFVIN ESP32 Baza Komenca Ilaro - KodoLAFVIN ESP32 Baza Komenca Ilaro - Kodo 1Kiel la Kodo Funkcias
En la sekvaj du linioj, vi kreas variablojn por atribui pinglojn:

LAFVIN ESP32 Baza Komenca Ilaro - Kodo FunkciasLa butono estas konektita al GPIO 4 kaj la LED estas konektita al GPIO 5. Kiam oni uzas la Arduino IDE kun la ESP32, 4 respondas al GPIO 4 kaj 5 respondas al GPIO 5.
Poste, vi kreas variablon por teni la butonan staton. Defaŭlte, ĝi estas 0 (ne premita).
int butonoStato = 0;
En la agordo(), vi pravigas la butonon kiel INPUT, kaj la LED kiel ELIGO.
Por tio, vi uzas la funkcion pinMode() kiu akceptas la pinton, al kiu vi aludas, kaj la reĝimon: INPUT aŭ OUTPUT.
pinMode (butonoPin, INPUT);
pinMode (ledPin, OUTPUT);
En la buklo () estas kie vi legas la butonan staton kaj agordas la LED laŭe.
En la sekva linio, vi legas la butonan staton kaj konservu ĝin en la variablo butonState.
Kiel ni vidis antaŭe, vi uzas la funkcion digitalRead().
butonStato = digitalRead (butonoPin);
La sekva se deklaro, kontrolas ĉu la butonstato estas ALTA. Se ĝi estas, ĝi ŝaltas la LED uzante la digitalWrite() funkcion kiu akceptas kiel argumento la ledPin, kaj la stato ALTA.
se (buttonState == ALTA)LAFVIN ESP32 Baza Komenca Ilaro - Kodo Funkcias 1Se la butonstato ne estas ALTA, vi malŝaltas la LED. Nur agordu LOW kiel duan argumenton en la funkcio digitalWrite().LAFVIN ESP32 Basic Starter Kit - digitalWriteAlŝutante la Kodon
Antaŭ alklaki la butonon de alŝuto, iru al Iloj > Tabulo, kaj elektu la tabulon :DOIT ESP32 DEVKIT V1-tabulo.
Iru al Iloj> Haveno kaj elektu la COM-havenon, al kiu ESP32 estas konektita. Poste, premu la butonon de alŝuto kaj atendu la mesaĝon "Fine alŝuto".LAFVIN ESP32 Baza Komenca Ilaro - IKONO 7Noto: Se vi vidas multajn punktojn (konekti...__...__) sur la sencimiga fenestro kaj la mesaĝon "Malsukcesis konekti al ESP32: Tempo elĉerpita atendante pakaĵkapon", tio signifas, ke vi devas premi la ESP32 surŝipe BOOT. butono post la punktoj
komenci aperi.Troubleshooting

Manifestacio

Post alŝuto de la kodo, provu vian cirkviton. Via LED devus lumiĝi kiam vi premas la puŝbutonon:LAFVIN ESP32 Basic Starter Kit - DemonstroKaj malŝaltu kiam vi liberigas ĝin:LAFVIN ESP32 Basic Starter Kit - turno de

Projekto 2 ESP32 Analogaj Enigaĵoj

Ĉi tiu projekto montras kiel legi analogajn enigojn kun la ESP32 uzante Arduino IDE.
Analoga legado estas utila por legi valorojn de variaj rezistiloj kiel potenciometroj aŭ analogaj sensiloj.
Analogaj Enigaĵoj (ADC)
Legi analogan valoron kun la ESP32 signifas, ke vi povas mezuri diversajn volojntage-niveloj inter 0 V kaj 3.3 V.
La voltage mezurita tiam estas asignita al valoro inter 0 kaj 4095, en kiu 0 V egalrilatas al 0, kaj 3.3 V egalrilatas al 4095. Ajna voltage inter 0 V kaj 3.3 V ricevos la respondan valoron intere.LAFVIN ESP32 Baza Komenca Ilaro - Analogaj EnigaĵojADC estas Ne-linia
Ideale, vi atendus linearan konduton kiam vi uzas la ESP32 ADC-pinglojn.
Tamen tio ne okazas. Kion vi ricevos estas konduto kiel montrita en la sekva diagramo:LAFVIN ESP32 Baza Komenca Ilaro - Ne-liniaĈi tiu konduto signifas, ke via ESP32 ne kapablas distingi 3.3 V de 3.2 V.
Vi ricevos la saman valoron por ambaŭ voltages: 4095.
La sama okazas por tre malalta voltage valoroj: por 0 V kaj 0.1 V vi ricevos la saman valoron: 0. Vi devas konservi ĉi tion en menso kiam vi uzas la ESP32 ADC-pingloj.
analogRead() Funkcio
Legi analogan enigaĵon kun la ESP32 uzante la Arduino-IDE estas tiel simpla kiel uzi la funkcion analogRead(). Ĝi akceptas kiel argumenton, la GPIO kiun vi volas legi:
analogRead(GPIO);
Nur 15 disponeblas en la DEVKIT V1board (versio kun 30 GPIOoj).
Prenu vian ESP32-tabulpinton kaj lokalizu la ADC-stiftojn. Ĉi tiuj estas reliefigitaj per ruĝa rando en la malsupra figuro.LAFVIN ESP32 Basic Starter Kit - limoĈi tiuj analogaj enirpingloj havas 12-bitan rezolucion. Ĉi tio signifas, ke kiam vi legas analogan enigaĵon, ĝia intervalo povas varii de 0 al 4095.
Noto: ADC2-pingloj ne povas esti uzataj kiam Wi-Fi estas uzata. Do, se vi uzas Wi-Fi kaj vi havas problemojn akiri la valoron de ADC2 GPIO, vi eble pripensos uzi ADC1 GPIO anstataŭe, tio devus solvi vian problemon.
Por vidi kiel ĉio kuniĝas, ni faros simplan eksample por legi analogan valoron de potenciometro.
Partoj Bezonataj
Por ĉi tiu ekzample, vi bezonas la jenajn partojn:

  • Estraro ESP32 DEVKIT V1
  • Potenciometro
  • Breadboard
  • Jumper dratoj

Skema
Dramu potenciometron al via ESP32. La meza pinglo de la potenciometro devas esti konektita al GPIO 4. Vi povas uzi la sekvan skeman diagramon kiel referencon.LAFVIN ESP32 Baza Komenca Ilaro - SkemaKodo
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDE
Malfermu la kodon Project_2_ESP32_Inputs_Outputs.ino en arduino IDELAFVIN ESP32 Baza Komenca Ilaro - Kodo 2Ĉi tiu kodo simple legas la valorojn de la potenciometro kaj presas tiujn valorojn en la Seria Monitoro.
En la kodo, vi komencas difinante la GPIO, al kiu la potenciometro estas konektita. En ĉi tiu ekzample, GPIO 4.LAFVIN ESP32 Basic Starter Kit - ekzampleEn la agordo (), pravalorigu serian komunikadon kun baudrapideco de 115200.LAFVIN ESP32 Basic Starter Kit - ekzample 1En la buklo(), uzu la analogRead() funkcion por legi la analogan enigaĵon de la potPin.LAFVIN ESP32 Basic Starter Kit - ekzample 2Fine, presi la valorojn legitajn de la potenciometro en la seria monitoro.LAFVIN ESP32 Basic Starter Kit - ekzample 3Alŝutu la kodon provizitan al via ESP32. Certigu, ke vi havas la ĝustan tabulon kaj COM-havenon elektitajn en la menuo Iloj.
Testante la Eksample
Post alŝuto de la kodo kaj premado de la ESP32-restarigi butonon, malfermu la Serian Monitoron kun baudrapideco de 115200. Rotu la potenciometron kaj vidu la valorojn ŝanĝiĝantajn.La maksimuma valoro, kiun vi ricevos, estas 4095 kaj la minimuma valoro estas 0.LAFVIN ESP32 Basic Starter Kit -maksimuma valoro

Envolvante

En ĉi tiu artikolo vi lernis kiel legi analogajn enigojn uzante la ESP32 kun la Arduino IDE. En resumo:

  • La ESP32 DEVKIT V1 DOIT-tabulo (versio kun 30 pingloj) havas 15 ADC-stiftojn, kiujn vi povas uzi por legi analogajn enigojn.
  • Ĉi tiuj pingloj havas rezolucion de 12 bitoj, kio signifas, ke vi povas akiri valorojn de 0 ĝis 4095.
  • Por legi valoron en la IDE de Arduino, vi simple uzas la funkcion analogRead().
  • La ESP32 ADC-stiftoj ne havas linearan konduton. Vi verŝajne ne povos distingi inter 0 kaj 0.1V, aŭ inter 3.2 kaj 3.3V. Vi devas konservi tion en menso kiam vi uzas la ADC-pinglojn.

Projekto 3 ESP32 PWM (Analoga Eligo)

En ĉi tiu lernilo ni montros al vi kiel generi PWM-signalojn kun la ESP32 uzante Arduino IDE. Kiel eksampni konstruos simplan cirkviton, kiu malheligas LED-on per la LED-PWM-regilo de la ESP32.LAFVIN ESP32 Baza Komenca Ilaro - AnalogOutputESP32 LED PWM-Regilo
La ESP32 havas LED-PWM-regilon kun 16 sendependaj kanaloj, kiuj povas esti agorditaj por generi PWM-signalojn kun malsamaj propraĵoj.
Jen la paŝoj, kiujn vi devos sekvi por mallumigi LED-on kun PWM uzante la Arduino-IDE:

  1. Unue, vi devas elekti PWM-kanalon. Estas 16 kanaloj de 0 ĝis 15.
  2. Tiam vi devas agordi la PWM-signalfrekvencon. Por LED, frekvenco de 5000 Hz estas bone uzi.
  3. Vi ankaŭ devas agordi la devociklo-rezolucion de la signalo: vi havas rezoluciojn de 1 ĝis 16 bitoj. Ni uzos 8-bitan rezolucion, kio signifas, ke vi povas kontroli la LED-brilecon uzante valoron de 0 ĝis 255.
  4.  Poste, vi devas specifi sur kiuj GPIO aŭ GPIO aperos la signalo. Por tio vi uzos la sekvan funkcion:
    ledcAttachPin (GPIO, kanalo)
    Ĉi tiu funkcio akceptas du argumentojn. La unua estas la GPIO, kiu eligos la signalon, kaj la dua estas la kanalo, kiu generos la signalon.
  5. Fine, por kontroli la LED-brilecon per PWM, vi uzas la sekvan funkcion:

ledcWrite (kanalo, devociklo)
Ĉi tiu funkcio akceptas kiel argumentojn la kanalon, kiu generas la PWM-signalon, kaj la devociklon.
Partoj Bezonataj
Por sekvi ĉi tiun lernilon vi bezonas ĉi tiujn partojn:

  • Estraro ESP32 DEVKIT V1
  • 5mm LED
  • 220 Ohm-rezistilo
  •  Breadboard
  • Jumper dratoj

Skema
Dramu LED al via ESP32 kiel en la sekva skema diagramo. La LED devus esti konektita al GPIO 4.LAFVIN ESP32 Baza Komenca Ilaro - SkemaNotu: vi povas uzi ajnan pinglo kiun vi volas, kondiĉe ke ĝi povas funkcii kiel eligo. Ĉiuj pingloj kiuj povas funkcii kiel produktaĵoj povas esti uzataj kiel PWM-stiftoj. Por pliaj informoj pri la ESP32 GPIO-oj, legu: ESP32 Pinout-Referenco: Kiujn GPIO-pinglojn vi devas uzi?
Kodo
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDE
Malfermu la kodon Project_3_ESP32_PWM.ino en arduino IDELAFVIN ESP32 Baza Komenca Ilaro - Kodo 3LAFVIN ESP32 Baza Komenca Ilaro - Kodo 4Vi komencas difinante la pinglon, al kiu la LED estas fiksita. En ĉi tiu kazo la LED estas fiksita al GPIO 4.LAFVIN ESP32 Baza Komenca Ilaro - Kodo 5Poste, vi fiksas la PWM-signalpropraĵojn. Vi difinas frekvencon de 5000 Hz, elektas kanalon 0 por generi la signalon, kaj fiksas rezolucion de 8 bitoj. Vi povas elekti aliajn trajtojn, malsamajn ol ĉi tiuj, por generi malsamajn PWM-signalojn.LAFVIN ESP32 Baza Komenca Ilaro - Kodo 6En la agordo(), vi devas agordi LED PWM kun la propraĵoj, kiujn vi difinis pli frue, uzante la funkcion ledcSetup(), kiu akceptas kiel argumentojn, la ledChannel, la frekvencon kaj la rezolucion jene:LAFVIN ESP32 Baza Komenca Ilaro - Kodo 8Poste, vi devas elekti la GPIO de kiu vi ricevos la signalon. Por tio uzu la funkcion ledcAttachPin(), kiu akceptas kiel argumentojn la GPIO, kie vi volas ricevi la signalon, kaj la kanalon, kiu generas la signalon. En ĉi tiu ekzample, ni ricevos la signalon en la ledPin GPIO, kiu respondas al GPIO 4. La kanalo kiu generas la signalon estas la ledChannel, kiu respondas al la kanalo 0.LAFVIN ESP32 Baza Komenca Ilaro - Kodo 9En la buklo, vi variigos la devociklon inter 0 kaj 255 por pliigi la LED-brilecon.LAFVIN ESP32 Basic Starter Kit - brilecoKaj tiam, inter 255 kaj 0 por malpliigi la brilon.LAFVIN ESP32 Baza Komenca Ilaro - brileco 1Por agordi la brilecon de la LED, vi nur bezonas uzi la funkcion ledcWrite(), kiu akceptas kiel argumentojn la kanalon, kiu generas la signalon, kaj la devociklon.LAFVIN ESP32 Baza Komenca Ilaro - brileco 2Ĉar ni uzas 8-bitan rezolucion, la devociklo estos kontrolita per valoro de 0 ĝis 255. Notu, ke en la funkcio ledcWrite() ni uzas la kanalon kiu generas la signalon, kaj ne la GPIO.

Testante la Eksample

Alŝutu la kodon al via ESP32. Certiĝu, ke vi havas la ĝustan tabulon kaj COM-havenon elektitaj. Rigardu vian cirkviton. Vi devus havi malklaran LED kiu pliigas kaj malpliigas brilon.LAFVIN ESP32 Basic Starter Kit - Testing the Example

Projekto 4 ESP32 PIR Movsensilo

Ĉi tiu projekto montras kiel detekti moviĝon per la ESP32 uzante PIR-moviĝsensilon. La zumilo sonigos alarmon kiam moviĝo estas detektita, kaj ĉesigos la alarmon kiam neniu moviĝo estas detektita dum antaŭfiksita tempo (kiel ekzemple 4 sekundoj)
Kiel Funkcias HC-SR501 Movsensilo
.LAFVIN ESP32 Baza Komenca Ilaro - Movsensilo FunkciasLa funkcia principo de HC-SR501-sensilo baziĝas sur la ŝanĝo de la transruĝa radiado sur la moviĝanta objekto. Por esti detektita de la HC-SR501-sensilo, la objekto devas plenumi du postulojn:

  • La objekto elsendas la infraruĝan vojon.
  • La objekto moviĝas aŭ tremas

Do:
Se objekto elsendas la infraruĝan radion sed ne moviĝas (ekz., persono staras senmove), ĝi ne estas detektita de la sensilo.
Se objekto moviĝas sed Ne elsendas la infraruĝan radion (ekz., roboto aŭ veturilo), ĝi NE estas detektita de la sensilo.
Enkonduko de Temporiziloj
En ĉi tiu ekzampni ankaŭ enkondukos tempigilojn. Ni volas, ke la LED restu ŝaltita dum antaŭfiksita nombro da sekundoj post kiam moviĝo estas detektita. Anstataŭ uzi delay() funkcion, kiu blokas vian kodon kaj ne permesas al vi fari ion alian dum difinita nombro da sekundoj, ni uzu tempigilon.LAFVIN ESP32 Baza Komenca Ilaro - Enkondukaj TemporizilojLa funkcio delay().
Vi devus koni la funkcion delay() ĉar ĝi estas vaste uzata. Ĉi tiu funkcio estas sufiĉe facila por uzi. Ĝi akceptas ununuran int nombron kiel argumenton.
Ĉi tiu nombro reprezentas la tempon en milisekundoj, kiun la programo devas atendi ĝis transiri al la sekva linio de kodo.LAFVIN ESP32 Basic Starter Kit - kodoKiam vi prokrastas (1000) via programo haltas sur tiu linio dum 1 sekundo.
delay() estas bloka funkcio. Blokaj funkcioj malhelpas programon fari ion alian ĝis tiu aparta tasko estas finita. Se vi bezonas plurajn taskojn okazi samtempe, vi ne povas uzi delay().
Por plej multaj projektoj vi devus eviti uzi prokrastojn kaj uzi tempigilojn anstataŭe.
La funkcio millis().
Uzante funkcion nomitan millis() vi povas redoni la nombron da milisekundoj, kiuj pasis de kiam la programo unue komenciĝis.LAFVIN ESP32 Basic Starter Kit - programo unue komenciĝisKial tiu funkcio estas utila? Ĉar uzante iom da matematiko, vi povas facile kontroli kiom da tempo pasis sen bloki vian kodon.
Partoj Bezonataj
Por sekvi ĉi tiun lernilon vi bezonas la jenajn partojn

  • Estraro ESP32 DEVKIT V1
  • PIR-moviĝsensilo (HC-SR501)
  • Aktiva Zumilo
  • Jumper dratoj
  • Breadboard

SkemaLAFVIN ESP32 Baza Komenca Ilaro - Skemo 1Notu: La labora voltage de HC-SR501 estas 5V. Uzu la Vin-pinglon por funkciigi ĝin.
Kodo
Antaŭ ol daŭrigi ĉi tiun lernilon, vi devus havi la ESP32-aldonaĵon instalita en via Arduino IDE. Sekvu unu el la sekvaj lerniloj por instali la ESP32 sur la Arduino IDE, se vi ne jam faris. (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDE
Malfermu la kodon Project_4_ESP32_PIR_Motion_Sensor.ino en arduino IDE.
Manifestacio
Alŝutu la kodon al via ESP32-tabulo. Certiĝu, ke vi havas la ĝustan tabulon kaj COM-havenon elektitan.Alŝutu kodajn referencajn paŝojn.
Malfermu la Serian Monitoron kun baudrapideco de 115200.LAFVIN ESP32 Baza Komenca Ilaro - Demonstro 1Movu vian manon antaŭ la PIR-sensilo. La zumilo devus ŝalti, kaj la mesaĝo estas presita en la Seria Monitoro dirante "Moviĝo detektita! Buzzera alarmo".
Post 4 sekundoj la zumilo devas malŝalti.LAFVIN ESP32 Basic Starter Kit - zumilo

Projekto 5 ESP32 Ŝaltilo Web Servilo

En ĉi tiu projekto vi kreos memstaran web servilo kun ESP32, kiu kontrolas elirojn (du LEDoj) uzante la programan medion Arduino IDE. La web servilo estas movebla respondema kaj alireblas per iu ajn aparato kiel retumilo en la loka reto. Ni montros al vi kiel krei la web servilo kaj kiel la kodo funkcias paŝo post paŝo.
Projekto Finitaview
Antaŭ iri rekte al la projekto, gravas skizi kio nia web servilo faros, por ke estas pli facile sekvi la paŝojn poste.

  • La web servilo, vi konstruos kontrolojn du LED-ojn konektitajn al la ESP32 GPIO 26 kaj GPIO 27;
  • Vi povas aliri la ESP32 web servilo tajpante la IP-adreson ESP32 en retumilo en la loka reto;
  • Alklakante la butonojn sur via web servilo vi povas tuj ŝanĝi la staton de ĉiu LED.

Partoj Bezonataj
Por ĉi tiu lernilo vi bezonos la jenajn partojn:

  • Estraro ESP32 DEVKIT V1
  • 2x 5mm LED
  • 2x 200 Ohm-rezistilo
  • Breadboard
  • Jumper dratoj

Skema
Komencu konstruante la cirkviton. Konektu du LED-ojn al la ESP32 kiel montrite en la sekva skema diagramo - unu LED konektita al GPIO 26, kaj la alia al GPIO 27.
Notu: Ni uzas la tabulon ESP32 DEVKIT DOIT kun 36 pingloj. Antaŭ ol kunmeti la cirkviton, certigu, ke vi kontrolas la pinout por la tabulo, kiun vi uzas.LAFVIN ESP32 Baza Komenca Ilaro - SkemaKodo
Ĉi tie ni provizas la kodon kiu kreas la ESP32 web servilo. Malfermu la kodon Project_5_ESP32_Switch _Web_Server.ino en arduino IDE, sed ankoraŭ ne alŝutu ĝin. Vi devas fari iujn ŝanĝojn por ke ĝi funkciu por vi.
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDE
Agordi Viajn Retajn Akreditaĵojn
Vi devas modifi la sekvajn liniojn kun viaj retaj akreditaĵoj: SSID kaj pasvorto. La kodo estas bone komentita pri kie vi devus fari la ŝanĝojn.LAFVIN ESP32 Basic Starter Kit - Retaj AkreditaĵojAlŝutante la Kodon
Nun, vi povas alŝuti la kodon kaj kaj la web servilo tuj funkcios.
Sekvu la sekvajn paŝojn por alŝuti kodon al la ESP32:

  1. Konektu vian ESP32-tabulon en vian komputilon;
  2. En la Arduino IDE elektu vian tabulon en Iloj > Tabulo (en nia kazo ni uzas la ESP32 DEVKIT DOIT-tabulo);LAFVIN ESP32 Baza Komenca Ilaro - Alŝuto de la Kodo
  3. Elektu la COM-havenon en Iloj> Haveno.LAFVIN ESP32 Baza Komenca Ilaro - Ila Haveno
  4. Premu la butonon Alŝuti en la Arduino IDE kaj atendu kelkajn sekundojn dum la kodo kompilas kaj alŝutas al via tabulo.LAFVIN ESP32 Baza Komenca Ilaro - IKONO 7
  5. Atendu la mesaĝon "Fine alŝuto".LAFVIN ESP32 Basic Starter Kit - Finita alŝutado 1

Trovi la IP-adreson de ESP
Post alŝuto de la kodo, malfermu la Serian Monitoron kun baudrapideco de 115200.LAFVIN ESP32 Basic Starter Kit - ESP IP-adresoPremu la butonon ESP32 EN (restarigi). La ESP32 konektas al Wi-Fi, kaj eligas la ESP-IP-adreson sur la Seria Monitoro. Kopiu tiun IP-adreson, ĉar vi bezonas ĝin por aliri la ESP32 web servilo.LAFVIN ESP32 Baza Komenca Ilaro - web serviloAlirante la Web Servilo
Por aliri la web servilo, malfermu vian retumilon, algluu la IP-adreson de ESP32, kaj vi vidos la sekvan paĝon.
Notu: Via retumilo kaj ESP32 devus esti konektitaj al la sama LAN.LAFVIN ESP32 Basic Starter Kit - Aliro al la Web ServiloSe vi rigardas la Serian Monitoron, vi povas vidi kio okazas sur la fono. La ESP ricevas HTTP-peton de nova kliento (en ĉi tiu kazo, via retumilo).LAFVIN ESP32 Basic Starter Kit - HTTP-petoVi ankaŭ povas vidi aliajn informojn pri la HTTP-peto.
Manifestacio
Nun vi povas testi ĉu vi web servilo funkcias ĝuste. Alklaku la butonojn por kontroli la LED-ojn.LAFVIN ESP32 Basic Starter Kit - fonoSamtempe, vi povas rigardi la Serian Monitoron por vidi kio okazas en la fono. Por ekzample, kiam vi alklakas la butonon por ŝalti GPIO 26, ESP32 ricevas peton sur la /26/on URL.LAFVIN ESP32 Baza Komenca Ilaro - URLKiam la ESP32 ricevas tiun peton, ĝi ŝaltas la LED ligitan al GPIO 26 kaj ĝisdatigas sian staton sur la web paĝo.LAFVIN ESP32 Baza Komenca Ilaro - web paĝoLa butono por GPIO 27 funkcias simile. Provu, ke ĝi funkcias ĝuste.LAFVIN ESP32 Basic Starter Kit - funkcianta ĝuste

Kiel la Kodo Funkcias

En ĉi tiu sekcio rigardos pli detale la kodon por vidi kiel ĝi funkcias.
La unua afero, kiun vi devas fari, estas inkluzivi la WiFi-bibliotekon.LAFVIN ESP32 Basic Starter Kit - WiFi-bibliotekoKiel menciite antaŭe, vi devas enmeti vian ssid kaj pasvorton en la sekvajn liniojn en la duoblajn citilojn.LAFVIN ESP32 Basic Starter Kit - duoblaj citilojTiam vi agordu vian web servilo al haveno 80.LAFVIN ESP32 Baza Komenca Ilaro - web serviloLa sekva linio kreas variablon por konservi la kaplinion de la HTTP-peto:LAFVIN ESP32 Baza Komenca Ilaro - HTTPpetoPoste, vi kreas helpvariablojn por konservi la nunan staton de viaj eligoj. Se vi volas aldoni pliajn elirojn kaj konservi ĝian staton, vi devas krei pli da variabloj.LAFVIN ESP32 Basic Starter Kit - variablojVi ankaŭ devas asigni GPIO al ĉiu el viaj eliroj. Ĉi tie ni uzas GPIO 26 kaj GPIO 27. Vi povas uzi ajnajn aliajn taŭgajn GPIO-ojn.LAFVIN ESP32 Basic Starter Kit - alia taŭgaagordi ()
Nun, ni iru en la aranĝon (). Unue, ni komencas serian komunikadon kun baudrapideco de 115200 por sencimigaj celoj.LAFVIN ESP32 Basic Starter Kit - celojVi ankaŭ difinas viajn GPIO-ojn kiel ELIGOJN kaj agordas ilin al LOW.LAFVIN ESP32 Basic Starter Kit - GPIOoj kiel ELIGOJLa sekvaj linioj komencas la Wi-Fi-konekton kun WiFi.begin(ssid, pasvorto), atendu sukcesan konekton kaj presi la ESP-IP-adreson en la Seria Monitoro.LAFVIN ESP32 Baza Komenca Ilaro - SeriaLAFVIN ESP32 Baza Komenca Ilaro - Serio 1buklo ()
En la buklo() ni programas kio okazas kiam nova kliento establas konekton kun la web servilo.
La ESP32 ĉiam aŭskultas alvenantajn klientojn kun la sekva linio:LAFVIN ESP32 Basic Starter Kit - bukloKiam peto estas ricevita de kliento, ni konservos la envenantajn datumojn. La dum-buklo kiu sekvas funkcios tiel longe kiel la kliento restos konektita. Ni ne rekomendas ŝanĝi la sekvan parton de la kodo krom se vi scias precize kion vi faras.LAFVIN ESP32 Basic Starter Kit - ekzakteLAFVIN ESP32 Baza Komenca Ilaro - ekzakte 1LAFVIN ESP32 Baza Komenca Ilaro - ekzakte 2La sekva sekcio de se kaj else deklaroj kontrolas kiun butonon estis premita en via web paĝo, kaj kontrolas la elirojn laŭe. Kiel ni vidis antaŭe, ni faras peton pri malsamaj URLs depende de la butono premita.LAFVIN ESP32 Basic Starter Kit - butono premitaLAFVIN ESP32 Basic Starter Kit - butono premita 1Por ekzample, se vi premas la butonon GPIO 26 ON, la ESP32 ricevas peton sur la /26/ON URL (Ni povas vidi ke tiuj informoj sur la HTTP-kapo sur la Seria Monitoro). Do, ni povas kontroli ĉu la kaplinio enhavas la esprimon GET /26/on. Se ĝi enhavas, ni ŝanĝas la output26state variablon al ON, kaj la ESP32 ŝaltas la LED.
Ĉi tio funkcias simile por la aliaj butonoj. Do, se vi volas aldoni pliajn elirojn, vi devus modifi ĉi tiun parton de la kodo por inkluzivi ilin.
Montrante la HTML web paĝo
La sekva afero, kiun vi devas fari, estas krei la web paĝo. La ESP32 sendos respondon al via retumilo kun iu HTML-kodo por konstrui la web paĝo.
La web paĝo estas sendita al la kliento uzante ĉi tiun esprimon client.println(). Vi devus enigi tion, kion vi volas sendi al la kliento kiel argumenton.
La unua afero, kiun ni devus sendi, estas ĉiam la sekva linio, kiu indikas, ke ni sendas HTML.LAFVIN ESP32 Basic Starter Kit - sendante HTMLTiam, la sekva linio faras la web paĝo respondema en iu ajn web retumilo.LAFVIN ESP32 Baza Komenca Ilaro - web retumiloKaj la sekvanta estas uzata por malhelpi petojn sur la favicon. – Vi ne bezonas zorgi pri ĉi tiu linio.LAFVIN ESP32 Basic Starter Kit - client.println

Styling la Web Paĝo

Poste, ni havas iom da CSS-teksto por stiligi la butonojn kaj la web paĝa aspekto.
Ni elektas la Helvetica tiparon, difinas la enhavon por esti montrita kiel bloko kaj vicigita ĉe la centro.LAFVIN ESP32 Baza Komenca Ilaro - Stilado la Web PaĝoNi stiligas niajn butonojn kun la koloro #4CAF50, sen bordo, teksto en blanka koloro, kaj kun ĉi tiu kompletigo: 16px 40px. Ni ankaŭ fiksas la teksto-ornamon al neniu, difinas la tiparon, la marĝenon kaj la kursoron al montrilo.LAFVIN ESP32 Basic Starter Kit - montriloNi ankaŭ difinas la stilon por dua butono, kun ĉiuj trajtoj de la butono, kiun ni antaŭe difinis, sed kun malsama koloro. Ĉi tio estos la stilo por la malŝaltita butono.LAFVIN ESP32 Basic Starter Kit - client.println 1

Agordi la Web Paĝo Unua Titolo
En la sekva linio vi povas agordi la unuan titolon de via web paĝo. Ĉi tie ni havas "ESP32 Web Servilo”, sed vi povas ŝanĝi ĉi tiun tekston al kio ajn vi volas.LAFVIN ESP32 Baza Komenca Ilaro - Web Paĝa TitoloMontrante la Butonojn kaj Korespondan Ŝtaton
Tiam vi skribas alineon por montri la nunan staton de GPIO 26. Kiel vi povas vidi, ni uzas la variablon output26State, por ke la stato ĝisdatiĝas tuj kiam ĉi tiu variablo ŝanĝiĝas.LAFVIN ESP32 Basic Starter Kit - variaj ŝanĝojPoste, ni montras la butonon ŝaltita aŭ malŝaltita, depende de la nuna stato de la GPIO. Se la nuna stato de la GPIO estas malŝaltita, ni montras la butonon ON, se ne, ni montras la butonon OFF.LAFVIN ESP32 Basic Starter Kit - montru la OFF butononNi uzas la saman proceduron por GPIO 27.
Fermante la Konekton
Fine, kiam la respondo finiĝas, ni malplenigas la kapan variablon, kaj ĉesas la rilaton kun la kliento per client.stop().LAFVIN ESP32 Basic Starter Kit - Fermante la Konekton

Envolvante

En ĉi tiu lernilo ni montris al vi kiel konstrui a web servilo kun la ESP32. Ni montris al vi simplan eksample kiu kontrolas du LED-ojn, sed la ideo estas anstataŭigi tiujn LED-ojn per relajso, aŭ ajna alia eligo, kiun vi volas kontroli.

Projekto 6 RGB LED Web Servilo

En ĉi tiu projekto ni montros al vi kiel malproksime kontroli RGB-LED per ESP32-tabulo uzante a web servilo kun kolorelektilo.
Projekto Finitaview
Antaŭ ol komenci, ni vidu kiel funkcias ĉi tiu projekto:LAFVIN ESP32 Baza Komenca Ilaro - Projekto Finitaview

  • La ESP32 web servilo montras kolor-elektilon.
  • Kiam vi elektis koloron, via retumilo faras peton je a URL kiu enhavas la R, G, kaj B-parametrojn de la elektita koloro.
  • Via ESP32 ricevas la peton kaj disigas la valoron por ĉiu kolora parametro.
  • Poste, ĝi sendas PWM-signalon kun la responda valoro al la GPIO-oj, kiuj kontrolas la RGB-LED.

Kiel funkcias RGB-LED-oj?
En komuna katoda RGB LED, ĉiuj tri LEDoj dividas negativan konekton (katodo). Ĉiuj inkluzivitaj en la ilaro estas komuna katoda RGB.LAFVIN ESP32 Basic Starter Kit - RGB LED-oj funkciasKiel krei malsamajn kolorojn?
Kun RGB LED vi povas, kompreneble, produkti ruĝan, verdan kaj bluan lumon, kaj agordante la intensecon de ĉiu LED, vi povas produkti aliajn kolorojn ankaŭ.
Por ekzampLe, por produkti pure bluan lumon, vi agordus la bluan LED al la plej alta intenseco kaj la verda kaj ruĝa LED al la plej malalta intenseco. Por blanka lumo, vi agordus ĉiujn tri LED-ojn al la plej alta intenseco.
Miksi kolorojn
Por produkti aliajn kolorojn, vi povas kombini la tri kolorojn en malsamaj intensoj. Por ĝustigi la intensecon de ĉiu LED vi povas uzi PWM-signalon.
Ĉar la LED-oj estas tre proksimaj unu al la alia, niaj okuloj vidas la rezulton de la kombinaĵo de koloroj, prefere ol la tri koloroj individue.
Por havi ideon pri kiel kombini la kolorojn, rigardu la sekvan diagramon.
Ĉi tiu estas la plej simpla kolora miksa diagramo, sed donas al vi ideon kiel ĝi funkcias kaj kiel produkti malsamajn kolorojn.LAFVIN ESP32 Basic Starter Kit - malsamaj kolorojPartoj Bezonataj
Por ĉi tiu projekto vi bezonas la jenajn partojn:

  • Estraro ESP32 DEVKIT V1
  • RGB LED
  • 3x 220 ohmaj rezistiloj
  • Jumper dratoj
  • Breadboard

SkemaLAFVIN ESP32 Baza Komenca Ilaro - SkemaKodo
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)

  • Instalante ESP32-aldonaĵon en Arduino IDE

Post kunmeti la cirkviton, Malfermu la kodon
Projekto_6_RGB_LED_Web_Server.ino en arduino IDE.
Antaŭ alŝuti la kodon, ne forgesu enigi viajn retajn akreditaĵojn por ke la ESP povu konektiĝi al via loka reto.LAFVIN ESP32 Basic Starter Kit - loka retoKiel funkcias la kodo
La skizo de ESP32 uzas la bibliotekon WiFi.h.LAFVIN ESP32 Basic Starter Kit - WiFi.h bibliotekoLa sekvaj linioj difinas ŝnurajn variablojn por teni la R, G kaj B-parametrojn de la peto.LAFVIN ESP32 Baza Komenca Ilaro - Ŝnuro redStringLa sekvaj kvar variabloj estas uzataj por malkodi la HTTP-peton poste.LAFVIN ESP32 Basic Starter Kit - HTTP-petoKreu tri variablojn por la GPIO-oj, kiuj kontrolos la striajn parametrojn R, G kaj B. En ĉi tiu kazo ni uzas GPIO 13, GPIO 12, kaj GPIO 14.LAFVIN ESP32 Basic Starter Kit - GPIOoj bezonasĈi tiuj GPIO-oj devas eligi PWM-signalojn, do ni devas unue agordi la PWM-ecojn. Agordu la PWM-signalfrekvencon al 5000 Hz. Poste, asocii PWM-kanalon por ĉiu koloroLAFVIN ESP32 Basic Starter Kit - ĉiu koloroKaj finfine, agordu la rezolucion de la PWM-kanaloj al 8-bitLAFVIN ESP32 Basic Starter Kit - PWM-kanalojEn la agordo (), asignu la PWM-ecojn al la PWM-kanalojLAFVIN ESP32 Basic Starter Kit - PWM-kanalojAligu la PWM-kanalojn al la respondaj GPIOojLAFVIN ESP32 Basic Starter Kit - respondaj GPIOojLa sekva koda sekcio montras la kolor-elekton en via web paĝo kaj faras peton laŭ la koloro, kiun vi elektis.LAFVIN ESP32 Basic Starter Kit - elektitaLAFVIN ESP32 Basic Starter Kit - client.printlnLAFVIN ESP32 Basic Starter Kit - client.println 1Kiam vi elektas koloron, vi ricevas peton kun la sekva formato.LAFVIN ESP32 Basic Starter Kit - jena formato

Do, ni devas dividi ĉi tiun ŝnuron por akiri la R, G kaj B-parametrojn. La parametroj estas konservitaj en variabloj redString, greenString kaj blueString kaj povas havi valorojn inter 0 kaj 255.LAFVIN ESP32 Basic Starter Kit - kaplinioLAFVIN ESP32 Basic Starter Kit - kaplinio 1Por kontroli la strion per la ESP32, uzu la funkcion ledcWrite() por generi PWM-signalojn kun la valoroj malkoditaj de la HTTP. peto.LAFVIN ESP32 Baza Komenca Ilaro - HTTP-peto 1Notu: Lernu pli pri PWM kun ESP32: Projekto 3 ESP32 PWM (Analoga Eligo)
Por kontroli la strion per la ESP8266, ni nur bezonas uzi
la analogWrite() funkcio por generi PWM-signalojn kun la valoroj deĉifritaj de la HTPP-peto.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Ĉar ni ricevas la valorojn en ĉena variablo, ni devas konverti ilin al entjeroj uzante la metodon toInt().
Manifestacio
Post enigi viajn retajn akreditaĵojn, elektu la ĝustan tabulon kaj COM-havenon kaj alŝutu la kodon al via ESP32.Alŝutu kodon referencajn paŝojn.
Post alŝuto, malfermu la Serian Monitoron kun baudrapideco de 115200 kaj premu la butonon Ebligi/Restarigi ESP. Vi devus ricevi la IP-adreson de la tabulo.LAFVIN ESP32 Basic Starter Kit - sama LANMalfermu vian retumilon kaj enigu la ESP-IP-adreson. Nun uzu la kolor-elektilon por elekti koloron por la RGB LED.
Poste, vi devas premi la butonon "Ŝanĝi Koloron" por ke la koloro efiku.LAFVIN ESP32 Baza Komenca Ilaro - RGB LEDPor malŝalti la RGB-LED, elektu la nigran koloron.
La plej fortaj koloroj (ĉe la supro de la kolor-elektilo), estas tiuj, kiuj produktos pli bonajn rezultojn.LAFVIN ESP32 Basic Starter Kit - pli bonaj rezultoj

Projekto 7 ESP32 Relajso Web Servilo

Uzi stafetadon kun la ESP32 estas bonega maniero por kontroli AC-hejmaparatojn malproksime. Ĉi tiu lernilo klarigas kiel kontroli relajsan modulon per la ESP32.
Ni rigardos kiel funkcias relajsomodulo, kiel konekti la relajson al la ESP32 kaj konstrui web servilo por kontroli stafetadon malproksime.
Enkonduko de Stafetoj
Relajso estas elektre funkciigita ŝaltilo kaj kiel ĉiu alia ŝaltilo, ĝi povas esti ŝaltita aŭ malŝaltita, lasante la fluon trairi aŭ ne. Ĝi povas esti kontrolita kun malalta voltages, kiel la 3.3V provizita de la ESP32 GPIO kaj permesas al ni kontroli altan voltagestas kiel 12V, 24V aŭ retaj voltage (230V en Eŭropo kaj 120V en Usono).LAFVIN ESP32 Baza Komenca Ilaro - Enkondukante RelajsojnSur la maldekstra flanko, estas du aroj de tri ingoj por konekti alta voltages, kaj la pingloj sur la dekstra flanko (malalt-voltage) konekti al la ESP32 GPIOoj.
Mains Voltage LigojLAFVIN ESP32 Basic Starter Kit - Mains Voltage LigojLa relajsa modulo montrita en la antaŭa foto havas du konektilojn, ĉiu kun tri ingoj: komuna (COM), Normale Fermita (NC) kaj Normale Malferma (NE).

  • COM: konektu la fluon, kiun vi volas kontroli (ĉefaj voltagkaj).
  • NC (Normale Fermita): la normale fermita agordo estas uzata kiam vi volas, ke la relajso estu fermita defaŭlte. La NC estas COM-pingloj estas konektitaj, tio signifas, ke la fluo fluas krom se vi sendas signalon de la ESP32 al la relajsa modulo por malfermi la cirkviton kaj haltigi la nunan fluon.
  • NO (Normale Malferma): la normale malfermita agordo funkcias inverse: ne ekzistas konekto inter la pingloj NO kaj COM, do la cirkvito estas rompita krom se vi sendas signalon de la ESP32 por fermi la cirkviton.

Kontrolaj StiftojLAFVIN ESP32 Baza Komenca Ilaro - Kontrolaj StiftojLa malalt-voltagLa flanko havas aron de kvar pingloj kaj aron de tri pingloj. La unua aro konsistas el VCC kaj GND por funkciigi la modulon, kaj enigo 1 (IN1) kaj enigo 2 (IN2) por kontroli la malsupran kaj supran relajsojn, respektive.
Se via relajsa modulo havas nur unu kanalon, vi havos nur unu IN-pinglon. Se vi havas kvar kanalojn, vi havos kvar IN-pinglojn, ktp.
La signalo, kiun vi sendas al la IN-pingloj, determinas ĉu la relajso estas aktiva aŭ ne. La relajso estas ekigita kiam la enigo iras sub proksimume 2V. Ĉi tio signifas, ke vi havos la jenajn scenarojn:

  • Normale Fermita agordo (NC):
  • ALTA signalo - fluo fluas
  • MALALTA signalo - fluo ne fluas
  • Normale Malferma agordo (NE):
  • ALTA signalo - fluo ne fluas
  • MALALTA signalo - fluo enfluanta

Vi devus uzi normale fermitan agordon kiam la fluo devus flui plejofte, kaj vi volas nur foje haltigi ĝin.
Uzu normale malfermitan agordon kiam vi volas, ke la fluo fluu foje (ekzample, turni alamp foje).
Elekto de ElektroLAFVIN ESP32 Baza Komenca Ilaro - Elekto de ElektroprovizoLa dua aro de stiftoj konsistas el GND, VCC, kaj JD-VCC-stiftoj.
La JD-VCC-stifto funkciigas la elektromagneton de la relajso. Rimarku, ke la modulo havas jumper-ĉapon ligantan la VCC kaj JD-VCC-pinglojn; tiu ĉi tie montrata estas flava, sed la via povas esti malsama koloro.
Kun la saltĉapo sur, la VCC kaj JD-VCC-stiftoj estas konektitaj. Tio signifas, ke la relajsa elektromagneto estas rekte funkciigita de la ESP32-potencstifto, do la relajsomodulo kaj la ESP32-cirkvitoj ne estas fizike izolitaj unu de la alia.
Sen la saltĉapo, vi devas provizi sendependan energifonton por funkciigi la elektromagneton de la relajso per la stifto JD-VCC. Tiu agordo fizike izolas la relajsojn de la ESP32 kun la enkonstruita optokuplilo de la modulo, kiu malhelpas difekton en la ESP32 en kazo de elektraj pikiloj.
SkemaLAFVIN ESP32 Baza Komenca Ilaro - SkemaAverto: Uzo de alta voltagLa elektrofontoj povas kaŭzi gravajn vundojn.
Tial, 5mm LEDoj estas uzataj anstataŭ alta provizo voltage bulboj en la eksperimento. Se vi ne konas mains voltagpetu iun, kiu helpos vin. Dum programado de la ESP aŭ kablado de via cirkvito, certigu, ke ĉio estas malkonektita de la retotage.LAFVIN ESP32 Basic Starter Kit - ĉefkonduktiloj voltageInstalante la Bibliotekon por ESP32
Por konstrui ĉi tion web servilo, ni uzas la ESPAsyncWebServila biblioteko kaj AsyncTCP Biblioteko.
Instalante la ESPAsyncWebServila biblioteko
Sekvu la sekvajn paŝojn por instali la ESPAsyncWebServilo biblioteko:

  1. Klaku ĉi tie por elŝuti la ESPAsyncWebServila biblioteko. Vi devus havi
    dosierujo .zip en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi devus ricevi ESPAsyncWebServilo-mastra dosierujo
  3. Alinomi vian dosierujon de ESPAsyncWebServilo-mastro al ESPAsyncWebServilo
  4. Movu la ESPAsyncWebServila dosierujo al via dosierujo de Arduino IDE-instalaĵbibliotekoj

Alternative, en via Arduino IDE, vi povas iri al Sketch> Inkluzivi
Biblioteko > Aldonu .Zip-bibliotekon... kaj elektu la bibliotekon, kiun vi ĵus elŝutis.
Instalante la AsyncTCP Bibliotekon por ESP32
La ESPAsyncWebServilo biblioteko postulas la AsyncTCP biblioteko por labori. Sekvu
la sekvaj paŝoj por instali tiun bibliotekon:

  1. Klaku ĉi tie por elŝuti la AsyncTCP-bibliotekon. Vi devus havi .zip-dosierujon en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi devus ricevi AsyncTCP-master-dosierujon
    1. Alinomi vian dosierujon de AsyncTCP-master al AsyncTCP
    3. Movu la AsyncTCP-dosierujon al via dosierujo de Arduino IDE-instalaĵbibliotekoj
    4. Fine, remalfermu vian Arduino IDE

Alternative, en via Arduino IDE, vi povas iri al Sketch> Inkluzivi
Biblioteko > Aldonu .Zip-bibliotekon... kaj elektu la bibliotekon, kiun vi ĵus elŝutis.
Kodo
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDE
Post instalo de la bezonataj bibliotekoj, Malfermu la kodon Project_7_ESP32_Relay_Web_Server.ino en arduino IDE.
Antaŭ alŝuti la kodon, ne forgesu enigi viajn retajn akreditaĵojn por ke la ESP povu konektiĝi al via loka reto.LAFVIN ESP32 Basic Starter Kit - loka retoManifestacio
Post fari la necesajn ŝanĝojn, alŝutu la kodon al via ESP32.Alŝutu referencajn paŝojn.
Malfermu la Serian Monitoron kun baudrapideco de 115200 kaj premu la butonon ESP32 EN por akiri ĝian IP-adreson. Poste, malfermu retumilon en via loka reto kaj tajpu la ESP32 IP-adreson por akiri aliron al la web servilo.
Malfermu la Serian Monitoron kun baudrapideco de 115200 kaj premu la butonon ESP32 EN por akiri ĝian IP-adreson. Poste, malfermu retumilon en via loka reto kaj tajpu la ESP32 IP-adreson por akiri aliron al la web servilo.LAFVIN ESP32 Baza Komenca Ilaro - web serviloNotu: Via retumilo kaj ESP32 devus esti konektitaj al la sama LAN.
Vi devus ricevi ion jene per kiel du butonoj kiel la nombro da relajsoj kiujn vi difinis en via kodo.LAFVIN ESP32 Basic Starter Kit - inteligenta telefonoNun vi povas uzi la butonojn por kontroli viajn relajsojn per via inteligenta telefono.Baza Komenca Ilaro LAFVIN ESP32 - inteligenta telefono 1

Projekto_8_Eliga_Ŝtato_Sinkronigo_ Web_Servilo

Ĉi tiu Projekto montras kiel kontroli la elirojn de ESP32 aŭ ESP8266 uzante a web servilo kaj fizika butono samtempe. La eliga stato estas ĝisdatigita sur la web paĝo ĉu ĝi estas ŝanĝita per fizika butono aŭ web servilo.
Projekto Finitaview
Ni rigardu rapide kiel funkcias la projekto.LAFVIN ESP32 Baza Komenca Ilaro - Projekto FinitaviewLa ESP32 aŭ ESP8266 gastigas a web servilo kiu permesas vin kontroli la staton de eligo;

  • La nuna eliga stato estas montrata sur la web servilo;
  • La ESP ankaŭ estas konektita al fizika puŝbutono kiu kontrolas la saman produktaĵon;
  • Se vi ŝanĝas la eligan staton per la fizika prembutono, ĝia nuna stato ankaŭ estas ĝisdatigita sur la web servilo.

En resumo, ĉi tiu projekto permesas vin kontroli la saman eliron uzante a web servilo kaj prembutono samtempe. Kiam ajn la eliga stato ŝanĝiĝas, la web servilo estas ĝisdatigita.
Partoj Bezonataj
Jen listo de la partoj, kiujn vi bezonas por konstrui la cirkviton:

  • Estraro ESP32 DEVKIT V1
  • 5 mm LED
  • 220 Ohm-rezistilo
  • Puŝbutono
  • 10k Ohm-rezistilo
  • Breadboard
  • Jumper dratoj

SkemaLAFVIN ESP32 Baza Komenca Ilaro - Skemo 1Instalante la Bibliotekon por ESP32
Por konstrui ĉi tion web servilo, ni uzas la ESPAsyncWebServila biblioteko kaj AsyncTCP Biblioteko. (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante la ESPAsyncWebServila biblioteko
Sekvu la sekvajn paŝojn por instali la ESPAsyncWebServila biblioteko:

  1. Klaku ĉi tie por elŝuti la ESPAsyncWebServila biblioteko. Vi devus havi
    dosierujo .zip en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi devus ricevi ESPAsyncWebServilo-mastra dosierujo
  3. Alinomi vian dosierujon de ESPAsyncWebServilo-mastro al ESPAsyncWebServilo
  4. Movu la ESPAsyncWebServila dosierujo al via dosierujo de Arduino IDE-instalaĵbibliotekoj
    Alternative, en via Arduino IDE, vi povas iri al Sketch> Inkluzivi
    Biblioteko > Aldonu .Zip-bibliotekon... kaj elektu la bibliotekon, kiun vi ĵus elŝutis.

Instalante la AsyncTCP Bibliotekon por ESP32
La ESPAsyncWebServila biblioteko postulas la AsyncTCP-bibliotekon por funkcii. Sekvu la sekvajn paŝojn por instali tiun bibliotekon:

  1. Klaku ĉi tie por elŝuti la AsyncTCP-bibliotekon. Vi devus havi .zip-dosierujon en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi devus ricevi AsyncTCP-master-dosierujon
  3. Alinomi vian dosierujon de AsyncTCP-master al AsyncTCP
  4. Movu la AsyncTCP-dosierujon al via dosierujo de instaladoj de Arduino IDE
  5. Fine, remalfermu vian Arduino IDE
    Alternative, en via Arduino IDE, vi povas iri al Sketch> Inkluzivi
    Biblioteko > Aldonu .Zip-bibliotekon... kaj elektu la bibliotekon, kiun vi ĵus elŝutis.

Kodo
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDE
Post instali la postulatajn bibliotekojn, Malfermu la kodon
Projekto_8_Eliga_Ŝtato_Sinkronigo_Web_Server.ino en arduino IDE.
Antaŭ alŝuti la kodon, ne forgesu enigi viajn retajn akreditaĵojn por ke la ESP povu konektiĝi al via loka reto.LAFVIN ESP32 Baza Komenca Ilaro - Kodo

Kiel la Kodo Funkcias

Butono Ŝtato kaj Eligo Ŝtato
La ledState variablo tenas la LED-eliga staton. Defaŭlte, kiam la web servilo komenciĝas, ĝi estas LOW.LAFVIN ESP32 Baza Komenca Ilaro - Kodo Funkcias

La butonStato kaj lastButtonState estas uzataj por detekti ĉu la prembutono estis premita aŭ ne.LAFVIN ESP32 Basic Starter Kit - estis premitaButono (web servilo)
Ni ne inkludis la HTML por krei la butonon sur la index_html variablo.
Tio estas ĉar ni volas povi ŝanĝi ĝin depende de la nuna LED-stato kiu ankaŭ povas esti ŝanĝita per la prembutono.
Do, ni kreis lokokupilon por la butono %BUTTONPLACEHOLDER% kiu estos anstataŭigita per HTML-teksto por krei la butonon poste sur la kodo (ĉi tio estas farita en la procesoro() funkcio).LAFVIN ESP32 Basic Starter Kit - estis premita 1procesoro ()
La funkcio procesor() anstataŭigas iujn ajn anstataŭaĵojn sur la HTML-teksto per realaj valoroj. Unue, ĝi kontrolas ĉu la HTML-tekstoj enhavas iujn
anstataŭiloj %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - procesoroPoste, voku theoutputState()-funkcion, kiu resendas la nunan eligan staton. Ni konservas ĝin en la variablo outputStateValue.LAFVIN ESP32 Basic Starter Kit - outputStatePost tio, uzu tiun valoron por krei la HTML-tekston por montri la butonon kun la ĝusta stato:LAFVIN ESP32 Basic Starter Kit - kodo 4HTTP GET Peto Ŝanĝi Eligan Ŝtaton (JavaScript)
Kiam vi premas la butonon, la funkcio toggleCheckbox() estas vokita. Ĉi tiu funkcio faros peton pri malsamaj URLs por ŝalti aŭ malŝalti la LED.LAFVIN ESP32 Baza Komenca Ilaro - JavaScriptPor ŝalti la LED, ĝi faras peton sur la /ĝisdatigo?state=1 URL:LAFVIN ESP32 Basic Starter Kit - element.checkedAlie, ĝi faras peton sur la /ĝisdatigo?state=0 URL.
HTTP GET Peto por Ĝisdatigi Ŝtaton (JavaScript)
Por konservi la eligŝtaton ĝisdatigita sur la web servilo, ni nomas la sekvan funkcion kiu faras novan peton sur la /stato URL ĉiun sekundon.LAFVIN ESP32 Baza Komenca Ilaro - Ĝisdatigo ŜtatoLAFVIN ESP32 Baza Komenca Ilaro - Ĝisdatigo Ŝtato 1Pritraktu Petojn
Tiam, ni devas trakti kio okazas kiam la ESP32 aŭ ESP8266 ricevas petojn pri tiuj URLs.
Kiam peto estas ricevita sur la radiko /URL, ni sendas la HTML-paĝon same kiel la procesoron.LAFVIN ESP32 Baza Komenca Ilaro - Pritraktu PetojnLAFVIN ESP32 Baza Komenca Ilaro - Pritrakti Petojn 1La sekvaj linioj kontrolas ĉu vi ricevis peton ĉe /update?state=1 aŭ /update?state=0 URL kaj ŝanĝas la ledState laŭe.LAFVIN ESP32 Baza Komenca Ilaro - ledStateLAFVIN ESP32 Baza Komenca Ilaro - enigoParamKiam peto estas ricevita sur la /ŝtato URL, ni sendas la nunan eligan staton:LAFVIN ESP32 Basic Starter Kit - eligo statobuklo ()
En la buklo (), ni forpuŝas la puŝbutonon kaj ŝaltas aŭ malŝaltas la LED laŭ la valoro de ledState variablo.LAFVIN ESP32 Baza Komenca Ilaro - Buklo 1Manifestacio
Alŝutu la kodon al via ESP32-tabulo.Alŝutu referencajn paŝojn.
Poste, malfermu la Serian Monitoron kun baudrapideco de 115200. Premu la surŝipan butonon EN/RST por akiri la IP-adreson.LAFVIN ESP32 Basic Starter Kit - DemonstroMalfermu retumilon en via loka reto, kaj tajpu la ESP-IP-adreson. Vi devus havi aliron al la web servilo kiel montrite sube.
Notu: Via retumilo kaj ESP32 devus esti konektitaj al la sama LAN.LAFVIN ESP32 Basic Starter Kit - retumiloVi povas ŝalti la butonon sur la web servilo por ŝalti la LED.LAFVIN ESP32 Baza Komenca Ilaro - web servilo 1Vi ankaŭ povas kontroli la saman LED per la fizika prembutono. Ĝia stato ĉiam estos ĝisdatigita aŭtomate sur la web servilo.

Projekto 9 ESP32 DHT11 Web Servilo

En ĉi tiu projekto, vi lernos kiel konstrui nesinkronan ESP32 web servilo kun la DHT11 kiu montras temperaturon kaj humidon uzante Arduino IDE.
Antaŭkondiĉoj
La web servilo ni aŭtomate konstruos ĝisdatigojn de la legaĵoj sen neceso refreŝigi la web paĝo.
Kun ĉi tiu projekto vi lernos:

  • Kiel legi temperaturon kaj humidon de DHT-sensiloj;
  • Konstruu asinkronan web servilo uzante la ESPAsyncWebServila biblioteko;
  • Ĝisdatigu la sensilajn legaĵojn aŭtomate sen la bezono refreŝigi la web paĝo.

Nesinkrona Web Servilo
Por konstrui la web servilo ni uzos la ESPAsyncWebServila biblioteko kiu provizas facilan manieron konstrui nesinkronan web servilo. Konstruante asinkronan web servilo havas plurajn advantagestas kiel menciite en la biblioteko GitHub-paĝo, kiel ekzemple:

  • "Pritraktu pli ol unu konekton samtempe";
  • "Kiam vi sendas la respondon, vi tuj pretas pritrakti aliajn konektojn dum la servilo zorgas sendi la respondon en la fono";
  • "Simpla ŝablona pretiga motoro por manipuli ŝablonojn";

Partoj Bezonataj
Por kompletigi ĉi tiun lernilon vi bezonas la jenajn partojn:

  • ESP32-disvolva tabulo
  • DHT11 Modulo
  • Breadboard
  • Jumper dratoj

SkemaLAFVIN ESP32 Baza Komenca Ilaro - Skemo 2Instalado de Bibliotekoj
Vi devas instali kelkajn bibliotekojn por ĉi tiu projekto:

Instalado de la DHT-Sensilo-Biblioteko
Por legi de la DHT-sensilo uzante Arduino IDE, vi devas instali la DHT-sensilo-biblioteko. Sekvu la sekvajn paŝojn por instali la bibliotekon.

  1. Klaku ĉi tie por elŝuti la bibliotekon de DHT Sensor. Vi devus havi .zip-dosierujon en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi devus ricevi DHT-sensor-library-master-dosierujon
  3. Alinomi vian dosierujon de DHT-sensor-library-master al DHT_sensor
  4. Movu la dosierujon DHT_sensor al via dosierujo de instalaj bibliotekoj de Arduino IDE
  5. Fine, remalfermu vian Arduino IDE

Instalante la Adafruit Unified Sensor Driver
Vi ankaŭ devas instali la Biblioteko Adafruit Unified Sensor Driver por labori kun la DHT-sensilo. Sekvu la sekvajn paŝojn por instali la bibliotekon.

  1. Klaku ĉi tie por elŝuti la bibliotekon de Adafruit Unified Sensor. Vi devus havi .zip-dosierujon en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi ricevu Adafruit_sensor-master-dosierujon
  3. Alinomi vian dosierujon de Adafruit_sensor-master al Adafruit_sensor
  4. Movu la dosierujon Adafruit_sensor al via dosierujo de instalaj bibliotekoj de Arduino IDE
  5. Fine, remalfermu vian Arduino IDE

Instalante la ESPAsyncWebServila biblioteko

Sekvu la sekvajn paŝojn por instali la ESPAsyncWebServilo biblioteko:

  1. Klaku ĉi tie por elŝuti la ESPAsyncWebServila biblioteko. Vi devus havi
    dosierujo .zip en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi devus
    akiri ESPAsyncWebServilo-mastra dosierujo
  3. Alinomi vian dosierujon de ESPAsyncWebServilo-mastro al ESPAsyncWebServilo
  4. Movu la ESPAsyncWebServila dosierujo al via dosierujo de Arduino IDE-instalaĵbibliotekoj

Instalante la Async TCP-Bibliotekon por ESP32
La ESPAsyncWebServilo biblioteko postulas la AsyncTCP biblioteko por labori. Sekvu la sekvajn paŝojn por instali tiun bibliotekon:

  1. Klaku ĉi tie por elŝuti la AsyncTCP-bibliotekon. Vi devus havi .zip-dosierujon en via Elŝuta dosierujo
  2. Malfermu la dosierujon .zip kaj vi devus ricevi AsyncTCP-master-dosierujon
  3. Alinomi vian dosierujon de AsyncTCP-master al AsyncTCP
  4. Movu la AsyncTCP-dosierujon al via dosierujo de instaladoj de Arduino IDE
  5. Fine, remalfermu vian Arduino IDE

Kodo
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDE
Post instali la postulatajn bibliotekojn, Malfermu la kodon
Projekto_9_ESP32_DHT11_Web_Server.ino en arduino IDE.
Antaŭ alŝuti la kodon, ne forgesu enigi viajn retajn akreditaĵojn por ke la ESP povu konektiĝi al via loka reto.LAFVIN ESP32 Baza Komenca Ilaro - KodoKiel la Kodo Funkcias
En la sekvaj alineoj ni klarigos kiel funkcias la kodo. Daŭre legu se vi volas lerni pli aŭ salti al la sekcio pri pruvo por vidi la finan rezulton.
Importado de bibliotekoj
Unue, importu la bezonatajn bibliotekojn. La WiFi, ESPAsyncWebServilo kaj la ESPAsyncTCP estas necesaj por konstrui la web servilo. La Adafruit_Sensor kaj la DHT-bibliotekoj estas bezonataj por legi de la DHT11 aŭ DHT22-sensiloj.LAFVIN ESP32 Basic Starter Kit - Importado de bibliotekojLAFVIN ESP32 Baza Komenca Ilaro - Kiel la Kodo FunkciasDifino de variabloj
Difinu la GPIO, al kiu la DHT-datumpinglo estas konektita. En ĉi tiu kazo, ĝi estas konektita al GPIO 4.LAFVIN ESP32 Basic Starter Kit - Difino de variablojPoste, elektu la DHT-sensilon, kiun vi uzas. En nia eksample, ni uzas la DHT22. Se vi uzas alian tipon, vi nur bezonas malkomenti vian sensilon kaj komenti ĉiujn aliajn.LAFVIN ESP32 Baza Komenca Ilaro - Difino de Variablo 1

Instancigu DHT-objekton per la tipo kaj pinglo, kiun ni antaŭe difinis.LAFVIN ESP32 Baza Komenca Ilaro - Difino de Variablo 2Krei AsyncWebServila objekto sur haveno 80.LAFVIN ESP32 Baza Komenca Ilaro - Difino de Variablo 3Legu Funkciojn pri Temperaturo kaj Humideco
Ni kreis du funkciojn: unu por legi la temperaturon Ni kreis du funkciojn: unu por legi la temperaturon (readDHTTemperature()) kaj la alia por legi humidon (readDHTHhumidity()).LAFVIN ESP32 Basic Starter Kit - leguDHTHhumidecoLAFVIN ESP32 Basic Starter Kit - sensillegaĵojAkiri sensillegaĵojn estas tiel simpla kiel uzi Akiri sensillegaĵojn estas tiel simpla kiel uzi la readTemperature() kaj readHumidity()metodoj sur la dht-objekto.LAFVIN ESP32 Basic Starter Kit - objektoNi ankaŭ havas kondiĉon, kiu resendas du strekojn (–) se la sensilo malsukcesas akiri la legaĵojn.LAFVIN ESP32 Basic Starter Kit - legaĵojLa legaĵoj estas resenditaj kiel ĉenspeco. Por konverti flosilon al ŝnuro, uzu la funkcion String().LAFVIN ESP32 Baza Komenca Ilaro - ŜnuroDefaŭlte, ni legas la temperaturon en celsiaj gradoj. Por akiri la temperaturon en Fahrenheit-gradoj, komentu la temperaturon en Celsius kaj malkomenti la temperaturon en Fahrenheit, por ke vi havu la jenon:LAFVIN ESP32 Baza Komenca Ilaro - FahrenheitLAFVIN ESP32 Baza Komenca Ilaro - Fahrenheit 1Alŝutu la Kodon
Nun alŝutu la kodon al via ESP32. Certiĝu, ke vi havas la ĝustan tabulon kaj COM-havenon elektitan.Alŝutu kodajn referencajn paŝojn.
Post alŝuto, malfermu la Serian Monitoron kun baudrapideco de 115200. Premu la butonon de rekomencigita ESP32. La IP-adreso de ESP32 estu presita en la serialo monitoro.LAFVIN ESP32 Baza Komenca Ilaro - Alŝutu la KodonManifestacio
Malfermu retumilon kaj tajpu la IP-adreson de ESP32. Via web servilo devus montri la lastajn sensilojn.
Notu: Via retumilo kaj ESP32 devus esti konektitaj al la sama LAN.
Rimarku, ke la legaĵoj de temperaturo kaj humideco estas ĝisdatigitaj aŭtomate sen neceso refreŝigi la web paĝo.LAFVIN ESP32 Baza Komenca Ilaro - Demonstro 1

Project_10_ESP32_OLED_Display

Ĉi tiu projekto montras kiel uzi la ekranon OLED de 0.96 coloj SSD1306 kun ESP32 uzante Arduino IDE.
Enkondukas 0.96 colojn OLED-ekranon
La OLED-ekrano kiun ni uzos en ĉi tiu lernilo estas la SSD1306-modelo: unukolora, 0.96 coloj ekrano kun 128×64 pikseloj kiel montrite en la sekva figuro.LAFVIN ESP32 Baza Komenca Ilaro - OLEDDisplayLa OLED-ekrano ne postulas retrolumon, kio rezultigas tre belan kontraston en malhelaj medioj. Aldone, ĝiaj pikseloj konsumas energion nur kiam ili estas ŝaltitaj, do la OLED-ekrano konsumas malpli da potenco kompare kun aliaj ekranoj.
Ĉar la OLED-ekrano uzas komunikadprotokolon I2C, kablado estas tre simpla. Vi povas uzi la sekvan tabelon kiel referencon.

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

SkemaLAFVIN ESP32 Baza Komenca Ilaro - SkemaInstalado de SSD1306 OLED-Biblioteko - ESP32
Estas pluraj bibliotekoj disponeblaj por kontroli la OLED-ekranon kun la ESP32.
En ĉi tiu lernilo ni uzos du Adafruit-bibliotekojn: Biblioteko Adafruit_SSD1306 kaj Adafruit_GFX-biblioteko.
Sekvu la sekvajn paŝojn por instali tiujn bibliotekojn.

  1. Malfermu vian Arduino IDE kaj iru al Sketch> Inkluzivi Bibliotekon> Administri Bibliotekojn. La Biblioteka Administranto devus malfermiĝi.
  2. Tajpu "SSD1306" en la serĉkesto kaj instalu la SSD1306-bibliotekon de Adafruit.LAFVIN ESP32 Baza Komenca Ilaro - OLEDLibrary–
  3. Post instalo de la biblioteko SSD1306 de Adafruit, tajpu "GFX" en la serĉkesto kaj instalu la bibliotekon.LAFVIN ESP32 Basic Starter Kit - biblioteko
  4. Post instalo de la bibliotekoj, rekomencu vian Arduino-IDE.

Kodo
Post instali la postulatajn bibliotekojn, Malfermu la Project_10_ESP32_OLED_Display.ino en arduino IDE. kodo
Ni programos la ESP32 per Arduino IDE, do certigu, ke vi havas la ESP32-aldonaĵon instalita antaŭ ol daŭrigi: (Se vi jam faris ĉi tiun paŝon, vi povas salti al la sekva paŝo.)
Instalante ESP32-aldonaĵon en Arduino IDELAFVIN ESP32 Baza Komenca Ilaro - Kodo 1LAFVIN ESP32 Baza Komenca Ilaro - Kodo 2LAFVIN ESP32 Baza Komenca Ilaro - Kodo 3Kiel la Kodo Funkcias
Importado de bibliotekoj
Unue, vi devas importi la necesajn bibliotekojn. La Wire-biblioteko por uzi I2C kaj la Adafruit-bibliotekojn por skribi al la ekrano: Adafruit_GFX kaj Adafruit_SSD1306.LAFVIN ESP32 Baza Komenca Ilaro - Kodo Funkcias 1LAFVIN ESP32 Baza Komenca Ilaro - Kodo Funkcias 2Komencu la OLED-ekranon
Tiam vi difinas vian OLED-larĝon kaj altecon. En ĉi tiu ekzample, ni uzas ekranon OLED de 128×64. Se vi uzas aliajn grandecojn, vi povas ŝanĝi tion en la variabloj SCREEN_WIDTH kaj SCREEN_HEIGHT.LAFVIN ESP32 Basic Starter Kit - OLED-ekranoPoste, pravigu ekranobjekton kun la larĝo kaj alteco difinitaj antaŭe per I2C-komunika protokolo (&Drato).LAFVIN ESP32 Basic Starter Kit - komunika protokoloLa (-1) parametro signifas, ke via OLED-ekrano ne havas RESET-pinglon. Se via OLED-ekrano havas RESET-pinglon, ĝi devus esti konektita al GPIO. En tiu kazo, vi devus pasi la GPIO-numeron kiel parametron.
En la agordo (), pravigu la Serian Monitoron je baŭda rapido de 115200 por sencimigaj celoj.LAFVIN ESP32 Basic Starter Kit - celojKomencu la OLED-ekranon per la metodo begin() jene:LAFVIN ESP32 Basic Starter Kit - display.beginLAFVIN ESP32 Basic Starter Kit - Serial.printlnĈi tiu fragmento ankaŭ presas mesaĝon sur la Seria Monitoro, se ni ne povos konektiĝi al la ekrano.

LAFVIN ESP32 Baza Komenca Ilaro - Serial.println 1Se vi uzas alian OLED-ekranon, vi eble bezonos ŝanĝi la OLED-adreson. En nia kazo, la adreso estas 0x3C.LAFVIN ESP32 Basic Starter Kit - adresoPost komencado de la ekrano, aldonu du sekundojn, por ke la OLED havu sufiĉe da tempo por pravalorigi antaŭ skribi tekston:LAFVIN ESP32 Basic Starter Kit - prokrastoKlara ekrano, agordu tiparon, koloron kaj skribu tekston
Post komencado de la ekrano, malplenigu la ekranbufon per la metodo clearDisplay():LAFVIN ESP32 Basic Starter Kit - ekrano

Antaŭ skribi tekston, vi devas agordi la tekstan grandecon, koloron kaj kie la teksto estos montrita en la OLED.
Agordu la tiparon per la metodo setTextSize():Baza Komenca Ilaro LAFVIN ESP32 - ekrano 1Agordu la tiparkoloron per la metodo setTextColor():
BLANKA fiksas blankan tiparon kaj nigran fonon.
Difinu la pozicion kie la teksto komenciĝas per la metodo setCursor(x,y). En ĉi tiu kazo, ni agordas la tekston por komenci ĉe la (0,0) koordinatoj - ĉe la supra maldekstra angulo.LAFVIN ESP32 Baza Komenca Ilaro - setTextColor 1Fine, vi povas sendi la tekston al la ekrano uzante la println()-metodon, jeneLAFVIN ESP32 Basic Starter Kit - kodo 5Tiam vi devas voki la metodon display() por efektive montri la tekston sur la ekrano.LAFVIN ESP32 Basic Starter Kit - ekrano

La Adafruit OLED-biblioteko provizas utilajn metodojn por facile rulumi tekston.

  • startscrollright(0x00, 0x0F): rulumu tekston de maldekstre dekstren
  • startscrollleft(0x00, 0x0F): rulumu tekston de dekstre al maldekstre
  • startscrolldiagright(0x00, 0x07): rulumu tekston de maldekstra malsupra angulo al dekstra supra angulo startscrolldiagleft(0x00, 0x07): rulumu tekston de dekstra malsupra angulo ĝis maldekstra supra angulo

Alŝutu la Kodon
Nun, alŝutu la kodon al via ESP32.Alŝutu referencajn paŝojn.
Post alŝuto de la kodo, la OLED montros ruliĝantan tekston.LAFVIN ESP32 Basic Starter Kit - ruliĝanta tekstoLAFVIN-emblemo

Dokumentoj/Rimedoj

LAFVIN ESP32 Baza Komenca Ilaro [pdf] Instrukcia Manlibro
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *