Logoja e LAFVINStarter bazë ESP32
Kompleti

Lista e paketimit

Kompleti bazë fillestar LAFVIN ESP32 - Lista e paketimit

ESP32 Hyrje

I ri në ESP32? Filloni këtu! ESP32 është një seri mikrokontrolluesish me kosto të ulët dhe me fuqi të ulët Sistem mbi një çip (SoC) të zhvilluar nga Espressif që përfshijnë aftësi Wi-Fi dhe Bluetooth wireless dhe procesor me dy bërthama. Nëse jeni njohur me ESP8266, ESP32 është pasardhësi i tij, i ngarkuar me shumë veçori të reja.LAFVIN ESP32 Basic Starter Kit - ESP32 HyrjeSpecifikimet ESP32
Nëse dëshironi të jeni pak më teknik dhe specifik, mund t'i hidhni një sy specifikimeve të hollësishme të mëposhtme të ESP32 (burimi: http://esp32.net/)—për më shumë detaje, kontrolloni fletën e të dhënave):

  • Lidhja me valë WiFi: Shpejtësia e të dhënave 150.0 Mbps me HT40
  • Bluetooth: BLE (Bluetooth Low Energy) dhe Bluetooth Classic
  • Procesori: Mikroprocesor Tensilica Xtensa Dual-Core 32-bit LX6, që funksionon në 160 ose 240 MHz
  • Kujtesa:
  • ROM: 448 KB (për nisjen dhe funksionet kryesore)
  • SRAM: 520 KB (për të dhëna dhe udhëzime)
  • RTC fas SRAM: 8 KB (për ruajtjen e të dhënave dhe CPU kryesore gjatë RTC Boot nga modaliteti i gjumit të thellë)
  • RTC SRAM i ngadaltë: 8 KB (për aksesin e bashkëprocesorit gjatë modalitetit të gjumit të thellë) eFuse: 1 Kbit (nga të cilat 256 bit përdoren për sistemin (adresa MAC dhe konfigurimi i çipit) dhe 768 bitët e mbetur rezervohen për aplikacionet e klientit, duke përfshirë Kriptimi me Flash dhe ID-ja e çipit)

Blic i integruar: blici i lidhur brenda me anë të IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 dhe SD_DATA_1 në ESP32-D2WD dhe ESP32-PICO-D4.

  • 0 MiB (çipe ESP32-D0WDQ6, ESP32-D0WD dhe ESP32-S0WD)
  • 2 MiB (çip ESP32-D2WD)
  • 4 MiB (moduli ESP32-PICO-D4 SiP)

Fuqia e ulët: siguron që ju mund të përdorni ende konvertimet ADC, p.shample, gjatë gjumit të thellë.
Hyrja/dalja periferike:

  • ndërfaqe periferike me DMA që përfshin prekjen kapacitore
  • ADC (Konvertues analog në dixhital)
  • DAC (Konvertues dixhital në analog)
  • I²C (Qarku i integruar)
  • UART (Marrës/Transmetues universal asinkron)
  • SPI (Ndërfaqja periferike serike)
  • I²S (Tingull i integruar ndërçip)
  • RMII (ndërfaqe e reduktuar e pavarur nga media)
  • PWM (Modulimi me gjerësi pulsi)

Siguria: përshpejtuesit harduerikë për AES dhe SSL/TLS

Bordet e zhvillimit të ESP32

ESP32 i referohet çipit të zhveshur ESP32. Sidoqoftë, termi "ESP32" përdoret gjithashtu për t'iu referuar tabelave të zhvillimit të ESP32. Përdorimi i çipave të zhveshur ESP32 nuk është i lehtë ose praktik, veçanërisht kur mësoni, testoni dhe bëni prototip. Shumicën e kohës, do të dëshironi të përdorni një tabelë zhvillimi ESP32.
Ne do të përdorim tabelën ESP32 DEVKIT V1 si referencë. Figura më poshtë tregon tabelën ESP32 DEVKIT V1, version me 30 kunja GPIO.LAFVIN ESP32 Basic Starter Kit - ESP32 Development BoardSpecifikimet – ESP32 DEVKIT V1
Tabela e mëposhtme tregon një përmbledhje të veçorive dhe specifikimeve të tabelës ESP32 DEVKIT V1 DOIT:

Numri i bërthamave 2 (me dy bërthama)
Wi-Fi 2.4 GHz deri në 150 Mbit/s
Bluetooth BLE (Bluetooth Low Energy) dhe Bluetooth i vjetër
Arkitekturë 32 bit
Frekuenca e orës Deri në 240 MHz
RAM 512 KB
Kunjat 30 (në varësi të modelit)
Pajisjet periferike Prekje kapacitiv, ADC (konvertues analog në dixhital), DAC (konvertues dixhital në analog), 12C (qark i integruar), UART (marrës/transmetues asinkron universal), CAN 2.0 (Netwokr i zonës së kontrollit), SPI (Ndërfaqja periferike serike) , 12S (Integruar Inter-IC
Tingulli), RMII (Ndërfaqja e reduktuar e pavarur nga media), PWM (modulimi i gjerësisë së pulsit) dhe më shumë.
Butonat e integruar Butonat RESET dhe BOOT
LED të integruara LED i integruar blu i lidhur me GPIO2; LED i kuq i integruar që tregon se bordi po ndizet
USB në UART
urë
CP2102

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITAjo vjen me një ndërfaqe microUSB që mund ta përdorni për të lidhur tabelën me kompjuterin tuaj për të ngarkuar kodin ose për të përdorur energjinë.
Ai përdor çipin CP2102 (USB në UART) për të komunikuar me kompjuterin tuaj nëpërmjet një porti COM duke përdorur një ndërfaqe serike. Një tjetër çip i njohur është CH340. Kontrolloni se cili është konverteri i çipit USB në UART në bordin tuaj sepse do t'ju duhet të instaloni drejtuesit e kërkuar në mënyrë që kompjuteri juaj të mund të komunikojë me bordin (më shumë informacion rreth kësaj më vonë në këtë udhëzues).
Kjo tabelë vjen gjithashtu me një buton RESET (mund të emërtohet EN) për të rifilluar tabelën dhe një buton BOOT për ta vendosur tabelën në modalitetin e ndezjes (i disponueshëm për të marrë kodin). Vini re se disa tabela mund të mos kenë një buton BOOT.
Ajo vjen gjithashtu me një LED blu të integruar që lidhet brenda me GPIO 2. Kjo LED është e dobishme për korrigjimin e gabimeve për të dhënë një lloj prodhimi fizik vizual. Ekziston edhe një LED i kuq që ndizet kur i jepni rrymë bordit.LAFVIN ESP32 Basic Starter Kit -boardESP32 Pinout
Pajisjet periferike ESP32 përfshijnë:

  • 18 kanale të konvertuesit analog-në-dixhital (ADC).
  • 3 ndërfaqe SPI
  • 3 ndërfaqe UART
  • 2 ndërfaqe I2C
  • 16 kanale daljeje PWM
  • 2 konvertues dixhital në analog (DAC)
  • 2 ndërfaqe I2S
  • 10 GPIO me sensorë kapacitiv

Karakteristikat ADC (konvertuesi analog në dixhital) dhe DAC (konvertuesi dixhital në analog) u caktohen kunjave specifike statike. Sidoqoftë, ju mund të vendosni se cilat kunja janë UART, I2C, SPI, PWM, etj - thjesht duhet t'i caktoni ato në kod. Kjo është e mundur për shkak të veçorisë së shumëfishimit të çipit ESP32.
Megjithëse ju mund të përcaktoni vetitë e kunjave në softuer, ka kunja të caktuara si parazgjedhje, siç tregohet në figurën e mëposhtmeLAFVIN ESP32 Basic Starter Kit - ESP32 PinoutPër më tepër, ka kunja me karakteristika specifike që i bëjnë ato të përshtatshme ose jo për një projekt të caktuar. Tabela e mëposhtme tregon se cilat kunja janë më të mira për t'u përdorur si hyrje, dalje dhe cilat duhet të jeni të kujdesshëm.
Kunjat e theksuara me jeshile janë në rregull për t'u përdorur. Ato të theksuara me të verdhë janë në rregull për t'u përdorur, por duhet t'i kushtoni vëmendje sepse mund të kenë një sjellje të papritur kryesisht në momentin e nisjes. Kunjat e theksuara me të kuqe nuk rekomandohen të përdoren si hyrje ose dalje.

GP IO Input Prodhimi Shënime
0 të tërhequr lart OK nxjerr sinjalin PWM në nisje, duhet të jetë LOW për të hyrë në modalitetin e ndezjes
1 Pin TX OK korrigjimi i daljes në nisje
2 OK OK i lidhur me LED në bord, duhet të lihet lundrues ose LOW për të hyrë në modalitetin e ndezjes
3 OK Pin RX LARTË në ngritje
4 OK OK
5 OK OK nxjerr sinjalin PWM në boot, pinin e rripit
12 OK OK çizma dështon nëse tërhiqet lart, kunja lidhëse
13 OK OK
14 OK OK nxjerr sinjalin PWM në nisje
15 OK OK nxjerr sinjalin PWM në boot, pinin e rripit
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 vetëm hyrje
35 OK vetëm hyrje
36 OK vetëm hyrje
39 OK vetëm hyrje

Vazhdoni të lexoni për një analizë më të detajuar dhe të thellë të GPIO-ve ESP32 dhe funksioneve të tij.
Fut vetëm kunjat
GPIO 34 deri në 39 janë GPI - futni vetëm kunjat e hyrjes. Këto kunja nuk kanë rezistorë të brendshëm tërheqës ose zbritës. Ato nuk mund të përdoren si dalje, prandaj përdorni këto kunja vetëm si hyrje:

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

Blic SPI i integruar në ESP-WROOM-32
GPIO 6 deri në GPIO 11 janë të ekspozuara në disa borde zhvillimi ESP32. Megjithatë, këto kunja janë të lidhura me blicin e integruar SPI në çipin ESP-WROOM-32 dhe nuk rekomandohen për përdorime të tjera. Pra, mos përdorni këto kunja në projektet tuaja:

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

GPIO me prekje kapacitive
ESP32 ka 10 sensorë të brendshëm kapacitiv të prekjes. Këto mund të ndjejnë ndryshime në çdo gjë që mban një ngarkesë elektrike, si lëkura e njeriut. Kështu që ata mund të zbulojnë variacionet e shkaktuara kur prekin GPIO me gisht. Këto kunja mund të integrohen lehtësisht në jastëkë kapacitiv dhe të zëvendësojnë butonat mekanikë. Kunjat me prekje kapacitive mund të përdoren gjithashtu për të zgjuar ESP32 nga gjumi i thellë. Ata sensorë të brendshëm të prekjes janë të lidhur me këto 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)

Konvertuesi analog në dixhital (ADC)
ESP32 ka kanale hyrëse ADC 18 x 12 bit (ndërsa ESP8266 ka vetëm ADC 1x 10 bit). Këto janë GPIO që mund të përdoren si ADC dhe kanalet përkatëse:

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

Shënim: Kunjat ADC2 nuk mund të përdoren kur përdoret Wi-Fi. Pra, nëse jeni duke përdorur Wi-Fi dhe keni probleme për të marrë vlerën nga një ADC2 GPIO, mund të konsideroni përdorimin e një ADC1 GPIO në vend të kësaj. Kjo duhet të zgjidhë problemin tuaj.
Kanalet hyrëse ADC kanë një rezolucion 12-bit. Kjo do të thotë që ju mund të merrni lexime analoge që variojnë nga 0 në 4095, në të cilat 0 korrespondon me 0V dhe 4095 në 3.3V. Ju gjithashtu mund të vendosni rezolucionin e kanaleve tuaja në kod dhe në diapazonin ADC.
Kunjat ADC ESP32 nuk kanë një sjellje lineare. Ju ndoshta nuk do të jeni në gjendje të dalloni midis 0 dhe 0.1 V, ose midis 3.2 dhe 3.3 V. Duhet ta keni parasysh këtë kur përdorni kunjat ADC. Do të merrni një sjellje të ngjashme me atë të paraqitur në figurën e mëposhtme.LAFVIN ESP32 Basic Starter Kit - sjelljeKonvertuesi dixhital në analog (DAC)
Ka kanale DAC 2 x 8 bit në ESP32 për të kthyer sinjalet dixhitale në vëllim analogtage daljet e sinjalit. Këto janë kanalet DAC:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
Ekziston mbështetje RTC GPIO në ESP32. GPIO-të e drejtuara në nënsistemin RTC me fuqi të ulët mund të përdoren kur ESP32 është në gjumë të thellë. Këto RTC GPIO mund të përdoren për të zgjuar ESP32 nga gjumi i thellë kur është Ultra Low
Bashkëprocesori i energjisë (ULP) po funksionon. GPIO-të e mëposhtme mund të përdoren si një burim i jashtëm zgjimi.

  • 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
Kontrolluesi LED PWM ESP32 ka 16 kanale të pavarura që mund të konfigurohen për të gjeneruar sinjale PWM me veti të ndryshme. Të gjitha kunjat që mund të veprojnë si dalje mund të përdoren si kunja PWM (GPIO 34 deri në 39 nuk mund të gjenerojnë PWM).
Për të vendosur një sinjal PWM, duhet të përcaktoni këto parametra në kod:

  • Frekuenca e sinjalit;
  • Cikli i punës;
  • kanal PWM;
  • GPIO ku dëshironi të nxirrni sinjalin.

I2C
ESP32 ka dy kanale I2C dhe çdo pin mund të vendoset si SDA ose SCL. Kur përdorni ESP32 me Arduino IDE, kunjat e parazgjedhura të I2C janë:

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

Nëse dëshironi të përdorni kunja të tjera kur përdorni bibliotekën me tela, thjesht duhet të telefononi:
Wire.begin (SDA, SCL);
SPI
Si parazgjedhje, hartëzimi i pinit për SPI është:

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

Ndërpret
Të gjitha GPIO mund të konfigurohen si ndërprerje.
Kunjat e rripave
Çipi ESP32 ka kunjat e mëposhtme të rripit:

  • GPIO 0 (duhet të jetë i ulët për të hyrë në modalitetin e nisjes)
  • GPIO 2 (duhet të jetë lundrues ose i ulët gjatë nisjes)
  • GPIO 4
  • GPIO 5 (duhet të jetë LARTË gjatë nisjes)
  • GPIO 12 (duhet të jetë i ulët gjatë nisjes)
  • GPIO 15 (duhet të jetë LARTË gjatë nisjes)

Këto përdoren për të vendosur ESP32 në modalitetin e ngarkuesit ose ndezjes. Në shumicën e tabelave të zhvillimit me USB/Serial të integruar, nuk keni nevojë të shqetësoheni për gjendjen e këtyre kunjave. Bordi i vendos kunjat në gjendjen e duhur për ndezje ose modalitetin e nisjes. Më shumë informacion mbi zgjedhjen e modalitetit të nisjes ESP32 mund të gjeni këtu.
Megjithatë, nëse keni pajisje periferike të lidhura me ato kunja, mund të keni vështirësi në përpjekjen për të ngarkuar kodin e ri, ndezjen e ESP32 me firmware të ri ose rivendosjen e tabelës. Nëse keni disa pajisje periferike të lidhura me kunjat e rripit dhe keni probleme me ngarkimin e kodit ose ndezjen e ESP32, mund të jetë për shkak se ato pajisje periferike po e pengojnë ESP32 të hyjë në modalitetin e duhur. Lexoni dokumentacionin e përzgjedhjes së modalitetit të nisjes për t'ju udhëhequr në drejtimin e duhur. Pas rivendosjes, ndezjes ose nisjes, ato kunja funksionojnë siç pritej.
Kunjat LARTË në Boot
Disa GPIO e ndryshojnë gjendjen e tyre në LARTË ose nxjerrin sinjale PWM gjatë nisjes ose rivendosjes.
Kjo do të thotë që nëse keni dalje të lidhura me këto GPIO, mund të merrni rezultate të papritura kur ESP32 rivendoset ose niset.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 në GPIO 11 (i lidhur me memorien flash SPI të integruar ESP32 – nuk rekomandohet të përdoret).
  • GPIO 14
  • GPIO 15

Aktivizo (EN)
Enable (EN) është kunja e aktivizimit të rregullatorit 3.3V. Është tërhequr lart, ndaj lidheni me tokën për të çaktivizuar rregullatorin 3.3V. Kjo do të thotë që mund ta përdorni këtë kunj të lidhur me një buton për të rifilluar ESP32, p.shample.
Rryma e GPIO është tërhequr
Rryma maksimale absolute e tërhequr për GPIO është 40 mA sipas seksionit "Kushtet e rekomanduara të funksionimit" në fletën e të dhënave ESP32.
Sensori i integruar i efektit të sallës ESP32
ESP32 përmban gjithashtu një sensor të integruar të efektit të sallës që zbulon ndryshimet në fushën magnetike në rrethinën e tij
ESP32 Arduino IDE
Ekziston një shtesë për Arduino IDE që ju lejon të programoni ESP32 duke përdorur Arduino IDE dhe gjuhën e tij të programimit. Në këtë tutorial ne do t'ju tregojmë se si të instaloni tabelën ESP32 në Arduino IDE nëse jeni duke përdorur Windows, Mac OS X ose Linux.
Parakushtet: Arduino IDE i instaluar
Përpara se të filloni këtë procedurë instalimi, duhet të keni të instaluar Arduino IDE në kompjuterin tuaj. Ekzistojnë dy versione të Arduino IDE që mund të instaloni: versioni 1 dhe versioni 2.
Mund të shkarkoni dhe instaloni Arduino IDE duke klikuar në lidhjen e mëposhtme: arduino.cc/en/Main/Software
Cilin version Arduino IDE rekomandojmë? Për momentin ka disa plugins për ESP32 (si SPIFFS FileShtojca e ngarkuesit të sistemit) që nuk mbështeten ende në Arduino 2. Pra, nëse keni ndërmend të përdorni shtesën SPIFFS në të ardhmen, ju rekomandojmë të instaloni versionin e vjetër 1.8.X. Thjesht duhet të lëvizni poshtë në faqen e softuerit Arduino për ta gjetur atë.
Instalimi i shtesës ESP32 në Arduino IDE
Për të instaluar tabelën ESP32 në Arduino IDE, ndiqni këto udhëzime:

  1. Në Arduino IDE-në tuaj, shkoni te File> PreferencatKompleti bazë fillestar LAFVIN ESP32 - Preferencat
  2. Futni sa vijon në “Menaxherin Shtesë të Bordit URLfusha s”:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Pastaj, klikoni butonin "OK":Kompleti bazë fillestar LAFVIN ESP32 - butoni "OK".Shënim: nëse i keni tashmë pllakat ESP8266 URL, ju mund të veçoni URLs me presje si më poshtë:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Hapni menaxherin e bordeve. Shkoni te Veglat > Bordi > Menaxheri i Bordeve…LAFVIN ESP32 Basic Starter Kit - EspressifKërko për ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Basic Starter Kit - EspressifKjo është ajo. Duhet të instalohet pas disa sekondash.Kompleti bazë fillestar LAFVIN ESP32 - i instaluar

Ngarko kodin e testit

Lidheni bordin ESP32 me kompjuterin tuaj. Me Arduino IDE të hapur, ndiqni këto hapa:

  1. Zgjidhni Bordin tuaj në menunë Tools > Board (në rastin tim është Moduli ESP32 DEV)LAFVIN ESP32 Basic Starter Kit - Tools Board
  2. Zgjidhni Portin (nëse nuk e shihni portën COM në Arduino IDE, duhet të instaloni drejtuesit e CP210x USB në UART Bridge VCP):LAFVIN ESP32 Basic Starter Kit - UART Bridge
  3. Hapni shembullin e mëposhtëmample nën File > P.shamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScanKompleti bazë fillestar LAFVIN ESP32 - WiFiScan 1
  4. Një skicë e re hapet në Arduino IDE tuaj:Kompleti bazë fillestar LAFVIN ESP32 - Arduino IDE
  5. Shtypni butonin Ngarko në Arduino IDE. Prisni disa sekonda derisa kodi të përpilohet dhe të ngarkohet në bordin tuaj.LAFVIN ESP32 Basic Starter Kit - tabelë
  6. Nëse gjithçka shkoi siç pritej, duhet të shihni një "Ngarkimi u krye". mesazh.Kompleti bazë fillestar LAFVIN ESP32 - Ngarkimi u krye
  7. Hapni Monitorin Serial Arduino IDE me një shpejtësi baud prej 115200:LAFVIN ESP32 Basic Starter Kit - Monitor
  8. Shtypni butonin ESP32 në bord Aktivizo dhe do të shihni rrjetet e disponueshme pranë ESP32 tuaj:LAFVIN ESP32 Basic Starter Kit - Butoni i aktivizimit

Zgjidhja e problemeve

Nëse përpiqeni të ngarkoni një skicë të re në ESP32 tuaj dhe ju merrni këtë mesazh gabimi "Ndodhi një gabim fatal: Lidhja me ESP32 dështoi: Koha e kaluar... Po lidhet...". Do të thotë që ESP32 juaj nuk është në modalitetin ndezës/ngarkim.
Pasi të keni zgjedhur emrin e duhur të bordit dhe COM por, ndiqni këto hapa:
Mbani të shtypur butonin "BOOT" në bordin tuaj ESP32Kompleti bazë fillestar LAFVIN ESP32 - "BOOT"

  • Shtypni butonin "Ngarko" në Arduino IDE për të ngarkuar skicën tuaj:Kompleti bazë fillestar LAFVIN ESP32 - ICON 6
  • Pasi të shihni "Lidhja ...". mesazh në Arduino IDE, lëshoni gishtin nga butoni "BOOT":Kompleti bazë fillestar LAFVIN ESP32 - “Ngarkimi u krye
  • Pas kësaj, duhet të shihni mesazhin "U krye ngarkimi".
    Kjo është ajo. ESP32 juaj duhet të ketë skicën e re që po funksionon. Shtypni butonin "ENABLE" për të rifilluar ESP32 dhe për të ekzekutuar skicën e re të ngarkuar.
    Ju gjithashtu do të duhet të përsërisni sekuencën e butonave sa herë që dëshironi të ngarkoni një skicë të re.

Projekti 1 ESP32 Inputet Outputet

Në këtë udhëzues për fillimin, do të mësoni se si të lexoni hyrjet dixhitale si çelësi i butonave dhe të kontrolloni daljet dixhitale si një LED duke përdorur ESP32 me Arduino IDE.
Parakushtet
Ne do të programojmë ESP32 duke përdorur Arduino IDE. Pra, sigurohuni që të keni të instaluar shtesën e bordeve ESP32 përpara se të vazhdoni:

  • Instalimi i shtesës ESP32 në Arduino IDE

Daljet dixhitale të kontrollit ESP32
Së pari, ju duhet të vendosni GPIO që dëshironi të kontrolloni si një OUTPUT. Përdorni funksionin pinMode() si më poshtë:
pinMode (GPIO, OUTPUT);
Për të kontrolluar një dalje dixhitale, thjesht duhet të përdorni funksionin digitalWrite(), i cili pranon si argumente, GPIO (numrin int) të cilit i referoheni dhe gjendjen, LARTË ose LOW.
digitalWrite (GPIO, STATE);
Të gjithë GPIO-të mund të përdoren si dalje, përveç GPIO-ve 6 deri 11 (të lidhura me flashin e integruar SPI) dhe GPIO-të 34, 35, 36 dhe 39 (futen vetëm GPIO-të);
Mësoni më shumë rreth ESP32 GPIO: ESP32 GPIO Reference Guide
ESP32 Lexoni hyrjet dixhitale
Së pari, vendosni GPIO që dëshironi të lexoni si INPUT, duke përdorur funksionin pinMode() si më poshtë:
pinMode (GPIO, INPUT);
Për të lexuar një hyrje dixhitale, si një buton, përdorni funksionin digitalRead(), i cili pranon si argument, GPIO (numri int) të cilit i referoheni.
leximi dixhital (GPIO);
Të gjithë GPIO-të ESP32 mund të përdoren si hyrje, përveç GPIO-ve 6 deri në 11 (të lidhura me blicin e integruar SPI).
Mësoni më shumë rreth ESP32 GPIO: ESP32 GPIO Reference Guide
Projekti Shembample
Për t'ju treguar se si të përdorni hyrjet dhe daljet dixhitale, ne do të ndërtojmë një projekt të thjeshtë p.shample me një buton dhe një LED. Ne do të lexojmë gjendjen e butonit dhe do të ndezim LED-në në përputhje me rrethanat siç ilustrohet në figurën e mëposhtme.LAFVIN ESP32 Basic Starter Kit - Projekt Example

Pjesët e nevojshme
Këtu është një listë e pjesëve që ju nevojiten për të ndërtuar qarkun:

  • ESP32 DEVKIT V1
  • LED 5 mm
  • Rezistencë 220 Ohm
  • pushbutton
  • Rezistencë 10k Ohm
  • Breadboard
  • Telat kërcyes

Diagrami Skematik
Para se të vazhdoni, duhet të montoni një qark me një LED dhe një buton.
Ne do të lidhim LED-in me GPIO 5 dhe butonin me shtypje me GPIO 4.Kompleti bazë fillestar LAFVIN ESP32 - Diagrami SkematikKodi
Hapni kodin Project_1_ESP32_Inputs_Outputs.ino në arduino IDEKompleti bazë fillestar LAFVIN ESP32 - KodiKompleti bazë fillestar LAFVIN ESP32 - Kodi 1Si funksionon Kodi
Në dy rreshtat e mëposhtëm, ju krijoni variabla për të caktuar kunjat:

LAFVIN ESP32 Basic Starter Kit - Code WorksButoni është i lidhur me GPIO 4 dhe LED është i lidhur me GPIO 5. Kur përdorni Arduino IDE me ESP32, 4 korrespondon me GPIO 4 dhe 5 korrespondon me GPIO 5.
Më pas, ju krijoni një variabël për të mbajtur gjendjen e butonit. Si parazgjedhje, është 0 (nuk shtypet).
butoni intState = 0;
Në setup(), ju inicializoni butonin si INPUT, dhe LED si OUTPUT.
Për këtë, ju përdorni funksionin pinMode() që pranon pinin të cilit i referoheni dhe modalitetin: INPUT ose OUTPUT.
pinMode (butonPin, INPUT);
pinMode (ledPin, OUTPUT);
Në loop() është vendi ku lexoni gjendjen e butonit dhe vendosni LED në përputhje me rrethanat.
Në rreshtin tjetër, ju lexoni gjendjen e butonit dhe e ruani atë në variablin buttonState.
Siç e kemi parë më parë, ju përdorni funksionin digitalRead().
buttonState = dixhitalLeximi (buttonPin);
Deklarata e mëposhtme if, kontrollon nëse gjendja e butonit është LARTË. Nëse është, ajo ndez LED duke përdorur funksionin digitalWrite() që pranon si argument ledPin-in dhe gjendjen LARTË.
nëse (buttonState == LARTË)Kompleti bazë fillestar LAFVIN ESP32 - Code Works 1Nëse gjendja e butonit nuk është e LARTË, ju fikni LED. Thjesht vendosni LOW si një argument të dytë në funksionin digitalWrite().LAFVIN ESP32 Basic Starter Kit - digitalWriteNgarkimi i kodit
Përpara se të klikoni butonin e ngarkimit, shkoni te Tools > Board dhe zgjidhni tabelën :DOIT ESP32 DEVKIT V1.
Shkoni te Tools > Port dhe zgjidhni portën COM me të cilën është lidhur ESP32. Më pas, shtypni butonin e ngarkimit dhe prisni mesazhin "U krye ngarkimi".Kompleti bazë fillestar LAFVIN ESP32 - ICON 7Shënim: Nëse shihni shumë pika (që lidhen…__…__) në dritaren e korrigjimit dhe mesazhin "Dështoi të lidhej me ESP32: Koha e pritjes për kokën e paketës mbaroi", kjo do të thotë që duhet të shtypni ESP32 në bord BOOT butonin pas pikave
fillojnë të shfaqen.Zgjidhja e problemeve

Demonstrimi

Pasi të keni ngarkuar kodin, provoni qarkun tuaj. LED juaj duhet të ndizet kur shtypni butonin:Kompleti bazë fillestar LAFVIN ESP32 - DemonstrimiDhe fikeni kur e lëshoni:LAFVIN ESP32 Basic Starter Kit - kthesa e

Projekti 2 Inputet analoge ESP32

Ky projekt tregon se si të lexoni hyrjet analoge me ESP32 duke përdorur Arduino IDE.
Leximi analog është i dobishëm për të lexuar vlerat nga rezistorët e ndryshueshëm si potenciometrat ose sensorët analogë.
Inputet analoge (ADC)
Leximi i një vlere analoge me ESP32 do të thotë që mund të matni vëllime të ndryshmetage niveleve ndërmjet 0 V dhe 3.3 V.
Vëllimitage matur më pas i caktohet një vlere ndërmjet 0 dhe 4095, në të cilën 0 V korrespondon me 0, dhe 3.3 V korrespondon me 4095. Çdo vëllimtage ndërmjet 0 V dhe 3.3 V do t'i jepet vlera përkatëse në mes.LAFVIN ESP32 Basic Starter Kit - Inputet analogeADC është jolineare
Në mënyrë ideale, do të prisnit një sjellje lineare kur përdorni kunjat ADC ESP32.
Megjithatë, kjo nuk ndodh. Ajo që do të merrni është një sjellje siç tregohet në grafikun e mëposhtëm:LAFVIN ESP32 Basic Starter Kit - Jo linearKjo sjellje do të thotë që ESP32 juaj nuk është në gjendje të dallojë 3.3 V nga 3.2 V.
Do të merrni të njëjtën vlerë për të dy vëllimettages: 4095.
E njëjta gjë ndodh për vëllim shumë të ulëttagvlerat e: për 0 V dhe 0.1 V do të merrni të njëjtën vlerë: 0. Duhet ta keni parasysh këtë kur përdorni kunjat ADC ESP32.
Funksioni analogRead().
Leximi i një hyrje analoge me ESP32 duke përdorur Arduino IDE është po aq i thjeshtë sa përdorimi i funksionit analogRead(). Ai pranon si argument, GPIO që dëshironi të lexoni:
analogLeximi (GPIO);
Vetëm 15 janë të disponueshëm në tabelën DEVKIT V1 (versioni me 30 GPIO).
Kapni majën e bordit tuaj ESP32 dhe gjeni kunjat ADC. Këto janë theksuar me një kufi të kuq në figurën më poshtë.LAFVIN ESP32 Basic Starter Kit - bordKëto kunja hyrëse analoge kanë rezolucion 12-bit. Kjo do të thotë që kur lexoni një hyrje analoge, diapazoni i tij mund të ndryshojë nga 0 në 4095.
Shënim: kunjat ADC2 nuk mund të përdoren kur përdoret Wi-Fi. Pra, nëse jeni duke përdorur Wi-Fi dhe keni probleme për të marrë vlerën nga një ADC2 GPIO, mund të konsideroni përdorimin e një ADC1 GPIO në vend të kësaj, që duhet të zgjidhë problemin tuaj.
Për të parë se si gjithçka lidhet së bashku, do të bëjmë një ish të thjeshtëample për të lexuar një vlerë analoge nga një potenciometër.
Pjesët e nevojshme
Për këtë ishample, ju duhen pjesët e mëposhtme:

  • Pllaka ESP32 DEVKIT V1
  • Voltmetër
  • Breadboard
  • Telat kërcyes

Skematik
Lidhni një potenciometër në ESP32 tuaj. Kunja e mesme e potenciometrit duhet të lidhet me GPIO 4. Ju mund të përdorni diagramin skematik të mëposhtëm si referencë.Kompleti bazë fillestar LAFVIN ESP32 - SkematikKodi
Ne do të programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni të instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDE
Hapni kodin Project_2_ESP32_Inputs_Outputs.ino në arduino IDEKompleti bazë fillestar LAFVIN ESP32 - Kodi 2Ky kod thjesht lexon vlerat nga potenciometri dhe i printon ato vlera në Monitorin Serial.
Në kod, filloni duke përcaktuar GPIO me të cilin është lidhur potenciometri. Në këtë ishample, GPIO 4.Kompleti bazë fillestar LAFVIN ESP32 - p.shampleNë setup(), inicializoni një komunikim serik me një shpejtësi baud prej 115200.Kompleti bazë fillestar LAFVIN ESP32 - p.shample 1Në loop(), përdorni funksionin analogRead() për të lexuar hyrjen analoge nga potPin.Kompleti bazë fillestar LAFVIN ESP32 - p.shample 2Në fund, printoni vlerat e lexuara nga potenciometri në monitorin serik.Kompleti bazë fillestar LAFVIN ESP32 - p.shample 3Ngarkoni kodin e dhënë në ESP32 tuaj. Sigurohuni që të keni zgjedhur bordin e duhur dhe portën COM në menynë "Vegla".
Testimi i Example
Pas ngarkimit të kodit dhe shtypjes së butonit të rivendosjes së ESP32, hapni Monitorin Serial me një ritëm baud prej 115200. Rrotulloni potenciometrin dhe shikoni vlerat që ndryshojnë.Vlera maksimale që do të merrni është 4095 dhe vlera minimale është 0.LAFVIN ESP32 Basic Starter Kit -vlera maksimale

Përfundimi

Në këtë artikull ju keni mësuar se si të lexoni hyrjet analoge duke përdorur ESP32 me Arduino IDE. Në përmbledhje:

  • Pllaka ESP32 DEVKIT V1 DOIT (versioni me 30 kunja) ka 15 kunja ADC që mund t'i përdorni për të lexuar hyrjet analoge.
  • Këto kunja kanë një rezolucion prej 12 bit, që do të thotë se mund të merrni vlera nga 0 në 4095.
  • Për të lexuar një vlerë në Arduino IDE, thjesht përdorni funksionin analogRead().
  • Kunjat ADC ESP32 nuk kanë një sjellje lineare. Ju ndoshta nuk do të jeni në gjendje të dalloni midis 0 dhe 0.1 V, ose midis 3.2 dhe 3.3 V. Duhet ta keni parasysh këtë kur përdorni kunjat ADC.

Projekti 3 ESP32 PWM (Dalja analoge)

Në këtë tutorial do t'ju tregojmë se si të gjeneroni sinjale PWM me ESP32 duke përdorur Arduino IDE. Si një ishampLe të ndërtojmë një qark të thjeshtë që zbeh një LED duke përdorur kontrolluesin LED PWM të ESP32.LAFVIN ESP32 Basic Starter Kit - AnalogOutputKontrollues PWM LED ESP32
ESP32 ka një kontrollues LED PWM me 16 kanale të pavarura që mund të konfigurohen për të gjeneruar sinjale PWM me veti të ndryshme.
Këtu janë hapat që duhet të ndiqni për të zbehur një LED me PWM duke përdorur Arduino IDE:

  1. Së pari, duhet të zgjidhni një kanal PWM. Ka 16 kanale nga 0 në 15.
  2. Pastaj, duhet të vendosni frekuencën e sinjalit PWM. Për një LED, një frekuencë prej 5000 Hz është e mirë për t'u përdorur.
  3. Ju gjithashtu duhet të vendosni rezolucionin e ciklit të funksionimit të sinjalit: keni rezolucion nga 1 në 16 bit. Ne do të përdorim rezolucionin 8-bit, që do të thotë se ju mund të kontrolloni ndriçimin LED duke përdorur një vlerë nga 0 në 255.
  4.  Më pas, duhet të specifikoni se në cilat GPIO ose GPIO do të shfaqet sinjali. Për këtë ju do të përdorni funksionin e mëposhtëm:
    ledcAttachPin (GPIO, kanal)
    Ky funksion pranon dy argumente. E para është GPIO që do të nxjerrë sinjalin dhe e dyta është kanali që do të gjenerojë sinjalin.
  5. Së fundi, për të kontrolluar ndriçimin LED duke përdorur PWM, përdorni funksionin e mëposhtëm:

ledcWrite (kanal, cikli i punës)
Ky funksion pranon si argument kanalin që gjeneron sinjalin PWM dhe ciklin e punës.
Pjesët e nevojshme
Për të ndjekur këtë tutorial ju nevojiten këto pjesë:

  • Pllaka ESP32 DEVKIT V1
  • LED 5 mm
  • Rezistencë 220 Ohm
  •  Breadboard
  • Telat kërcyes

Skematik
Lidhni një LED në ESP32 tuaj si në diagramin skematik të mëposhtëm. LED duhet të lidhet me GPIO 4.Kompleti bazë fillestar LAFVIN ESP32 - SkematikShënim: ju mund të përdorni çdo pin që dëshironi, për sa kohë që mund të veprojë si një dalje. Të gjitha kunjat që mund të veprojnë si dalje mund të përdoren si kunja PWM. Për më shumë informacion rreth ESP32 GPIO, lexoni: ESP32 Pinout Referenca: Cilat kunja GPIO duhet të përdorni?
Kodi
Ne do të programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni të instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDE
Hapni kodin Project_3_ESP32_PWM.ino në arduino IDEKompleti bazë fillestar LAFVIN ESP32 - Kodi 3Kompleti bazë fillestar LAFVIN ESP32 - Kodi 4Ju filloni duke përcaktuar pinin ku LED është ngjitur. Në këtë rast, LED është ngjitur në GPIO 4.Kompleti bazë fillestar LAFVIN ESP32 - Kodi 5Pastaj, ju vendosni vetitë e sinjalit PWM. Ju përcaktoni një frekuencë prej 5000 Hz, zgjidhni kanalin 0 për të gjeneruar sinjalin dhe vendosni një rezolucion prej 8 bitësh. Ju mund të zgjidhni veçori të tjera, të ndryshme nga këto, për të gjeneruar sinjale të ndryshme PWM.Kompleti bazë fillestar LAFVIN ESP32 - Kodi 6Në setup(), ju duhet të konfiguroni LED PWM me vetitë që keni përcaktuar më herët duke përdorur funksionin ledcSetup() që pranon si argumente, ledChannel, frekuencën dhe rezolucionin, si më poshtë:Kompleti bazë fillestar LAFVIN ESP32 - Kodi 8Më pas, duhet të zgjidhni GPIO nga e cila do të merrni sinjalin. Për këtë përdorni funksionin ledcAttachPin() që pranon si argumente GPIO ku dëshironi të merrni sinjalin dhe kanalin që gjeneron sinjalin. Në këtë ishampLe, do të marrim sinjalin në ledPin GPIO, që korrespondon me GPIO 4. Kanali që gjeneron sinjalin është ledChannel, që korrespondon me kanalin 0.Kompleti bazë fillestar LAFVIN ESP32 - Kodi 9Në ciklin, ju do të ndryshoni ciklin e punës midis 0 dhe 255 për të rritur ndriçimin LED.LAFVIN ESP32 Basic Starter Kit - shkëlqimDhe pastaj, midis 255 dhe 0 për të ulur ndriçimin.Kompleti bazë fillestar LAFVIN ESP32 - ndriçimi 1Për të vendosur ndriçimin e LED-it, thjesht duhet të përdorni funksionin ledcWrite() që pranon si argument kanalin që gjeneron sinjalin dhe ciklin e punës.Kompleti bazë fillestar LAFVIN ESP32 - ndriçimi 2Duke qenë se ne përdorim rezolucionin 8-bit, cikli i punës do të kontrollohet duke përdorur një vlerë nga 0 në 255. Vini re se në funksionin ledcWrite() përdorim kanalin që gjeneron sinjalin dhe jo GPIO.

Testimi i Example

Ngarkoni kodin në ESP32 tuaj. Sigurohuni që keni zgjedhur bordin e duhur dhe portën COM. Shikoni qarkun tuaj. Duhet të keni një LED dimmer që rrit dhe ul ndriçimin.Kompleti bazë fillestar LAFVIN ESP32 - Testimi i Example

Projekti 4 Sensori i lëvizjes PIR ESP32

Ky projekt tregon se si të zbulohet lëvizja me ESP32 duke përdorur një sensor lëvizjeje PIR. Zërmuesi do të lëshojë një alarm kur zbulohet lëvizja dhe do të ndalojë alarmin kur nuk zbulohet asnjë lëvizje për një kohë të paracaktuar (si p.sh. 4 sekonda)
Si funksionon sensori i lëvizjes HC-SR501
.Kompleti bazë fillestar LAFVIN ESP32 - Sensori i lëvizjes funksiononParimi i funksionimit të sensorit HC-SR501 bazohet në ndryshimin e rrezatimit infra të kuq në objektin lëvizës. Për t'u zbuluar nga sensori HC-SR501, objekti duhet të plotësojë dy kërkesa:

  • Objekti po emeton në mënyrën infra të kuqe.
  • Objekti lëviz ose dridhet

Pra:
Nëse një objekt lëshon rreze infra të kuqe por NUK lëviz (p.sh., një person qëndron pa lëvizur pa lëvizur), ai NUK zbulohet nga sensori.
Nëse një objekt lëviz, por NUK lëshon rreze infra të kuqe (p.sh. robot ose automjet), NUK zbulohet nga sensori.
Prezantimi i kohëmatësve
Në këtë ishample do të prezantojmë gjithashtu kohëmatës. Ne dëshirojmë që LED të qëndrojë ndezur për një numër të paracaktuar sekondash pasi të zbulohet lëvizja. Në vend që të përdorim një funksion delay() që bllokon kodin tuaj dhe nuk ju lejon të bëni asgjë tjetër për një numër të caktuar sekondash, ne duhet të përdorim një kohëmatës.Kompleti bazë fillestar LAFVIN ESP32 - Prezantimi i kohëmatësveFunksioni delay().
Ju duhet të njiheni me funksionin delay() pasi përdoret gjerësisht. Ky funksion është mjaft i thjeshtë për t'u përdorur. Ai pranon një numër të vetëm int si argument.
Ky numër përfaqëson kohën në milisekonda që programi duhet të presë derisa të kalojë në rreshtin tjetër të kodit.LAFVIN ESP32 Basic Starter Kit - kodKur bëni vonesë (1000) programi juaj ndalon në atë linjë për 1 sekondë.
Delay() është një funksion bllokues. Funksionet e bllokimit parandalojnë një program që të bëjë ndonjë gjë tjetër derisa të përfundojë ajo detyrë e veçantë. Nëse keni nevojë që disa detyra të kryhen në të njëjtën kohë, nuk mund të përdorni delay().
Për shumicën e projekteve, duhet të shmangni përdorimin e vonesave dhe të përdorni kohëmatës.
Funksioni millis().
Duke përdorur një funksion të quajtur millis() ju mund të ktheni numrin e milisekondave që kanë kaluar që nga fillimi i programit.LAFVIN ESP32 Basic Starter Kit - programi filloi së pariPse është i dobishëm ai funksion? Sepse duke përdorur disa matematikë, mund të verifikoni lehtësisht se sa kohë ka kaluar pa bllokuar kodin tuaj.
Pjesët e nevojshme
Për të ndjekur këtë tutorial ju nevojiten pjesët e mëposhtme

  • Pllaka ESP32 DEVKIT V1
  • Sensori i lëvizjes PIR (HC-SR501)
  • Gumëzhitës aktiv
  • Telat kërcyes
  • Breadboard

SkematikKompleti bazë fillestar LAFVIN ESP32 - Skema 1Shënim: Vëllimi i punëstage i HC-SR501 është 5V. Përdorni pinin Vin për ta fuqizuar atë.
Kodi
Përpara se të vazhdoni me këtë tutorial, duhet të keni të instaluar shtesën ESP32 në Arduino IDE. Ndiqni një nga udhëzimet e mëposhtme për të instaluar ESP32 në Arduino IDE, nëse nuk e keni bërë tashmë. (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDE
Hapni kodin Project_4_ESP32_PIR_Motion_Sensor.ino në arduino IDE.
Demonstrimi
Ngarkoni kodin në bordin tuaj ESP32. Sigurohuni që keni zgjedhur bordin e duhur dhe portën COM. Ngarkoni hapat e referencës së kodit.
Hapni Monitorin Serial me një shpejtësi baud prej 115200.Kompleti bazë fillestar LAFVIN ESP32 - Demonstrimi 1Lëvizni dorën përpara sensorit PIR. Sinjalizuesi duhet të ndizet dhe mesazhi printohet në Monitorin Serial duke thënë "U zbulua lëvizje! Alarmi sinjalizues".
Pas 4 sekondash, sinjalizuesi duhet të fiket.Kompleti bazë fillestar LAFVIN ESP32 - sinjalizues

Ndërprerësi i projektit 5 ESP32 Web Serveri

Në këtë projekt ju do të krijoni një të pavarur web server me një ESP32 që kontrollon daljet (dy LED) duke përdorur mjedisin e programimit Arduino IDE. Të web serveri është i përgjegjshëm për celularin dhe mund të aksesohet me çdo pajisje që si shfletues në rrjetin lokal. Ne do t'ju tregojmë se si të krijoni web server dhe si funksionon kodi hap pas hapi.
Projekti Përfundoiview
Para se të shkoni direkt në projekt, është e rëndësishme të përvijoni se çfarë kemi web serveri do ta bëjë, në mënyrë që të jetë më e lehtë të ndiqni hapat më vonë.

  • Të web serveri që do të ndërtoni kontrollon dy LED të lidhura me ESP32 GPIO 26 dhe GPIO 27;
  • Mund të përdorni ESP32 web server duke shtypur adresën IP ESP32 në një shfletues në rrjetin lokal;
  • Duke klikuar butonat në tuaj web server ju mund të ndryshoni menjëherë gjendjen e çdo LED.

Pjesët e nevojshme
Për këtë tutorial do t'ju duhen pjesët e mëposhtme:

  • Pllaka ESP32 DEVKIT V1
  • LED 2 x 5 mm
  • 2 x 200 Ohm rezistencë
  • Breadboard
  • Telat kërcyes

Skematik
Filloni duke ndërtuar qarkun. Lidhni dy LED me ESP32 siç tregohet në diagramin skematik të mëposhtëm - njëra LED e lidhur me GPIO 26 dhe tjetra me GPIO 27.
Shënim: Ne po përdorim tabelën ESP32 DEVKIT DOIT me 36 kunja. Përpara se të montoni qarkun, sigurohuni që të kontrolloni pinout për tabelën që po përdorni.Kompleti bazë fillestar LAFVIN ESP32 - SkematikKodi
Këtu ne ofrojmë kodin që krijon ESP32 web server. Hap kodin Project_5_ESP32_Switch _Web_Server.ino në arduino IDE, por mos e ngarkoni akoma. Ju duhet të bëni disa ndryshime për ta bërë atë të funksionojë për ju.
Ne do të programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni të instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDE
Vendosja e kredencialeve të rrjetit tuaj
Ju duhet të modifikoni linjat e mëposhtme me kredencialet e rrjetit tuaj: SSID dhe fjalëkalimin. Kodi është komentuar mirë se ku duhet të bëni ndryshimet.LAFVIN ESP32 Basic Starter Kit - Kredencialet e rrjetitNgarkimi i kodit
Tani, ju mund të ngarkoni kodin dhe dhe web serveri do të funksionojë menjëherë.
Ndiqni hapat e mëposhtëm për të ngarkuar kodin në ESP32:

  1. Lidheni bordin tuaj ESP32 në kompjuterin tuaj;
  2. Në Arduino IDE zgjidhni tabelën tuaj në Tools > Board (në rastin tonë ne përdorim tabelën ESP32 DEVKIT DOIT);Kompleti bazë fillestar LAFVIN ESP32 - Ngarkimi i kodit
  3. Zgjidhni portën COM te Veglat > Porta.LAFVIN ESP32 Basic Starter Kit - Tools Port
  4. Shtypni butonin Upload në Arduino IDE dhe prisni disa sekonda derisa kodi të përpilohet dhe të ngarkohet në bordin tuaj.Kompleti bazë fillestar LAFVIN ESP32 - ICON 7
  5. Prisni mesazhin "U krye ngarkimi".Kompleti bazë fillestar LAFVIN ESP32 - Ngarkimi u krye 1

Gjetja e adresës IP të ESP
Pasi të keni ngarkuar kodin, hapni Monitorin Serial me një shpejtësi baud prej 115200.LAFVIN ESP32 Basic Starter Kit - ESP IP AdresaShtypni butonin ESP32 EN (rivendosje). ESP32 lidhet me Wi-Fi dhe nxjerr adresën IP të ESP në Monitorin Serial. Kopjojeni atë adresë IP, sepse ju nevojitet për të hyrë në ESP32 web server.Kompleti bazë fillestar LAFVIN ESP32 - web serverDuke hyrë në Web Serveri
Për të hyrë në web server, hapni shfletuesin tuaj, ngjitni adresën IP të ESP32 dhe do të shihni faqen e mëposhtme.
Shënim: Shfletuesi juaj dhe ESP32 duhet të lidhen me të njëjtin LAN.Kompleti bazë fillestar LAFVIN ESP32 - Hyrja në Web ServeriNëse i hidhni një sy Monitorit Serial, mund të shihni se çfarë po ndodh në sfond. ESP merr një kërkesë HTTP nga një klient i ri (në këtë rast, shfletuesi juaj).LAFVIN ESP32 Basic Starter Kit - Kërkesë HTTPJu gjithashtu mund të shihni informacione të tjera në lidhje me kërkesën HTTP.
Demonstrimi
Tani mund të provoni nëse jeni web serveri po punon si duhet. Klikoni butonat për të kontrolluar LED-të.Kompleti bazë fillestar LAFVIN ESP32 - sfondNë të njëjtën kohë, mund t'i hidhni një sy Monitorit Serial për të parë se çfarë po ndodh në sfond. Për shembullampkështu, kur klikoni butonin për të aktivizuar GPIO 26, ESP32 merr një kërkesë në /26/on URL.Kompleti bazë fillestar LAFVIN ESP32 - URLKur ESP32 merr atë kërkesë, ai ndez LED-in e bashkangjitur me GPIO 26 dhe përditëson gjendjen e tij në web faqe.Kompleti bazë fillestar LAFVIN ESP32 - web faqeButoni për GPIO 27 funksionon në të njëjtën mënyrë. Provoni nëse funksionon siç duhet.Kompleti bazë fillestar LAFVIN ESP32 - funksionon siç duhet

Si funksionon Kodi

Në këtë seksion do t'i hedhim një vështrim më të afërt kodit për të parë se si funksionon.
Gjëja e parë që duhet të bëni është të përfshini bibliotekën WiFi.LAFVIN ESP32 Basic Starter Kit - Biblioteka WiFiSiç u përmend më parë, duhet të futni ssid-in dhe fjalëkalimin tuaj në rreshtat e mëposhtëm brenda thonjëzave të dyfishta.Kompleti bazë fillestar LAFVIN ESP32 - kuota të dyfishtaPastaj, ju vendosni tuajën web server në portin 80.Kompleti bazë fillestar LAFVIN ESP32 - web serverRreshti i mëposhtëm krijon një variabël për të ruajtur kokën e kërkesës HTTP:Kompleti bazë fillestar LAFVIN ESP32 - Kërkesa HTTPMë pas, ju krijoni variabla ndihmëse për të ruajtur gjendjen aktuale të rezultateve tuaja. Nëse dëshironi të shtoni më shumë rezultate dhe të ruani gjendjen e tij, duhet të krijoni më shumë variabla.LAFVIN ESP32 Basic Starter Kit - variablaJu gjithashtu duhet të caktoni një GPIO për secilin prej rezultateve tuaja. Këtu po përdorim GPIO 26 dhe GPIO 27. Ju mund të përdorni çdo GPIO tjetër të përshtatshëm.LAFVIN ESP32 Basic Starter Kit - tjetër i përshtatshëmkonfigurimi ()
Tani, le të shkojmë në setup(). Së pari, ne fillojmë një komunikim serik me një shpejtësi baud prej 115200 për qëllime korrigjimi.LAFVIN ESP32 Basic Starter Kit - qëllimeJu gjithashtu i përcaktoni GPIO-të tuaja si OUTPUT dhe i vendosni ato në LOW.LAFVIN ESP32 Basic Starter Kit - GPIO si OUTPUTRreshtat e mëposhtëm fillojnë lidhjen Wi-Fi me WiFi.begin (ssid, fjalëkalim), prisni për një lidhje të suksesshme dhe printoni adresën IP të ESP në Monitorin Serial.LAFVIN ESP32 Basic Starter Kit - SerialKompleti bazë fillestar LAFVIN ESP32 - Seriali 1lak ()
Në loop() ne programojmë se çfarë ndodh kur një klient i ri krijon një lidhje me web server.
ESP32 është gjithmonë duke dëgjuar për klientët në hyrje me linjën e mëposhtme:LAFVIN ESP32 Basic Starter Kit - lakKur të merret një kërkesë nga një klient, ne do t'i ruajmë të dhënat hyrëse. Cikli while që vijon do të funksionojë për sa kohë që klienti qëndron i lidhur. Ne nuk rekomandojmë ndryshimin e pjesës së mëposhtme të kodit nëse nuk e dini saktësisht se çfarë po bëni.Kompleti bazë fillestar LAFVIN ESP32 - saktësishtKompleti bazë fillestar LAFVIN ESP32 - saktësisht 1Kompleti bazë fillestar LAFVIN ESP32 - saktësisht 2Seksioni tjetër i deklaratave if dhe else kontrollon se cili buton është shtypur në tuaj web faqe, dhe kontrollon rezultatet në përputhje me rrethanat. Siç e kemi parë më parë, ne bëjmë një kërkesë për të ndryshme URLs në varësi të butonit të shtypur.LAFVIN ESP32 Basic Starter Kit - butoni i shtypurKompleti bazë fillestar LAFVIN ESP32 - butoni i shtypur 1Për shembullample, nëse keni shtypur butonin GPIO 26 ON, ESP32 merr një kërkesë në /26/ON URL (mund të shohim se ai informacion në kokën HTTP në Monitorin Serial). Pra, mund të kontrollojmë nëse titulli përmban shprehjen GET /26/on. Nëse përmban, ne ndryshojmë variablin output26state në ON, dhe ESP32 ndez LED.
Kjo funksionon në mënyrë të ngjashme për butonat e tjerë. Pra, nëse doni të shtoni më shumë rezultate, duhet të modifikoni këtë pjesë të kodit për t'i përfshirë ato.
Shfaqja e HTML web faqe
Gjëja tjetër që duhet të bëni, është krijimi i web faqe. ESP32 do t'i dërgojë një përgjigje shfletuesit tuaj me disa kode HTML për të ndërtuar web faqe.
Të web faqja i dërgohet klientit duke përdorur këtë shprehëse client.println(). Ju duhet të shkruani atë që dëshironi t'i dërgoni klientit si argument.
Gjëja e parë që duhet të dërgojmë është gjithmonë rreshti i mëposhtëm, që tregon se po dërgojmë HTML.LAFVIN ESP32 Basic Starter Kit - dërgon HTMLPastaj, rreshti i mëposhtëm bën web faqe e përgjegjshme në çdo web shfletuesi.Kompleti bazë fillestar LAFVIN ESP32 - web shfletuesiDhe sa vijon përdoret për të parandaluar kërkesat në favicon. – Nuk duhet të shqetësoheni për këtë linjë.LAFVIN ESP32 Basic Starter Kit - client.println

Stilimi i Web Faqe

Më pas, ne kemi disa tekst CSS për të stiluar butonat dhe web pamja e faqes.
Ne zgjedhim fontin Helvetica, përcaktojmë përmbajtjen që do të shfaqet si një bllok dhe do të rreshtohet në qendër.Kompleti bazë fillestar LAFVIN ESP32 - Stilimi i Web FaqeNe i stilojmë butonat tanë me ngjyrën #4CAF50, pa kufi, tekst në ngjyrë të bardhë dhe me këtë mbushje: 16px 40px. Ne gjithashtu vendosëm dekorimin e tekstit në asnjë, përcaktojmë madhësinë e shkronjave, margjinën dhe kursorin në një tregues.LAFVIN ESP32 Basic Starter Kit - treguesNe gjithashtu përcaktojmë stilin për një buton të dytë, me të gjitha vetitë e butonit që kemi përcaktuar më parë, por me një ngjyrë të ndryshme. Ky do të jetë stili për butonin e fikur.Kompleti bazë fillestar LAFVIN ESP32 - client.println 1

Vendosja e Web Titulli i parë i faqes
Në rreshtin tjetër mund të vendosni titullin e parë të tuajën web faqe. Këtu kemi “ESP32 Web Server”, por ju mund ta ndryshoni këtë tekst në atë që dëshironi.Kompleti bazë fillestar LAFVIN ESP32 - Web Titulli i faqesShfaqja e butonave dhe gjendjes përkatëse
Më pas, ju shkruani një paragraf për të shfaqur gjendjen aktuale të GPIO 26. Siç mund ta shihni, ne përdorim variablin output26State, në mënyrë që gjendja të përditësohet menjëherë kur kjo ndryshore ndryshon.LAFVIN ESP32 Basic Starter Kit - ndryshime të ndryshueshmeMë pas, ne shfaqim butonin e ndezjes ose fikjes, në varësi të gjendjes aktuale të GPIO. Nëse gjendja aktuale e GPIO është e fikur, ne shfaqim butonin ON, nëse jo, ne shfaqim butonin OFF.LAFVIN ESP32 Basic Starter Kit - shfaq butonin OFFNe përdorim të njëjtën procedurë për GPIO 27.
Mbyllja e Lidhjes
Së fundi, kur përgjigja përfundon, ne pastrojmë variablin header dhe ndalojmë lidhjen me klientin me client.stop().Kompleti bazë fillestar LAFVIN ESP32 - Mbyllja e lidhjes

Përfundimi

Në këtë tutorial ne ju kemi treguar se si të ndërtoni një web server me ESP32. Ne ju kemi treguar një ish të thjeshtëample që kontrollon dy LED, por ideja është që ato LED të zëvendësohen me një stafetë, ose ndonjë dalje tjetër që dëshironi të kontrolloni.

Projekti 6 RGB LED Web Serveri

Në këtë projekt do t'ju tregojmë se si të kontrolloni në distancë një LED RGB me një tabelë ESP32 duke përdorur një web server me një përzgjedhës ngjyrash.
Projekti Përfundoiview
Para se të fillojmë, le të shohim se si funksionon ky projekt:LAFVIN ESP32 Basic Starter Kit - Project Overview

  • ESP32 web serveri shfaq një zgjedhës ngjyrash.
  • Kur zgjidhni një ngjyrë, shfletuesi juaj bën një kërkesë në një URL që përmban parametrat R, G dhe B të ngjyrës së zgjedhur.
  • ESP32 juaj merr kërkesën dhe ndan vlerën për çdo parametër të ngjyrës.
  • Më pas, ai dërgon një sinjal PWM me vlerën përkatëse te GPIO që kontrollojnë LED RGB.

Si funksionojnë LED RGB?
Në një LED me katodë të përbashkët RGB, të tre LED-të ndajnë një lidhje negative (katodë). Të gjitha të përfshira në komplet janë RGB me katodë të zakonshme.LAFVIN ESP32 Basic Starter Kit - LED RGB funksionojnëSi të krijoni ngjyra të ndryshme?
Me një LED RGB, sigurisht që mund të prodhoni dritë të kuqe, jeshile dhe blu, dhe duke konfiguruar intensitetin e secilës LED, mund të prodhoni edhe ngjyra të tjera.
Për shembullampPër të prodhuar dritë thjesht blu, do të vendosni LED blu në intensitetin më të lartë dhe LED jeshile dhe të kuqe në intensitetin më të ulët. Për një dritë të bardhë, ju do të vendosni të tre LED në intensitetin më të lartë.
Përzierja e ngjyrave
Për të prodhuar ngjyra të tjera, mund t'i kombinoni tre ngjyrat në intensitete të ndryshme. Për të rregulluar intensitetin e çdo LED, mund të përdorni një sinjal PWM.
Për shkak se LED-et janë shumë afër njëra-tjetrës, sytë tanë shohin rezultatin e kombinimit të ngjyrave, në vend të tre ngjyrave individualisht.
Për të pasur një ide se si të kombinoni ngjyrat, hidhini një sy grafikut të mëposhtëm.
Kjo është grafiku më i thjeshtë i përzierjes së ngjyrave, por ju jep një ide se si funksionon dhe si të prodhoni ngjyra të ndryshme.LAFVIN ESP32 Basic Starter Kit - ngjyra të ndryshmePjesët e nevojshme
Për këtë projekt ju nevojiten pjesët e mëposhtme:

  • Pllaka ESP32 DEVKIT V1
  • RGB LED
  • 3 x rezistorë 220 ohm
  • Telat kërcyes
  • Breadboard

SkematikKompleti bazë fillestar LAFVIN ESP32 - SkematikKodi
Ne do të programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni të instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)

  • Instalimi i shtesës ESP32 në Arduino IDE

Pas montimit të qarkut, hapni kodin
Projekti_6_RGB_LED_Web_Server.ino në arduino IDE.
Para se të ngarkoni kodin, mos harroni të futni kredencialet e rrjetit tuaj në mënyrë që ESP të mund të lidhet me rrjetin tuaj lokal.LAFVIN ESP32 Basic Starter Kit - rrjet lokalSi funksionon kodi
Skica ESP32 përdor bibliotekën WiFi.h.LAFVIN ESP32 Basic Starter Kit - Biblioteka WiFi.hRreshtat e mëposhtëm përcaktojnë variablat e vargut për të mbajtur parametrat R, G dhe B nga kërkesa.LAFVIN ESP32 Basic Starter Kit - String redStringKatër variablat e ardhshëm përdoren për të deshifruar kërkesën HTTP më vonë.LAFVIN ESP32 Basic Starter Kit - Kërkesë HTTPKrijoni tre variabla për GPIO që do të kontrollojnë parametrat e shiritit R, G dhe B. Në këtë rast ne përdorim GPIO 13, GPIO 12 dhe GPIO 14.Kompleti bazë fillestar LAFVIN ESP32 - GPIO kanë nevojëKëto GPIO duhet të nxjerrin sinjale PWM, kështu që ne fillimisht duhet të konfigurojmë vetitë PWM. Vendosni frekuencën e sinjalit PWM në 5000 Hz. Më pas, lidhni një kanal PWM për secilën ngjyrëKompleti bazë fillestar LAFVIN ESP32 - çdo ngjyrëDhe së fundi, vendosni rezolucionin e kanaleve PWM në 8-bitLAFVIN ESP32 Basic Starter Kit - Kanalet PWMNë setup(), caktoni vetitë PWM kanaleve PWMLAFVIN ESP32 Basic Starter Kit - Kanalet PWMLidhni kanalet PWM në GPIO-të përkatëseLAFVIN ESP32 Basic Starter Kit - GPIO korrespondueseSeksioni i mëposhtëm i kodit shfaq zgjedhësin e ngjyrave në tuaj web faqe dhe bën një kërkesë bazuar në ngjyrën që keni zgjedhur.Kompleti bazë fillestar LAFVIN ESP32 - i zgjedhurLAFVIN ESP32 Basic Starter Kit - client.printlnKompleti bazë fillestar LAFVIN ESP32 - client.println 1Kur zgjidhni një ngjyrë, ju merrni një kërkesë me formatin e mëposhtëm.LAFVIN ESP32 Basic Starter Kit - formati i mëposhtëm

Pra, ne duhet ta ndajmë këtë varg për të marrë parametrat R, G dhe B. Parametrat ruhen në variablat redString, greenString dhe blueString dhe mund të kenë vlera midis 0 dhe 255.LAFVIN ESP32 Basic Starter Kit - headerKompleti bazë fillestar LAFVIN ESP32 - kreu 1Për të kontrolluar shiritin me ESP32, përdorni funksionin ledcWrite() për të gjeneruar sinjale PWM me vlerat e deshifruara nga HTTP kërkesë.LAFVIN ESP32 Basic Starter Kit - Kërkesa HTTP 1Shënim: mësoni më shumë rreth PWM me ESP32: Projekti 3 ESP32 PWM (Dalja analoge)
Për të kontrolluar shiritin me ESP8266, thjesht duhet të përdorim
funksioni analogWrite() për të gjeneruar sinjale PWM me vlerat e deshifruara nga kërkesa HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Për shkak se i marrim vlerat në një variabël vargu, duhet t'i konvertojmë ato në numra të plotë duke përdorur metodën toInt().
Demonstrimi
Pasi të keni futur kredencialet e rrjetit tuaj, zgjidhni bordin e duhur dhe portën COM dhe ngarkoni kodin në ESP32. Hapat e referencës së kodit të ngarkimit.
Pas ngarkimit, hapni Monitorin Serial me një shpejtësi baud prej 115200 dhe shtypni butonin ESP Enable/Reset. Ju duhet të merrni adresën IP të bordit.LAFVIN ESP32 Basic Starter Kit - i njëjti LANHapni shfletuesin tuaj dhe futni adresën IP të ESP. Tani, përdorni zgjedhësin e ngjyrave për të zgjedhur një ngjyrë për LED RGB.
Më pas, duhet të shtypni butonin "Ndrysho ngjyrën" që ngjyra të hyjë në fuqi.LAFVIN ESP32 Basic Starter Kit - RGB LEDPër të fikur LED RGB, zgjidhni ngjyrën e zezë.
Ngjyrat më të forta (në krye të zgjedhësit të ngjyrave), janë ato që do të japin rezultate më të mira.LAFVIN ESP32 Basic Starter Kit - rezultate më të mira

Projekti 7 Rele ESP32 Web Serveri

Përdorimi i një stafete me ESP32 është një mënyrë e shkëlqyeshme për të kontrolluar pajisjet shtëpiake me AC nga distanca. Ky tutorial shpjegon se si të kontrolloni një modul stafetë me ESP32.
Ne do të hedhim një vështrim se si funksionon një modul stafetë, si të lidhni stafetën me ESP32 dhe të ndërtojmë një web server për të kontrolluar një stafetë nga distanca.
Prezantimi i releve
Një stafetë është një ndërprerës që funksionon elektrike dhe si çdo çelës tjetër, ai mund të ndizet ose fiket, duke e lënë rrymën të kalojë ose jo. Mund të kontrollohet me volum të ulëttages, si 3.3V i ofruar nga ESP32 GPIO dhe na lejon të kontrollojmë volumin e lartëtagsi 12V, 24V ose voltage (230V në Evropë dhe 120V në SHBA).Kompleti bazë fillestar LAFVIN ESP32 - Prezantimi i releveNë anën e majtë, ka dy grupe me tre priza për të lidhur volumin e lartëtages, dhe kunjat në anën e djathtë (volumi i ulëttage) lidheni me GPIO-të ESP32.
Rrjeti Voltage LidhjetLAFVIN ESP32 Basic Starter Kit - Mains Voltage LidhjetModuli i stafetës i paraqitur në foton e mëparshme ka dy lidhëse, secila me tre priza: të zakonshme (COM), normalisht të mbyllura (NC) dhe normalisht të hapura (NO).

  • COM: lidhni rrymën që dëshironi të kontrolloni (rrjeti voltage)
  • NC (Normally Closed): konfigurimi normalisht i mbyllur përdoret kur dëshironi që stafeta të mbyllet si parazgjedhje. NC janë kunjat COM janë të lidhura, që do të thotë se rryma po rrjedh nëse nuk dërgoni një sinjal nga ESP32 në modulin e stafetës për të hapur qarkun dhe për të ndaluar rrjedhën e rrymës.
  • NO (Normally Open): konfigurimi normalisht i hapur funksionon anasjelltas: nuk ka lidhje midis kunjave NO dhe COM, kështu që qarku prishet nëse nuk dërgoni një sinjal nga ESP32 për të mbyllur qarkun.

Kunjat e kontrollitLAFVIN ESP32 Basic Starter Kit - Kunjat e kontrollitVëllimi i ulëttagAna ka një grup prej katër kunjash dhe një grup prej tre kunjash. Kompleti i parë përbëhet nga VCC dhe GND për të fuqizuar modulin, dhe hyrja 1 (IN1) dhe hyrja 2 (IN2) për të kontrolluar përkatësisht reletë e poshtme dhe të sipërme.
Nëse moduli juaj i stafetës ka vetëm një kanal, do të keni vetëm një pin IN. Nëse keni katër kanale, do të keni katër kunja IN, e kështu me radhë.
Sinjali që dërgoni te kunjat IN, përcakton nëse stafeta është aktive apo jo. Rele aktivizohet kur hyrja shkon nën rreth 2V. Kjo do të thotë që ju do të keni skenarët e mëposhtëm:

  • Konfigurimi normalisht i mbyllur (NC):
  • Sinjali i LARTË - rryma po rrjedh
  • Sinjali i ulët - rryma nuk rrjedh
  • Konfigurimi normalisht i hapur (JO):
  • Sinjali i LARTË - rryma nuk rrjedh
  • Sinjali i ulët - rryma në rrjedhë

Ju duhet të përdorni një konfigurim normalisht të mbyllur kur rryma duhet të rrjedhë shumicën e rasteve dhe ju dëshironi ta ndaloni atë vetëm herë pas here.
Përdorni një konfigurim normalisht të hapur kur dëshironi që rryma të rrjedhë herë pas here (p.shample, ndize alamp herë pas here).
Zgjedhja e furnizimit me energji elektrikeKompleti bazë fillestar LAFVIN ESP32 - Zgjedhja e furnizimit me energji elektrikeGrupi i dytë i kunjave përbëhet nga kunjat GND, VCC dhe JD-VCC.
Pini JD-VCC fuqizon elektromagnetin e stafetës. Vini re se moduli ka një kapak kërcyes që lidh kunjat VCC dhe JD-VCC; ajo e paraqitur këtu është e verdhë, por e juaja mund të jetë me ngjyrë të ndryshme.
Me kapakun e kërcyesit të vendosur, kunjat VCC dhe JD-VCC janë të lidhura. Kjo do të thotë që elektromagneti i stafetës mundësohet drejtpërdrejt nga kunja e fuqisë ESP32, kështu që moduli i stafetës dhe qarqet ESP32 nuk janë fizikisht të izoluar nga njëri-tjetri.
Pa kapakun e kërcyesit, duhet të siguroni një burim të pavarur energjie për të fuqizuar elektromagnetin e stafetës përmes kunjit JD-VCC. Ky konfigurim izolon fizikisht reletë nga ESP32 me optobashkuesin e integruar të modulit, i cili parandalon dëmtimin e ESP32 në rast të thumbave elektrike.
SkematikKompleti bazë fillestar LAFVIN ESP32 - SkematikParalajmërim: Përdorimi i vëllimit të lartëtagFurnizimet me energji elektrike mund të shkaktojnë lëndime serioze.
Prandaj, LED 5 mm përdoren në vend të vëllimit të furnizimit të lartëtage llamba në eksperiment. Nëse nuk jeni të njohur me voltagPyesni dikë që do t'ju ndihmojë. Gjatë programimit të ESP-së ose lidhjes së qarkut, sigurohuni që çdo gjë të jetë shkëputur nga voltage.LAFVIN ESP32 Basic Starter Kit - voltageInstalimi i Bibliotekës për ESP32
Për të ndërtuar këtë web server, ne përdorim ESPAsyncWebBiblioteka e serverit dhe Biblioteka AsyncTCP.
Instalimi i ESPAsyncWebBiblioteka e serverit
Ndiqni hapat e mëposhtëm për të instaluar ESPAsyncWebServeri biblioteka:

  1. Klikoni këtu për të shkarkuar ESPAsyncWebBiblioteka e serverit. Ju duhet të keni
    një dosje .zip në dosjen tuaj Shkarkime
  2. Hapni dosjen .zip dhe duhet të merrni ESPAsyncWebDosja server-master
  3. Riemërtoni dosjen tuaj nga ESPAsyncWebServer-master në ESPAsyncWebServeri
  4. Zhvendos ESPAsyncWebDosja e serverit në dosjen tuaj të bibliotekave të instalimit të Arduino IDE

Përndryshe, në Arduino IDE-në tuaj, mund të shkoni te Sketch > Include
Biblioteka > Shto bibliotekën .ZIP… dhe zgjidhni bibliotekën që sapo keni shkarkuar.
Instalimi i Bibliotekës AsyncTCP për ESP32
ESPAsyncWebServeri Biblioteka kërkon AsyncTCP biblioteka për të punuar. Ndiqni
hapat e ardhshëm për të instaluar atë bibliotekë:

  1. Klikoni këtu për të shkarkuar bibliotekën AsyncTCP. Duhet të keni një dosje .zip në dosjen tuaj Shkarkime
  2. Hapni dosjen .zip dhe duhet të merrni dosjen AsyncTCP-master
    1. Riemërtoni dosjen tuaj nga AsyncTCP-master në AsyncTCP
    3. Zhvendosni dosjen AsyncTCP në dosjen tuaj të bibliotekave të instalimit të Arduino IDE
    4. Më në fund, rihapni Arduino IDE-në tuaj

Përndryshe, në Arduino IDE-në tuaj, mund të shkoni te Sketch > Include
Biblioteka > Shto bibliotekën .ZIP… dhe zgjidhni bibliotekën që sapo keni shkarkuar.
Kodi
Ne do të programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni të instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDE
Pas instalimit të bibliotekave të kërkuara, hapni kodin Project_7_ESP32_Relay_Web_Server.ino në arduino IDE.
Para se të ngarkoni kodin, mos harroni të futni kredencialet e rrjetit tuaj në mënyrë që ESP të mund të lidhet me rrjetin tuaj lokal.LAFVIN ESP32 Basic Starter Kit - rrjet lokalDemonstrimi
Pasi të keni bërë ndryshimet e nevojshme, ngarkoni kodin në ESP32. Hapat e referencës së kodit të ngarkimit.
Hapni Monitorin Serial me një shpejtësi baud prej 115200 dhe shtypni butonin ESP32 EN për të marrë adresën e tij IP. Më pas, hapni një shfletues në rrjetin tuaj lokal dhe shkruani adresën IP të ESP32 për të hyrë në web server.
Hapni Monitorin Serial me një shpejtësi baud prej 115200 dhe shtypni butonin ESP32 EN për të marrë adresën e tij IP. Më pas, hapni një shfletues në rrjetin tuaj lokal dhe shkruani adresën IP të ESP32 për të hyrë në web server.Kompleti bazë fillestar LAFVIN ESP32 - web serverShënim: Shfletuesi juaj dhe ESP32 duhet të lidhen me të njëjtin LAN.
Ju duhet të merrni diçka si më poshtë me dy butona si numri i releve që keni përcaktuar në kodin tuaj.Kompleti bazë fillestar LAFVIN ESP32 - smartphoneTani, mund të përdorni butonat për të kontrolluar reletë tuaja duke përdorur telefonin inteligjent.Kompleti bazë fillestar LAFVIN ESP32 - smartphone 1

Project_8_Output_State_Synchronization_ Web_Serveri

Ky projekt tregon se si të kontrolloni daljet ESP32 ose ESP8266 duke përdorur a web server dhe një buton fizik njëkohësisht. Gjendja e daljes përditësohet në web faqe nëse është ndryshuar me butonin fizik ose web server.
Projekti Përfundoiview
Le të hedhim një vështrim të shpejtë se si funksionon projekti.LAFVIN ESP32 Basic Starter Kit - Project OverviewESP32 ose ESP8266 pret a web server që ju lejon të kontrolloni gjendjen e një daljeje;

  • Gjendja aktuale e daljes shfaqet në web server;
  • ESP është gjithashtu i lidhur me një buton fizik që kontrollon të njëjtën dalje;
  • Nëse ndryshoni gjendjen e daljes duke përdorur butonin pushues fizik, gjendja e tij aktuale përditësohet gjithashtu në web server.

Në përmbledhje, ky projekt ju lejon të kontrolloni të njëjtin rezultat duke përdorur a web server dhe një buton shtypjeje njëkohësisht. Sa herë që ndryshon gjendja e daljes, web serveri është përditësuar.
Pjesët e nevojshme
Këtu është një listë e pjesëve që ju nevojiten për të ndërtuar qarkun:

  • Pllaka ESP32 DEVKIT V1
  • LED 5 mm
  • Rezistenca 220 Ohm
  • pushbutton
  • Rezistencë 10k Ohm
  • Breadboard
  • Telat kërcyes

SkematikKompleti bazë fillestar LAFVIN ESP32 - Skema 1Instalimi i Bibliotekës për ESP32
Për të ndërtuar këtë web server, ne përdorim ESPAsyncWebBiblioteka e serverit dhe Biblioteka AsyncTCP. (Nëse e keni bërë tashmë këtë hap, mund të kaloni te hapi tjetër.)
Instalimi i ESPAsyncWebBiblioteka e serverit
Ndiqni hapat vijues për të instaluar ESPAsyncWebBiblioteka e serverit:

  1. Klikoni këtu për të shkarkuar ESPAsyncWebBiblioteka e serverit. Ju duhet të keni
    një dosje .zip në dosjen tuaj Shkarkime
  2. Hapni dosjen .zip dhe duhet të merrni ESPAsyncWebDosja server-master
  3. Riemërtoni dosjen tuaj nga ESPAsyncWebServer-master në ESPAsyncWebServeri
  4. Zhvendos ESPAsyncWebDosja e serverit në dosjen tuaj të bibliotekave të instalimit të Arduino IDE
    Përndryshe, në Arduino IDE-në tuaj, mund të shkoni te Sketch > Include
    Biblioteka > Shto bibliotekën .ZIP… dhe zgjidhni bibliotekën që sapo keni shkarkuar.

Instalimi i Bibliotekës AsyncTCP për ESP32
ESPAsyncWebBiblioteka e serverit kërkon që biblioteka AsyncTCP të funksionojë. Ndiqni hapat e mëposhtëm për të instaluar atë bibliotekë:

  1. Klikoni këtu për të shkarkuar bibliotekën AsyncTCP. Duhet të keni një dosje .zip në dosjen tuaj Shkarkime
  2. Hapni dosjen .zip dhe duhet të merrni dosjen AsyncTCP-master
  3. Riemërtoni dosjen tuaj nga AsyncTCP-master në AsyncTCP
  4. Zhvendosni dosjen AsyncTCP në dosjen tuaj të bibliotekave të instalimit të Arduino IDE
  5. Më në fund, rihapni Arduino IDE-në tuaj
    Përndryshe, në Arduino IDE-në tuaj, mund të shkoni te Sketch > Include
    Biblioteka > Shto bibliotekën .ZIP… dhe zgjidhni bibliotekën që sapo keni shkarkuar.

Kodi
Ne do të programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni të instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDE
Pas instalimit të bibliotekave të kërkuara, hapni kodin
Project_8_Output_State_Synchronization_Web_Server.ino në arduino IDE.
Para se të ngarkoni kodin, mos harroni të futni kredencialet e rrjetit tuaj në mënyrë që ESP të mund të lidhet me rrjetin tuaj lokal.Kompleti bazë fillestar LAFVIN ESP32 - Kodi

Si funksionon Kodi

Gjendja e butonit dhe gjendja e daljes
Variabli ledState mban gjendjen e daljes LED. Për parazgjedhje, kur web serveri fillon, është i ulët.LAFVIN ESP32 Basic Starter Kit - Code Works

ButoniState dhe lastButtonState përdoren për të zbuluar nëse butoni i shtypjes është shtypur apo jo.LAFVIN ESP32 Basic Starter Kit - u shtypButoni (web server)
Ne nuk kemi përfshirë HTML për të krijuar butonin në variablin index_html.
Kjo për shkak se ne duam të jemi në gjendje ta ndryshojmë atë në varësi të gjendjes aktuale LED që mund të ndryshohet gjithashtu me butonin.
Pra, ne kemi krijuar një vendmbajtes për butonin %BUTTONPLACEHOLDER% që do të zëvendësohet me tekst HTML për të krijuar butonin më vonë në kod (kjo bëhet në funksionin procesor()).LAFVIN ESP32 Basic Starter Kit - u shtyp 1procesor ()
Funksioni i procesorit() zëvendëson çdo mbajtës të vendit në tekstin HTML me vlerat aktuale. Së pari, kontrollon nëse tekstet HTML përmbajnë ndonjë
mbajtësit e vendeve %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - procesorPastaj, thirrni funksionin theoutputState() që kthen gjendjen aktuale të daljes. E ruajmë atë në variablin outputStateValue.Kompleti bazë fillestar LAFVIN ESP32 - outputStatePas kësaj, përdorni atë vlerë për të krijuar tekstin HTML për të shfaqur butonin me gjendjen e duhur:Kompleti bazë fillestar LAFVIN ESP32 - kodi 4Kërkesë HTTP GET për të ndryshuar gjendjen e daljes (JavaScript)
Kur shtypni butonin, thirret funksioni thetoggleCheckbox(). Ky funksion do të bëjë një kërkesë për të ndryshme URLs për të ndezur ose fikur LED.Kompleti bazë fillestar LAFVIN ESP32 - JavaScriptPër të ndezur LED, ajo bën një kërkesë në /update?state=1 URL:LAFVIN ESP32 Basic Starter Kit - element.kontrolluarPërndryshe, ai bën një kërkesë në /update?state=0 URL.
Kërkesë HTTP GET për të përditësuar gjendjen (JavaScript)
Për të mbajtur të përditësuar gjendjen e daljes në web server, ne thërrasim funksionin e mëposhtëm që bën një kërkesë të re në /state URL çdo sekondë.Kompleti bazë fillestar LAFVIN ESP32 - Gjendja e përditësimitKompleti bazë fillestar LAFVIN ESP32 - Gjendja e përditësimit 1Trajtoni kërkesat
Pastaj, ne duhet të trajtojmë se çfarë ndodh kur ESP32 ose ESP8266 marrin kërkesa për ato URLs.
Kur merret një kërkesë në rrënjë /URL, ne dërgojmë faqen HTML si dhe procesorin.Kompleti bazë fillestar LAFVIN ESP32 - Trajto kërkesatKompleti bazë fillestar LAFVIN ESP32 - Trajto kërkesat 1Rreshtat e mëposhtëm kontrollojnë nëse keni marrë një kërkesë në /update?state=1 ose /update?state=0 URL dhe ndryshon shtetin e udhëhequr në përputhje me rrethanat.Kompleti bazë fillestar LAFVIN ESP32 - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamKur merret një kërkesë në /state URL, ne dërgojmë gjendjen aktuale të daljes:LAFVIN ESP32 Basic Starter Kit - gjendja e daljeslak ()
Në loop(), ne heqim butonin me shtypje dhe ndezim ose fikim LED-në në varësi të vlerës së ledState e ndryshueshme.Kompleti bazë fillestar LAFVIN ESP32 - cikli 1Demonstrimi
Ngarko kodin në bordin tuaj ESP32. Ngarko hapat e referencës së kodit.
Më pas, hapni Monitorin Serial me një shpejtësi baud prej 115200. Shtypni butonin EN/RST në bord për të marrë adresën IP.Kompleti bazë fillestar LAFVIN ESP32 - DemonstrimiHapni një shfletues në rrjetin tuaj lokal dhe shkruani adresën IP të ESP. Ju duhet të keni akses në web server siç tregohet më poshtë.
Shënim: Shfletuesi juaj dhe ESP32 duhet të lidhen me të njëjtin LAN.LAFVIN ESP32 Basic Starter Kit - shfletuesJu mund të ndërroni butonin në web server për të ndezur LED.Kompleti bazë fillestar LAFVIN ESP32 - web 1 serverJu gjithashtu mund të kontrolloni të njëjtën LED me butonin fizik. Gjendja e tij do të përditësohet gjithmonë automatikisht në web server.

Projekti 9 ESP32 DHT11 Web Serveri

Në këtë projekt, do të mësoni se si të ndërtoni një ESP32 asinkron web server me DHT11 që shfaq temperaturën dhe lagështinë duke përdorur Arduino IDE.
Parakushtet
Të web server ne do të ndërtojmë përditësime leximet automatikisht pa nevojën për të rifreskuar web faqe.
Me këtë projekt do të mësoni:

  • Si të lexoni temperaturën dhe lagështinë nga sensorët DHT;
  • Ndërtoni një asinkron web server duke përdorur ESPAsyncWebBiblioteka e serverit;
  • Përditësoni automatikisht leximet e sensorit pa pasur nevojë të rifreskoni web faqe.

Asinkron Web Serveri
Për të ndërtuar web serverin që do të përdorim ESPAsyncWebBiblioteka e serverit që ofron një mënyrë të thjeshtë për të ndërtuar një asinkron web server. Ndërtimi i një asinkroni web serveri ka disa advantagsiç përmendet në faqen e bibliotekës GitHub, si p.sh.

  • "Trajtoni më shumë se një lidhje në të njëjtën kohë";
  • "Kur dërgoni përgjigjen, jeni menjëherë gati për të trajtuar lidhje të tjera ndërsa serveri po kujdeset për dërgimin e përgjigjes në sfond";
  • "Motor i thjeshtë i përpunimit të shablloneve për të trajtuar shabllonet";

Pjesët e nevojshme
Për të përfunduar këtë tutorial ju nevojiten pjesët e mëposhtme:

  • Pllaka e zhvillimit ESP32
  • Moduli DHT11
  • Breadboard
  • Telat kërcyes

SkematikKompleti bazë fillestar LAFVIN ESP32 - Skema 2Instalimi i bibliotekave
Ju duhet të instaloni disa biblioteka për këtë projekt:

Instalimi i bibliotekës së sensorëve DHT
Për të lexuar nga sensori DHT duke përdorur Arduino IDE, duhet të instaloni Biblioteka e sensorëve DHT. Ndiqni hapat e mëposhtëm për të instaluar bibliotekën.

  1. Klikoni këtu për të shkarkuar bibliotekën e sensorëve DHT. Duhet të keni një dosje .zip në dosjen tuaj Shkarkime
  2. Shkëputni dosjen .zip dhe duhet të merrni dosjen DHT-sensor-library-master
  3. Riemërtoni dosjen tuaj nga DHT-sensor-library-master në DHT_sensor
  4. Zhvendosni dosjen DHT_sensor në dosjen tuaj të bibliotekave të instalimit të Arduino IDE
  5. Më në fund, rihapni Arduino IDE-në tuaj

Instalimi i drejtuesit të sensorit të unifikuar Adafruit
Ju gjithashtu duhet të instaloni Biblioteka e drejtuesit të sensorit të unifikuar Adafruit për të punuar me sensorin DHT. Ndiqni hapat e mëposhtëm për të instaluar bibliotekën.

  1. Klikoni këtu për të shkarkuar bibliotekën Adafruit Unified Sensor. Duhet të keni një dosje .zip në dosjen tuaj Shkarkime
  2. Hapni dosjen .zip dhe duhet të merrni dosjen Adafruit_sensor-master
  3. Riemërtoni dosjen tuaj nga Adafruit_sensor-master në Adafruit_sensor
  4. Zhvendosni dosjen Adafruit_sensor në dosjen tuaj të bibliotekave të instalimit të Arduino IDE
  5. Më në fund, rihapni Arduino IDE-në tuaj

Instalimi i ESPAsyncWebBiblioteka e serverit

Ndiqni hapat e mëposhtëm për të instaluar ESPAsyncWebServeri biblioteka:

  1. Klikoni këtu për të shkarkuar ESPAsyncWebBiblioteka e serverit. Ju duhet të keni
    një dosje .zip në dosjen tuaj Shkarkime
  2. Zhzipni dosjen .zip dhe duhet
    merrni ESPAsyncWebDosja server-master
  3. Riemërtoni dosjen tuaj nga ESPAsyncWebServer-master në ESPAsyncWebServeri
  4. Zhvendos ESPAsyncWebDosja e serverit në dosjen tuaj të bibliotekave të instalimit të Arduino IDE

Instalimi i Bibliotekës Async TCP për ESP32
ESPAsyncWebServeri Biblioteka kërkon AsyncTCP biblioteka për të punuar. Ndiqni hapat e mëposhtëm për të instaluar atë bibliotekë:

  1. Klikoni këtu për të shkarkuar bibliotekën AsyncTCP. Duhet të keni një dosje .zip në dosjen tuaj Shkarkime
  2. Hapni dosjen .zip dhe duhet të merrni dosjen AsyncTCP-master
  3. Riemërtoni dosjen tuaj nga AsyncTCP-master në AsyncTCP
  4. Zhvendosni dosjen AsyncTCP në dosjen tuaj të bibliotekave të instalimit të Arduino IDE
  5. Më në fund, rihapni Arduino IDE-në tuaj

Kodi
Ne do të programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni të instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDE
Pas instalimit të bibliotekave të kërkuara, hapni kodin
Projekt_9_ESP32_DHT11_Web_Server.ino në arduino IDE.
Para se të ngarkoni kodin, mos harroni të futni kredencialet e rrjetit tuaj në mënyrë që ESP të mund të lidhet me rrjetin tuaj lokal.Kompleti bazë fillestar LAFVIN ESP32 - KodiSi funksionon Kodi
Në paragrafët e mëposhtëm do të shpjegojmë se si funksionon kodi. Vazhdoni të lexoni nëse doni të mësoni më shumë ose shkoni te seksioni Demonstrimi për të parë rezultatin përfundimtar.
Importimi i bibliotekave
Së pari, importoni bibliotekat e kërkuara. WiFi, ESPAsyncWebServeri dhe ESPAsyncTCP nevojiten për të ndërtuar web server. Bibliotekat Adafruit_Sensor dhe DHT nevojiten për të lexuar nga sensorët DHT11 ose DHT22.LAFVIN ESP32 Basic Starter Kit - Importimi i bibliotekaveKompleti bazë fillestar LAFVIN ESP32 - Si funksionon kodiPërkufizimi i variablave
Përcaktoni GPIO me të cilin lidhet kunja e të dhënave DHT. Në këtë rast, është i lidhur me GPIO 4.LAFVIN ESP32 Basic Starter Kit - Përkufizimi i variablaveMë pas, zgjidhni llojin e sensorit DHT që po përdorni. Në ish-in tonëample, ne jemi duke përdorur DHT22. Nëse jeni duke përdorur një lloj tjetër, thjesht duhet të hiqni komentin nga sensori dhe të komentoni të gjithë të tjerët.Kompleti bazë fillestar LAFVIN ESP32 - Përkufizimi i variablave 1

Instantoni një objekt DHT me llojin dhe pinin që kemi përcaktuar më parë.Kompleti bazë fillestar LAFVIN ESP32 - Përkufizimi i variablave 2Krijo një AsinkronWebObjekti i serverit në portën 80.Kompleti bazë fillestar LAFVIN ESP32 - Përkufizimi i variablave 3Lexoni funksionet e temperaturës dhe lagështisë
Ne kemi krijuar dy funksione: një për të lexuar temperaturën Ne kemi krijuar dy funksione: një për të lexuar temperaturën (readDHTTemperature()) dhe tjetri për të lexuar lagështinë (readDHTHhumidity()).Kompleti bazë fillestar LAFVIN ESP32 - lexoDHTHLagështiaKompleti bazë fillestar LAFVIN ESP32 - leximet e sensorëveMarrja e leximeve të sensorit është po aq e thjeshtë sa përdorimi Marrja e leximeve të sensorit është po aq e thjeshtë sa përdorimi i metodave readTemperature() dhe readHumidity() në objektin dht.LAFVIN ESP32 Basic Starter Kit - objektNe kemi gjithashtu një kusht që kthen dy pika (–) në rast se sensori nuk arrin të marrë leximet.Kompleti bazë fillestar LAFVIN ESP32 - leximeLeximet kthehen si lloj vargu. Për të kthyer një float në një varg, përdorni funksionin String().LAFVIN ESP32 Basic Starter Kit - StringSi parazgjedhje, ne po lexojmë temperaturën në gradë Celsius. Për të marrë temperaturën në gradë Fahrenheit, komentoni temperaturën në Celsius dhe anuloni temperaturën në Fahrenheit, në mënyrë që të keni sa vijon:Kompleti bazë fillestar LAFVIN ESP32 - FahrenheitKompleti bazë fillestar LAFVIN ESP32 - Fahrenheit 1Ngarko kodin
Tani, ngarkoni kodin në ESP32 tuaj. Sigurohuni që keni zgjedhur bordin e duhur dhe portën COM. Ngarkoni hapat e referencës së kodit.
Pas ngarkimit, hapni Monitorin Serial me një shpejtësi baud prej 115200. Shtypni butonin e rivendosjes ESP32. Adresa IP ESP32 duhet të printohet në serial monitoruar.Kompleti bazë fillestar LAFVIN ESP32 - Ngarko kodinDemonstrimi
Hapni një shfletues dhe shkruani adresën IP të ESP32. E juaja web serveri duhet të shfaqë leximet më të fundit të sensorit.
Shënim: Shfletuesi juaj dhe ESP32 duhet të lidhen me të njëjtin LAN.
Vini re se leximet e temperaturës dhe lagështisë përditësohen automatikisht pa pasur nevojë të rifreskoni web faqe.Kompleti bazë fillestar LAFVIN ESP32 - Demonstrimi 1

Projekti_10_ESP32_OLED_Display

Ky projekt tregon se si të përdoret ekrani OLED SSD0.96 1306 inç me ESP32 duke përdorur Arduino IDE.
Prezantimi i ekranit OLED 0.96 inç
Ekran OLED që do të përdorim në këtë tutorial është modeli SSD1306: një ekran monocolor, 0.96 inç me 128×64 piksele siç tregohet në figurën e mëposhtme.Kompleti bazë fillestar LAFVIN ESP32 - Ekrani OLEDEkrani OLED nuk kërkon dritë prapa, gjë që rezulton në një kontrast shumë të bukur në mjedise të errëta. Për më tepër, pikselët e tij konsumojnë energji vetëm kur janë të ndezur, kështu që ekrani OLED konsumon më pak energji në krahasim me ekranet e tjerë.
Për shkak se ekrani OLED përdor protokollin e komunikimit I2C, instalimet elektrike janë shumë të thjeshta. Ju mund të përdorni tabelën e mëposhtme si referencë.

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

SkematikKompleti bazë fillestar LAFVIN ESP32 - SkematikInstalimi i SSD1306 OLED Library – ESP32
Ka disa biblioteka të disponueshme për të kontrolluar ekranin OLED me ESP32.
Në këtë tutorial ne do të përdorim dy biblioteka Adafruit: Biblioteka Adafruit_SSD1306 dhe Biblioteka Adafruit_GFX.
Ndiqni hapat vijues për të instaluar ato biblioteka.

  1. Hapni Arduino IDE-në tuaj dhe shkoni te Sketch > Include Library > Manage Bibliotekat. Menaxheri i bibliotekës duhet të hapet.
  2. Shkruani "SSD1306" në kutinë e kërkimit dhe instaloni bibliotekën SSD1306 nga Adafruit.Kompleti bazë fillestar LAFVIN ESP32 - Biblioteka OLED–
  3. Pas instalimit të bibliotekës SSD1306 nga Adafruit, shkruani "GFX" në kutinë e kërkimit dhe instaloni bibliotekën.LAFVIN ESP32 Basic Starter Kit - bibliotekë
  4. Pas instalimit të bibliotekave, rinisni Arduino IDE-në tuaj.

Kodi
Pas instalimit të bibliotekave të kërkuara, hapni Project_10_ESP32_OLED_Display.ino në arduino IDE. kodi
Ne do ta programojmë ESP32 duke përdorur Arduino IDE, prandaj sigurohuni që të keni instaluar shtesën ESP32 përpara se të vazhdoni: (Nëse e keni bërë tashmë këtë hap, mund të kaloni në hapin tjetër.)
Instalimi i shtesës ESP32 në Arduino IDEKompleti bazë fillestar LAFVIN ESP32 - Kodi 1Kompleti bazë fillestar LAFVIN ESP32 - Kodi 2Kompleti bazë fillestar LAFVIN ESP32 - Kodi 3Si funksionon Kodi
Importimi i bibliotekave
Së pari, duhet të importoni bibliotekat e nevojshme. Biblioteka Wire për të përdorur I2C dhe bibliotekat Adafruit për të shkruar në ekran: Adafruit_GFX dhe Adafruit_SSD1306.Kompleti bazë fillestar LAFVIN ESP32 - Code Works 1Kompleti bazë fillestar LAFVIN ESP32 - Code Works 2Inicializoni ekranin OLED
Pastaj, ju përcaktoni gjerësinë dhe lartësinë tuaj OLED. Në këtë ishampLe, ne jemi duke përdorur një ekran OLED 128×64. Nëse jeni duke përdorur madhësi të tjera, mund ta ndryshoni atë në variablat SCREEN_WIDTH dhe SCREEN_HEIGHT.LAFVIN ESP32 Basic Starter Kit - Ekran OLEDMë pas, inicializoni një objekt ekrani me gjerësinë dhe lartësinë e përcaktuar më herët me protokollin e komunikimit I2C (&Wire).LAFVIN ESP32 Basic Starter Kit - protokoll komunikimiParametri (-1) do të thotë që ekrani juaj OLED nuk ka një pin RESET. Nëse ekrani juaj OLED ka një kunj RESET, ai duhet të lidhet me një GPIO. Në atë rast, duhet të kaloni numrin GPIO si parametër.
Në setup(), inicializoni Monitorin Serial në një shpejtësi baud prej 115200 për qëllime korrigjimi.LAFVIN ESP32 Basic Starter Kit - qëllimeInicializoni ekranin OLED me metodën start() si më poshtë:LAFVIN ESP32 Basic Starter Kit - display.fillLAFVIN ESP32 Basic Starter Kit - Serial.printlnKy fragment gjithashtu printon një mesazh në Monitorin Serial, në rast se nuk mund të lidhemi me ekranin.

LAFVIN ESP32 Basic Starter Kit - Serial.println 1Në rast se përdorni një ekran tjetër OLED, mund t'ju duhet të ndryshoni adresën OLED. Në rastin tonë, adresa është 0x3C.LAFVIN ESP32 Basic Starter Kit - adresaPas inicializimit të ekranit, shtoni një vonesë prej dy sekondash, në mënyrë që OLED të ketë kohë të mjaftueshme për të inicializuar përpara se të shkruani tekstin:Kompleti bazë fillestar LAFVIN ESP32 - me vonesëPastroni ekranin, vendosni madhësinë e shkronjave, ngjyrën dhe shkruani tekstin
Pas inicializimit të ekranit, pastroni buferin e ekranit me metodën clearDisplay():LAFVIN ESP32 Basic Starter Kit - ekran

Para se të shkruani tekst, duhet të vendosni madhësinë e tekstit, ngjyrën dhe vendin ku do të shfaqet teksti në OLED.
Vendosni madhësinë e shkronjave duke përdorur metodën setTextSize():Kompleti bazë fillestar LAFVIN ESP32 - ekrani 1Vendosni ngjyrën e shkronjave me metodën setTextColor():
WHITE vendos fontin e bardhë dhe sfondin e zi.
Përcaktoni pozicionin ku fillon teksti duke përdorur metodën setCursor(x,y). Në këtë rast, ne po vendosim që teksti të fillojë nga koordinatat (0,0) - në këndin e sipërm majtas.Kompleti bazë fillestar LAFVIN ESP32 - setTextColor 1Më në fund, mund ta dërgoni tekstin në ekran duke përdorur metodën println(), si më poshtëKompleti bazë fillestar LAFVIN ESP32 - kodi 5Më pas, duhet të thërrisni metodën display() për të shfaqur në të vërtetë tekstin në ekran.LAFVIN ESP32 Basic Starter Kit - ekran

Biblioteka Adafruit OLED ofron metoda të dobishme për të lëvizur lehtësisht tekstin.

  • startscrollright (0x00, 0x0F): lëvizni tekstin nga e majta në të djathtë
  • startscrollleft(0x00, 0x0F): lëvizni tekstin nga e djathta në të majtë
  • startscrolldiagright(0x00, 0x07): lëviz tekstin nga këndi i poshtëm i majtë në këndin e sipërm djathtas startscrolldiagleft(0x00, 0x07): lëviz tekstin nga këndi i poshtëm djathtas në këndin e sipërm të majtë

Ngarko kodin
Tani, ngarkoni kodin në ESP32. Hapat e referencës së kodit të ngarkimit.
Pas ngarkimit të kodit, OLED do të shfaqë tekstin lëvizës.LAFVIN ESP32 Basic Starter Kit - tekst në lëvizjeLogoja e LAFVIN

Dokumentet / Burimet

Kompleti bazë fillestar LAFVIN ESP32 [pdf] Manuali i Udhëzimeve
Kompleti bazë fillestar ESP32, ESP32, Kompleti bazë fillestar, Kompleti fillestar

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *