logo sa LAFVINESP32 Basic Starter
Kit

Listahan sa pagputos

LAFVIN ESP32 Basic Starter Kit - PackingList

ESP32 Pasiuna

Bag-o sa ESP32? Sugdi diri! Ang ESP32 usa ka serye sa ubos nga gasto ug ubos nga gahum nga System on a Chip (SoC) microcontrollers nga gimugna ni Espressif nga naglakip sa Wi-Fi ug Bluetooth wireless nga kapabilidad ug dual-core processor. Kung pamilyar ka sa ESP8266, ang ESP32 mao ang manununod niini, puno sa daghang mga bag-ong bahin.LAFVIN ESP32 Basic Starter Kit - ESP32 PasiunaMga Detalye sa ESP32
Kung gusto nimo makakuha usa ka gamay nga mas teknikal ug espesipiko, mahimo nimong tan-awon ang mosunud nga detalyado nga mga detalye sa ESP32 (tinubdan: http://esp32.net/)—para sa dugang detalye, susiha ang datasheet):

  • Wireless koneksyon WiFi: 150.0 Mbps data rate uban sa HT40
  • Bluetooth: BLE (Bluetooth Low Energy) ug Bluetooth Classic
  • Processor: Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, nga nagdagan sa 160 o 240 MHz
  • Memorya:
  • ROM: 448 KB (alang sa booting ug core functions)
  • SRAM: 520 KB (para sa datos ug instruksyon)
  • RTC fas SRAM: 8 KB (para sa pagtipig sa datos ug nag-unang CPU atol sa RTC Boot gikan sa deep-sleep mode)
  • Ang RTC hinay nga SRAM: 8KB (para sa pag-access sa co-processor atol sa deep-sleep mode) eFuse: 1 Kbit (diin 256 bits ang gigamit para sa system (MAC address ug chip configuration) ug ang nahabilin nga 768 bits kay gitagana para sa customer applications, lakip ang Flash-Encryption ug Chip-ID)

Naka-embed nga flash: flash konektado sa sulod pinaagi sa IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 ug SD_DATA_1 sa ESP32-D2WD ug ESP32-PICO-D4.

  • 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, ug ESP32-S0WD chips)
  • 2 MiB (ESP32-D2WD chip)
  • 4 MiB (ESP32-PICO-D4 SiP module)

Ubos nga Gahum: nagsiguro nga mahimo nimo gamiton ang mga pagkakabig sa ADC, alang sa example, sa panahon sa lawom nga pagkatulog.
Peripheral nga Input/Output:

  • peripheral interface nga adunay DMA nga naglakip sa capacitive touch
  • Mga ADC (Analog-to-Digital Converter)
  • Mga DAC (Digital-to-Analog Converter)
  • I²C (Inter-Integrated Circuit)
  • UART (Universal Asynchronous Receiver/Transmitter)
  • SPI (Serial Peripheral Interface)
  • I²S (Integrated Interchip Sound)
  • RMII (Minos nga Media-Independent Interface)
  • PWM (Pulse-Width Modulation)

Seguridad: hardware accelerators alang sa AES ug SSL/TLS

ESP32 Development Boards

Ang ESP32 nagtumong sa hubo nga ESP32 chip. Bisan pa, ang termino nga "ESP32" gigamit usab sa pagtumong sa mga development board sa ESP32. Ang paggamit sa ESP32 bare chips dili sayon ​​o praktikal, ilabi na sa pagkat-on, pagsulay, ug prototyping. Kasagaran, gusto nimo nga mogamit usa ka ESP32 development board.
Gamiton namo ang ESP32 DEVKIT V1 board isip reference. Ang hulagway sa ubos nagpakita sa ESP32 DEVKIT V1 board, bersyon nga adunay 30 GPIO pins.LAFVIN ESP32 Basic Starter Kit - ESP32 Development BoardsMga Detalye - ESP32 DEVKIT V1
Ang mosunod nga talaan nagpakita sa usa ka summary sa ESP32 DEVKIT V1 DOIT board features ug specifications:

Gidaghanon sa mga cores 2 (dual core)
Wi-Fi 2.4 GHz hangtod sa 150 Mbits/s
Bluetooth BLE (Bluetooth Low Energy) ug kabilin nga Bluetooth
Arkitektura 32 bitay
Frequency sa orasan Hangtod sa 240 MHz
RAM 512 KB
Mga pin 30 (depende sa modelo)
Mga peripheral Capacitive touch, ADC (analog to digital converter), DAC (digital to analog converter), 12C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface), 12S (Integrated Interface)
Sound), RMII (Reduced Media-Independent Interface), PWM (pulse width modulation), ug uban pa.
Mga built-in nga butones RESET ug BOOT buton
Mga built-in nga LED built-in nga asul nga LED konektado sa GPIO2; built-in nga pula nga LED nga nagpakita nga ang board gipaandar
USB sa UART
tulay
CP2102

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITKini adunay usa ka microUSB interface nga imong magamit sa pagkonektar sa board sa imong computer aron sa pag-upload sa code o paggamit sa gahum.
Gigamit niini ang CP2102 chip (USB to UART) aron makigkomunikar sa imong computer pinaagi sa COM port gamit ang serial interface. Ang laing popular nga chip mao ang CH340. Susiha kung unsa ang USB to UART chip converter sa imong board tungod kay kinahanglan nimo nga i-install ang gikinahanglan nga mga driver aron ang imong computer makakomunikar sa board (dugang nga impormasyon mahitungod niini sa ulahi niini nga giya).
Kini nga board adunay usab usa ka RESET button (mahimo nga markahan nga EN) aron i-restart ang board ug usa ka BOOT nga buton aron ibutang ang board sa flashing mode (magamit aron makadawat code). Timan-i nga ang ubang mga tabla mahimong walay buton sa BOOT.
Kini usab adunay usa ka built-in nga asul nga LED nga konektado sa sulod sa GPIO 2. Kini nga LED mapuslanon alang sa pag-debug aron mahatagan ang usa ka matang sa biswal nga pisikal nga output. Adunay usab usa ka pula nga LED nga nagsiga kung naghatag ka gahum sa board.LAFVIN ESP32 Basic Starter Kit -boardESP32 Pinout
Ang mga peripheral sa ESP32 naglakip sa:

  • 18 Analog-to-Digital Converter (ADC) nga mga channel
  • 3 SPI nga mga interface
  • 3 UART nga mga interface
  • 2 I2C nga mga interface
  • 16 PWM output channels
  • 2 Digital-to-Analog Converters (DAC)
  • 2 I2S mga interface
  • 10 Capacitive sensing GPIOs

Ang mga bahin sa ADC (analog to digital converter) ug DAC (digital to analog converter) gi-assign sa piho nga static nga mga pin. Bisan pa, mahimo kang magdesisyon kung unsang mga pin ang UART, I2C, SPI, PWM, ug uban pa - kinahanglan nimo nga i-assign kini sa code. Posible kini tungod sa feature sa multiplexing sa ESP32 chip.
Bisan kung mahimo nimong ipasabut ang mga kabtangan sa mga pin sa software, adunay mga pin nga gi-assign nga default sama sa gipakita sa mosunod nga numero.LAFVIN ESP32 Basic Starter Kit - ESP32 PinoutDugang pa, adunay mga pin nga adunay piho nga mga bahin nga naghimo kanila nga angay o dili alang sa usa ka partikular nga proyekto. Ang mosunud nga talaan nagpakita kung unsang mga pin ang labing maayo nga gamiton ingon mga input, output ug kung unsa ang kinahanglan nimo nga mabinantayon.
Ang mga pin nga gi-highlight sa berde OK ra nga gamiton. Ang mga gipasiugda sa yellow OK ra nga gamiton, apan kinahanglan nimo nga hatagan pagtagad tungod kay sila adunay wala damha nga pamatasan labi na sa boot. Ang mga pin nga gipasiugda sa pula dili girekomenda nga gamiton isip mga input o output.

GP IO Input Output Mga nota
0 gibira pataas OK nagpagawas sa PWM signal sa boot, kinahanglan nga LOW aron makasulod sa flashing mode
1 TX pin OK debug output sa boot
2 OK OK konektado sa on-board nga LED, kinahanglang biyaan nga naglutaw o LOW aron makasulod sa flashing mode
3 OK RX pin TAAS sa boot
4 OK OK
5 OK OK nagpagawas sa PWM signal sa boot, strapping pin
12 OK OK mapakyas ang boot kung gibira sa taas, strapping pin
13 OK OK
14 OK OK nagpagawas sa PWM signal sa boot
15 OK OK nagpagawas sa PWM signal sa boot, strapping pin
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 input lang
35 OK input lang
36 OK input lang
39 OK input lang

Ipadayon ang pagbasa alang sa usa ka dugang nga detalye ug lawom nga pagtuki sa mga ESP32 GPIO ug mga gimbuhaton niini.
I-input lang ang mga pin
Ang mga GPIO 34 hangtod 39 mga GPI - mga pin lamang ang input. Kini nga mga pin walay internal nga pull-up o pull-down resistors. Dili kini magamit isip mga output, busa gamita kini nga mga pin isip mga input:

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

Ang SPI flash gisagol sa ESP-WROOM-32
Ang GPIO 6 ngadto sa GPIO 11 gibutyag sa pipila ka ESP32 development boards. Bisan pa, kini nga mga pin konektado sa integrated SPI flash sa ESP-WROOM-32 chip ug dili girekomenda alang sa ubang mga gamit. Busa, ayaw gamita kini nga mga pin sa imong mga proyekto:

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

Capacitive touch GPIOs
Ang ESP32 adunay 10 ka internal nga capacitive touch sensor. Makamatikod kini sa mga kalainan sa bisan unsang butang nga adunay kuryente, sama sa panit sa tawo. Mao nga makit-an nila ang mga kalainan nga naaghat sa paghikap sa mga GPIO gamit ang usa ka tudlo. Kini nga mga pin dali nga ma-integrate sa mga capacitive pad ug mapulihan ang mga mekanikal nga butones. Ang capacitive touch pins mahimo usab nga magamit aron pukawon ang ESP32 gikan sa lawom nga pagkatulog. Kadtong mga internal touch sensor konektado sa kini nga mga 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)

Analog sa Digital Converter (ADC)
Ang ESP32 adunay 18 x 12 bits ADC input channels (samtang ang ESP8266 aduna lang 1x 10 bits ADC). Kini ang mga GPIO nga magamit isip ADC ug tagsa-tagsa nga mga kanal:

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

Mubo nga sulat: Ang mga ADC2 pin dili magamit kung gigamit ang Wi-Fi. Mao nga, kung naggamit ka og Wi-Fi ug naglisud ka sa pagkuha sa kantidad gikan sa usa ka ADC2 GPIO, mahimo nimong hunahunaon ang paggamit sa usa ka ADC1 GPIO. Mao untay makasulbad sa imong problema.
Ang ADC input channels adunay 12-bit nga resolusyon. Kini nagpasabot nga makakuha ka og analog readings gikan sa 0 ngadto sa 4095, diin ang 0 katumbas sa 0V ug 4095 ngadto sa 3.3V. Mahimo usab nimo nga itakda ang resolusyon sa imong mga channel sa code ug sa ADC range.
Ang ESP32 ADC pins walay linear nga kinaiya. Tingali dili nimo mahibal-an ang tali sa 0 ug 0.1V, o tali sa 3.2 ug 3.3V. Kinahanglan nimong hinumdoman kana kung gamiton ang mga ADC pin. Makakuha ka og kinaiya nga susama sa gipakita sa mosunod nga hulagway.LAFVIN ESP32 Basic Starter Kit - kinaiyaDigital ngadto sa Analog Converter (DAC)
Adunay 2 x 8 bits DAC channels sa ESP32 aron ma-convert ang mga digital signal ngadto sa analog vol.tage signal nga mga output. Kini ang mga channel sa DAC:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

Mga RTC GPIO
Adunay suporta sa RTC GPIO sa ESP32. Ang mga GPIO nga gipaagi sa RTC nga low-power subsystem mahimong magamit kung ang ESP32 anaa sa lawom nga pagkatulog. Kini nga mga RTC GPIO mahimong magamit aron pukawon ang ESP32 gikan sa lawom nga pagkatulog kung ang Ultra Low
Power (ULP) co-processor nagdagan. Ang mosunod nga mga GPIO mahimong gamiton isip eksternal nga tinubdan sa pagmata.

  • 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
Ang ESP32 LED PWM controller adunay 16 ka independenteng mga channel nga mahimong ma-configure aron makamugna og PWM signal nga adunay lain-laing mga kabtangan. Ang tanan nga mga pin nga mahimong molihok ingon mga output mahimong magamit ingon PWM pin (GPIOs 34 hangtod 39 dili makamugna PWM).
Aron mabutang ang usa ka signal sa PWM, kinahanglan nimo nga ipasabut kini nga mga parameter sa code:

  • frequency sa signal;
  • Siklo sa katungdanan;
  • PWM channel;
  • GPIO diin gusto nimo nga i-output ang signal.

I2C
Ang ESP32 adunay duha ka I2C channel ug ang bisan unsang pin mahimong itakda isip SDA o SCL. Kung gamiton ang ESP32 sa Arduino IDE, ang default nga I2C pin mao ang:

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

Kung gusto nimo mogamit ug ubang mga pin kung gamiton ang wire library, kinahanglan nimo nga tawagan:
Wire.begin(SDA, SCL);
SPI
Sa kasagaran, ang pin mapping para sa SPI mao ang:

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

Nakababag
Ang tanan nga mga GPIO mahimong ma-configure ingon mga interrupts.
Pag-strapping sa mga Pin
Ang ESP32 chip adunay mga mosunud nga strapping pins:

  • GPIO 0 (kinahanglan nga UBOS aron makasulod sa boot mode)
  • GPIO 2 (kinahanglan nga naglutaw o UBOS panahon sa boot)
  • GPIO 4
  • GPIO 5 (kinahanglan nga taas sa panahon sa boot)
  • GPIO 12 (kinahanglan nga UBOS panahon sa boot)
  • GPIO 15 (kinahanglan nga taas sa panahon sa boot)

Gigamit kini aron ibutang ang ESP32 sa bootloader o flashing mode. Sa kadaghanan sa mga development board nga adunay built-in nga USB/Serial, dili ka kinahanglan mabalaka bahin sa kahimtang sa kini nga mga pin. Gibutang sa board ang mga pin sa husto nga kahimtang para sa flashing o boot mode. Dugang nga impormasyon sa ESP32 Boot Mode Selection makita dinhi.
Bisan pa, kung ikaw adunay mga peripheral nga konektado sa mga pin, mahimo ka adunay problema sa pagsulay sa pag-upload sa bag-ong code, pag-flash sa ESP32 gamit ang bag-ong firmware, o pag-reset sa board. Kung ikaw adunay pipila ka mga peripheral nga konektado sa mga strapping pin ug ikaw adunay problema sa pag-upload sa code o pag-flash sa ESP32, mahimo kini tungod kay ang mga peripheral nagpugong sa ESP32 sa pagsulod sa husto nga mode. Basaha ang dokumentasyon sa Pagpili sa Boot Mode aron sa paggiya kanimo sa husto nga direksyon. Pagkahuman sa pag-reset, pag-flash, o pag-boot, kana nga mga pin molihok sama sa gipaabut.
Mga Pin nga HIGH sa Boot
Ang ubang mga GPIO nag-ilis sa ilang estado ngadto sa HIGH o output PWM signal sa boot o reset.
Kini nagpasabot nga kung ikaw adunay mga output nga konektado niini nga mga GPIO mahimo ka nga makakuha og wala damha nga mga resulta kung ang ESP32 mag-reset o mag-boot.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 hangtod sa GPIO 11 (konektado sa ESP32 integrated SPI flash memory – dili girekomenda nga gamiton).
  • GPIO 14
  • GPIO 15

Enable (EN)
Ang Enable (EN) mao ang 3.3V regulator's enable pin. Gibira kini, busa pagkonektar sa yuta aron ma-disable ang 3.3V regulator. Kini nagpasabot nga mahimo nimong gamiton kini nga pin nga konektado sa usa ka pushbutton aron ma-restart ang imong ESP32, pananglitanample.
GPIO kasamtangan nga gilaraw
Ang bug-os nga labing kataas nga karon nga nakuha matag GPIO mao ang 40mA sumala sa seksyon nga "Girekomenda nga Mga Kondisyon sa Operating" sa ESP32 datasheet.
ESP32 Gitukod-Sa Hall Effect Sensor
Ang ESP32 usab adunay usa ka built-in hall effect sensor nga nakamatikod sa mga pagbag-o sa magnetic field sa palibot niini
ESP32 Arduino IDE
Adunay usa ka add-on alang sa Arduino IDE nga nagtugot kanimo sa pagprograma sa ESP32 gamit ang Arduino IDE ug ang programming language niini. Sa kini nga panudlo ipakita namon kanimo kung giunsa ang pag-install sa ESP32 board sa Arduino IDE kung naggamit ka Windows, Mac OS X o Linux.
Kinahanglanon: Gi-install ang Arduino IDE
Sa dili pa magsugod kini nga pamaagi sa pag-instalar, kinahanglan nimo nga ma-install ang Arduino IDE sa imong computer. Adunay duha ka bersyon sa Arduino IDE nga imong ma-install: bersyon 1 ug bersyon 2.
Mahimo nimong i-download ug i-install ang Arduino IDE pinaagi sa pag-klik sa mosunod nga link: arduino.cc/en/Main/Software
Unsa nga bersyon sa Arduino IDE ang among girekomenda? Sa pagkakaron, adunay pipila plugins alang sa ESP32 (sama sa SPIFFS Filesystem Uploader Plugin) nga wala pa gisuportahan sa Arduino 2. Busa, kung gusto nimo nga gamiton ang SPIFFS plugin sa umaabot, among girekomendar ang pag-instalar sa legacy nga bersyon 1.8.X. Kinahanglan ka lang nga mag-scroll down sa Arduino software page aron makit-an kini.
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Aron ma-install ang ESP32 board sa imong Arduino IDE, sunda kini nga mga instruksyon:

  1. Sa imong Arduino IDE, adto sa File> KagustuhanLAFVIN ESP32 Basic Starter Kit - Mga Kagustuhan
  2. Isulod ang mosunod sa “Additional Board Manager URLs” natad:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Unya, i-klik ang "OK" nga buton:LAFVIN ESP32 Basic Starter Kit - "OK" nga butonMubo nga sulat: kung naa na nimo ang ESP8266 boards URL, mahimo nimong ibulag ang URLs nga adunay comma sama sa mosunod:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Ablihi ang Boards Manager. Adto sa Tools > Board > Boards Manager...LAFVIN ESP32 Basic Starter Kit - EspressifPangitaa ang ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Basic Starter Kit - EspressifMao na. Kinahanglan kini i-install pagkahuman sa pipila ka segundo.LAFVIN ESP32 Basic Starter Kit - na-install

Pag-upload sa Test Code

I-plug ang ESP32 board sa imong computer. Sa pagbukas sa imong Arduino IDE, sunda kini nga mga lakang:

  1. Pilia ang imong Board sa Tools > Board menu (sa akong kaso kini ang ESP32 DEV Module)LAFVIN ESP32 Basic Starter Kit - Tools Board
  2. Pilia ang Port (kon dili nimo makita ang COM Port sa imong Arduino IDE, kinahanglan nimo nga i-install ang CP210x USB sa UART Bridge VCP Drivers):LAFVIN ESP32 Basic Starter Kit - UART Bridge
  3. Ablihi ang mosunod nga exampsa ubos File > Examples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScan 1
  4. Usa ka bag-ong sketch ang giablihan sa imong Arduino IDE:LAFVIN ESP32 Basic Starter Kit - Arduino IDE
  5. Pindota ang Upload button sa Arduino IDE. Paghulat sa pipila ka mga segundo samtang ang code mag-compile ug mag-upload sa imong board.LAFVIN ESP32 Basic Starter Kit - board
  6. Kung ang tanan nahimo sama sa gipaabut, kinahanglan nimo nga makita ang usa ka "Tapos na ang pag-upload." mensahe.LAFVIN ESP32 Basic Starter Kit - Tapos na ang pag-upload
  7. Ablihi ang Arduino IDE Serial Monitor sa baud rate nga 115200:LAFVIN ESP32 Basic Starter Kit - Monitor
  8. Pindota ang ESP32 on-board Enable button ug imong makita ang mga network nga anaa duol sa imong ESP32:LAFVIN ESP32 Basic Starter Kit - Enable button

Pag-troubleshoot

Kung mosulay ka sa pag-upload ug bag-ong sketch sa imong ESP32 ug makuha nimo kini nga mensahe sa sayup "Nahitabo ang usa ka makamatay nga sayup: Napakyas sa pagkonektar sa ESP32: Na-time out… Pagkonekta…". Kini nagpasabot nga ang imong ESP32 wala sa flashing/uploading mode.
Kung gipili ang husto nga ngalan sa board ug COM por, sunda kini nga mga lakang:
Hupti ang buton nga "BOOT" sa imong ESP32 boardLAFVIN ESP32 Basic Starter Kit - "BOOT"

  • Pindota ang "Upload" nga buton sa Arduino IDE aron ma-upload ang imong sketch:LAFVIN ESP32 Basic Starter Kit - ICON 6
  • Human nimo makita ang "Pagkonektar…." mensahe sa imong Arduino IDE, buhian ang tudlo gikan sa "BOOT" nga buton:LAFVIN ESP32 Basic Starter Kit - "Tapos na ang pag-upload
  • Pagkahuman niana, kinahanglan nimo nga makita ang mensahe nga "Done uploading".
    Mao na. Ang imong ESP32 kinahanglan nga adunay bag-ong sketch nga nagdagan. Pindota ang buton nga "PAGANA" aron ma-restart ang ESP32 ug ipadagan ang bag-ong gi-upload nga sketch.
    Kinahanglan nimo usab nga sublion ang pagkasunod-sunod sa buton matag higayon nga gusto nimo mag-upload og bag-ong sketch.

Project 1 ESP32 Inputs Outputs

Niini nga giya sa pagsugod makakat-on ka kung unsaon pagbasa ang mga digital input sama sa switch sa buton ug pagkontrol sa mga digital output sama sa LED gamit ang ESP32 uban sa Arduino IDE.
Mga kinahanglanon
Atong iprograma ang ESP32 gamit ang Arduino IDE. Busa, siguroha nga ikaw adunay ESP32 boards add-on nga na-install sa dili pa mopadayon:

  • Pag-instalar sa ESP32 Add-on sa Arduino IDE

ESP32 Control Digital Outputs
Una, kinahanglan nimong itakda ang GPIO nga gusto nimong kontrolon isip OUTPUT. Gamita ang pinMode() function sama sa mosunod:
pinMode(GPIO, OUTPUT);
Aron makontrol ang usa ka digital nga output kinahanglan nimo nga gamiton ang digitalWrite () function, nga gidawat ingon mga argumento, ang GPIO (int number) nga imong gipasabut, ug ang estado, bisan sa HIGH o LOW.
digitalWrite(GPIO, STATE);
Ang tanang GPIO mahimong gamiton isip mga output gawas sa GPIOs 6 to 11 (connected sa integrated SPI flash) ug GPIOs 34, 35, 36 ug 39 (input only GPIOs);
Pagkat-on og dugang mahitungod sa ESP32 GPIOs: ESP32 GPIO Reference Guide
ESP32 Basaha ang mga Digital nga Input
Una, ibutang ang GPIO nga gusto nimong basahon isip INPUT, gamit ang pinMode() function sama sa mosunod:
pinMode(GPIO, INPUT);
Aron mabasa ang usa ka digital input, sama sa usa ka buton, imong gamiton ang digitalRead() function, nga modawat isip argumento, ang GPIO (int number) nga imong gipasabot.
digitalRead(GPIO);
Ang tanang ESP32 GPIOs mahimong gamiton isip inputs, gawas sa GPIOs 6 to 11 (connected sa integrated SPI flash).
Pagkat-on og dugang mahitungod sa ESP32 GPIOs: ESP32 GPIO Reference Guide
Proyekto Example
Para ipakita nimo kung unsaon paggamit ang digital inputs ug digital outputs, magbuhat mi ug simple nga project example nga adunay pushbutton ug usa ka LED. Atong basahon ang kahimtang sa pushbutton ug pasigaa ang LED sumala sa gihulagway sa mosunod nga numero.LAFVIN ESP32 Basic Starter Kit - Project Example

Mga Parte nga Gikinahanglan
Ania ang usa ka lista sa mga bahin nga kinahanglan nimo aron matukod ang circuit:

  • ESP32 DEVKIT V1
  • 5mm nga LED
  • 220 Ohm resistador
  • Pushbutton
  • 10k Ohm resistor
  • Breadboard
  • Mga wire sa jumper

Diagram sa eskematiko
Sa dili pa mopadayon, kinahanglan nimo nga mag-assemble og circuit nga adunay LED ug pushbutton.
Ikonektar namo ang LED sa GPIO 5 ug ang pushbutton sa GPIO 4.LAFVIN ESP32 Basic Starter Kit - Schematic DiagramKodigo
Ablihi ang code Project_1_ESP32_Inputs_Outputs.ino sa arduino IDELAFVIN ESP32 Basic Starter Kit - CodeLAFVIN ESP32 Basic Starter Kit - Code 1Giunsa ang Paglihok sa Kodigo
Sa mosunod nga duha ka linya, maghimo ka og mga variable aron mag-assign og mga pin:

LAFVIN ESP32 Basic Starter Kit - Mga Buhat sa CodeAng buton konektado sa GPIO 4 ug ang LED konektado sa GPIO 5. Kung gamiton ang Arduino IDE sa ESP32, ang 4 katumbas sa GPIO 4 ug ang 5 katumbas sa GPIO 5.
Sunod, maghimo ka usa ka variable aron huptan ang estado sa buton. Sa kasagaran, kini 0 (dili gipugos).
int buttonState = 0;
Sa setup (), imong gisugdan ang buton isip INPUT, ug ang LED isip OUTPUT.
Alang niana, imong gamiton ang pinMode() function nga modawat sa pin nga imong gipasabot, ug ang mode: INPUT o OUTPUT.
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Sa loop () diin imong basahon ang buton nga estado ug ibutang ang LED sumala niana.
Sa sunod nga linya, imong basahon ang buton estado ug i-save kini sa buttonState variable.
Sama sa among nakita kaniadto, imong gigamit ang digitalRead() function.
buttonState = digitalRead(buttonPin);
Ang musunod nga kung pahayag, nagsusi kung ang kahimtang sa buton TAAS. Kung mao kini, gipaandar niini ang LED gamit ang digitalWrite() function nga gidawat ingon argumento ang ledPin, ug ang estado nga HIGH.
kung (buttonState == TAAS)LAFVIN ESP32 Basic Starter Kit - Mga Buhat sa Code 1Kung ang kahimtang sa buton dili TAAS, imong gipalong ang LED. Ibutang lang ang LOW isip ikaduhang argumento sa digitalWrite() function.LAFVIN ESP32 Basic Starter Kit - digitalWritePag-upload sa Code
Sa dili pa i-klik ang upload button, adto sa Tools > Board, ug pilia ang board: DOIT ESP32 DEVKIT V1 board.
Adto sa Tools> Port ug pilia ang COM port nga konektado sa ESP32. Unya, pindota ang upload button ug hulata ang "Done uploading" nga mensahe.LAFVIN ESP32 Basic Starter Kit - ICON 7Mubo nga sulat: Kung makakita ka og daghang mga tuldok (nagkonektar…__…__) sa debugging window ug ang mensahe nga “Napakyas sa pagkonektar sa ESP32: Na-time out nga naghulat sa packet header”, nagpasabot kana nga kinahanglan nimong ipadayon ang ESP32 on-board BOOT nga buton human sa mga tulbok.
magsugod sa pagpakita.Troubleshooting

Demonstrasyon

Human ma-upload ang code, sulayi ang imong sirkito. Ang imong LED kinahanglan nga mosiga kung imong ipadayon ang pushbutton:LAFVIN ESP32 Basic Starter Kit - DemonstrasyonUg i-off kung buhian nimo kini:LAFVIN ESP32 Basic Starter Kit - turn sa

Project 2 ESP32 Analog Inputs

Kini nga proyekto nagpakita kon unsaon pagbasa ang mga analog input sa ESP32 gamit ang Arduino IDE.
Ang pagbasa sa analog mapuslanon sa pagbasa sa mga kantidad gikan sa mga variable nga resistor sama sa mga potentiometer, o mga sensor sa analog.
Analog Inputs (ADC)
Ang pagbasa sa usa ka analog nga bili sa ESP32 nagpasabot nga imong masukod ang lain-laing voltage lebel tali sa 0 V ug 3.3 V.
Ang voltage gisukod dayon gi-assign sa usa ka bili tali sa 0 ug 4095, diin ang 0 V katumbas sa 0, ug 3.3 V katumbas sa 4095. Bisan unsa nga voltage tali sa 0 V ug 3.3 V ihatag ang katumbas nga kantidad sa taliwala.LAFVIN ESP32 Basic Starter Kit - Analog InputsAng ADC kay Non-linear
Sa tinuud, magdahum ka nga usa ka linear nga pamatasan kung gigamit ang mga ESP32 ADC pin.
Apan, dili kana mahitabo. Ang imong makuha usa ka pamatasan sama sa gipakita sa mosunud nga tsart:LAFVIN ESP32 Basic Starter Kit - Dili-linearKini nga pamatasan nagpasabut nga ang imong ESP32 dili makahimo sa pag-ila sa 3.3 V gikan sa 3.2 V.
Makuha nimo ang parehas nga kantidad alang sa duha nga voltagug: 4095.
Ang sama nga mahitabo sa ubos kaayo nga voltage values: para sa 0 V ug 0.1 V makuha nimo ang parehas nga value: 0. Kinahanglan nimong hinumdoman kini kung gamiton ang ESP32 ADC pins.
AnalogRead() Function
Ang pagbasa sa analog input sa ESP32 gamit ang Arduino IDE kay yano ra sa paggamit sa analogRead() function. Gidawat niini isip argumento, ang GPIO nga gusto nimong basahon:
analogueRead(GPIO);
15 ra ang magamit sa DEVKIT V1board (bersyon nga adunay 30 GPIO).
Kuhaa ang imong ESP32 board pinout ug pangitaa ang ADC pins. Gipasiugda kini sa usa ka pula nga utlanan sa hulagway sa ubos.LAFVIN ESP32 Basic Starter Kit - utlananKini nga mga analog input pin adunay 12-bit nga resolusyon. Kini nagpasabot nga kung magbasa ka og analog input, ang range niini mahimong magkalahi gikan sa 0 ngadto sa 4095.
Mubo nga sulat: Ang mga ADC2 pin dili magamit kung ang Wi-Fi gigamit. Mao nga, kung naggamit ka og Wi-Fi ug naglisud ka sa pagkuha sa kantidad gikan sa usa ka ADC2 GPIO, mahimo nimong hunahunaon ang paggamit sa usa ka ADC1 GPIO sa baylo, kana kinahanglan nga makasulbad sa imong problema.
Aron makita kung giunsa ang tanan nagkahiusa, maghimo kami usa ka yano nga example sa pagbasa sa usa ka analog nga bili gikan sa usa ka potentiometer.
Mga Parte nga Gikinahanglan
Para ani nga example, kinahanglan nimo ang mosunod nga mga bahin:

  • ESP32 DEVKIT V1 Board
  • Potensyomiter
  • Breadboard
  • Mga wire sa jumper

Usa ka eskematiko
Pag-wire og potentiometer sa imong ESP32. Ang potentiometer middle pin kinahanglan nga konektado sa GPIO 4. Mahimo nimong gamiton ang mosunod nga schematic diagram isip reference.LAFVIN ESP32 Basic Starter Kit - SchematicKodigo
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install nimo ang ESP32 add-on sa dili pa mopadayon: (Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Ablihi ang code Project_2_ESP32_Inputs_Outputs.ino sa arduino IDELAFVIN ESP32 Basic Starter Kit - Code 2Kini nga code nagbasa lang sa mga kantidad gikan sa potentiometer ug nag-imprinta sa mga kantidad sa Serial Monitor.
Sa code, magsugod ka pinaagi sa pagtino sa GPIO nga konektado sa potentiometer. Niining exampug, GPIO 4.LAFVIN ESP32 Basic Starter Kit - exampleSa setup(), magsugod ug serial communication sa baud rate nga 115200.LAFVIN ESP32 Basic Starter Kit - exampug 1Sa loop(), gamita ang analogRead() function para mabasa ang analog input gikan sa potPin.LAFVIN ESP32 Basic Starter Kit - exampug 2Sa katapusan, i-print ang mga kantidad nga gibasa gikan sa potentiometer sa serial monitor.LAFVIN ESP32 Basic Starter Kit - exampug 3I-upload ang code nga gihatag sa imong ESP32. Siguroha nga ikaw adunay husto nga board ug COM port nga gipili sa Tools menu.
Pagsulay sa Example
Human ma-upload ang code ug i-press ang ESP32 reset button, ablihi ang Serial Monitor sa baud rate nga 115200. I-rotate ang potentiometer ug tan-awa ang mga bili nga nag-usab.Ang labing taas nga kantidad nga imong makuha mao ang 4095 ug ang minimum nga kantidad mao ang 0.LAFVIN ESP32 Basic Starter Kit -maximum nga kantidad

Pagputos

Niini nga artikulo nakakat-on ka kung unsaon pagbasa ang mga analog input gamit ang ESP32 gamit ang Arduino IDE. Sa katingbanan:

  • Ang ESP32 DEVKIT V1 DOIT board (bersyon nga adunay 30 ka pin) adunay 15 ka ADC nga mga pin nga imong magamit sa pagbasa sa mga analog input.
  • Kini nga mga pin adunay resolusyon nga 12 ka bit, nga nagpasabut nga makakuha ka mga kantidad gikan sa 0 hangtod 4095.
  • Aron mabasa ang usa ka bili sa Arduino IDE, imong gamiton ang analogRead() function.
  • Ang ESP32 ADC pins walay linear nga kinaiya. Tingali dili nimo mahibal-an ang kalainan tali sa 0 ug 0.1V, o tali sa 3.2 ug 3.3V. Kinahanglan nimong hinumdoman kana kung gamiton ang mga ADC pin.

Proyekto 3 ESP32 PWM(Analog Output)

Sa kini nga panudlo ipakita namon kanimo kung giunsa paghimo ang mga signal sa PWM gamit ang ESP32 gamit ang Arduino IDE. Ingon usa ka exampmagbuhat kami ug usa ka yano nga sirkito nga nagpadilim sa usa ka LED gamit ang LED PWM controller sa ESP32.LAFVIN ESP32 Basic Starter Kit - AnalogOutputESP32 LED PWM Controller
Ang ESP32 adunay usa ka LED PWM controller nga adunay 16 nga independente nga mga channel nga mahimong ma-configure aron makamugna ang mga signal sa PWM nga adunay lainlaing mga kabtangan.
Ania ang mga lakang nga kinahanglan nimong sundon aron mapalong ang usa ka LED nga adunay PWM gamit ang Arduino IDE:

  1. Una, kinahanglang mopili ka ug PWM channel. Adunay 16 ka channel gikan sa 0 hangtod 15.
  2. Dayon, kinahanglan nimo nga itakda ang PWM signal frequency. Alang sa LED, ang frequency nga 5000 Hz maayo nga gamiton.
  3. Kinahanglan usab nimo nga itakda ang resolusyon sa siklo sa katungdanan sa signal: adunay mga resolusyon gikan sa 1 hangtod 16 ka bit. Gamiton namo ang 8-bit nga resolusyon, nga nagpasabot nga makontrol nimo ang kahayag sa LED gamit ang bili gikan sa 0 ngadto sa 255.
  4.  Sunod, kinahanglan nimo nga ipiho kung asa nga GPIO o GPIO ang signal makita. Alang niana imong gamiton ang mosunod nga function:
    ledcAttachPin(GPIO, channel)
    Kini nga function modawat sa duha ka argumento. Ang una mao ang GPIO nga magpagawas sa signal, ug ang ikaduha mao ang channel nga makamugna sa signal.
  5. Sa katapusan, aron makontrol ang kahayag sa LED gamit ang PWM, imong gamiton ang mosunod nga function:

ledcWrite(channel, dutycycle)
Gidawat niini nga function isip argumento ang channel nga nagpatungha sa PWM signal, ug ang duty cycle.
Mga Parte nga Gikinahanglan
Aron masundan kini nga panudlo kinahanglan nimo kini nga mga bahin:

  • ESP32 DEVKIT V1 Board
  • 5mm nga LED
  • 220 Ohm resistador
  •  Breadboard
  • Mga wire sa jumper

Usa ka eskematiko
Pag-wire og LED sa imong ESP32 sama sa mosunod nga schematic diagram. Ang LED kinahanglan nga konektado sa GPIO 4.LAFVIN ESP32 Basic Starter Kit - SchematicMubo nga sulat: mahimo nimong gamiton ang bisan unsang pin nga gusto nimo, basta kini molihok ingon usa ka output. Ang tanan nga mga pin nga mahimong molihok ingon mga output mahimong magamit ingon mga PWM pin. Para sa dugang nga impormasyon bahin sa ESP32 GPIOs, basaha ang: ESP32 Pinout Reference: Unsang GPIO pin ang angay nimong gamiton?
Kodigo
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install nimo ang ESP32 add-on sa dili pa mopadayon: (Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Ablihi ang code Project_3_ESP32_PWM.ino sa arduino IDELAFVIN ESP32 Basic Starter Kit - Code 3LAFVIN ESP32 Basic Starter Kit - Code 4Magsugod ka pinaagi sa pagtino sa pin nga gilakip sa LED. Sa kini nga kaso ang LED gilakip sa GPIO 4.LAFVIN ESP32 Basic Starter Kit - Code 5Dayon, imong gibutang ang PWM signal properties. Gihubit nimo ang frequency nga 5000 Hz, pilia ang channel 0 aron makamugna ang signal, ug itakda ang resolusyon nga 8 bits. Mahimo nimong pilion ang ubang mga kabtangan, lahi kaysa niini, aron makamugna ang lainlaing mga signal sa PWM.LAFVIN ESP32 Basic Starter Kit - Code 6Sa setup (), kinahanglan nimo nga i-configure ang LED PWM gamit ang mga kabtangan nga imong gihubit sa sayo pa pinaagi sa paggamit sa ledcSetup () function nga gidawat ingon mga argumento, ang ledChannel, ang frequency, ug ang resolusyon, ingon sa mosunod:LAFVIN ESP32 Basic Starter Kit - Code 8Sunod, kinahanglan nimong pilion ang GPIO nga imong makuha ang signal. Alang niana nga paggamit sa ledcAttachPin () function nga modawat ingon nga mga argumento sa GPIO diin gusto nimo makuha ang signal, ug ang channel nga nagpatungha sa signal. Niining example, makuha nato ang signal sa ledPin GPIO, nga katumbas sa GPIO 4. Ang channel nga nagmugna sa signal mao ang ledChannel, nga katumbas sa channel 0.LAFVIN ESP32 Basic Starter Kit - Code 9Sa loop, imong usbon ang siklo sa katungdanan tali sa 0 ug 255 aron madugangan ang kahayag sa LED.LAFVIN ESP32 Basic Starter Kit - kahayagUg unya, sa taliwala sa 255 ug 0 sa pagkunhod sa kahayag.LAFVIN ESP32 Basic Starter Kit - kahayag 1Aron mabutang ang kahayag sa LED, kinahanglan nimo nga gamiton ang function nga ledcWrite () nga nagdawat ingon mga argumento sa channel nga nagpatungha sa signal, ug ang siklo sa katungdanan.LAFVIN ESP32 Basic Starter Kit - kahayag 2Samtang naggamit kami og 8-bit nga resolusyon, ang siklo sa katungdanan makontrol gamit ang usa ka bili gikan sa 0 ngadto sa 255. Timan-i nga sa ledcWrite() function among gigamit ang channel nga nagmugna sa signal, ug dili ang GPIO.

Pagsulay sa Example

I-upload ang code sa imong ESP32. Siguroha nga ikaw adunay husto nga board ug COM port nga gipili. Tan-awa ang imong sirkito. Kinahanglan nga adunay usa ka dimmer nga LED nga nagdugang ug nagpamenos sa kahayag.LAFVIN ESP32 Basic Starter Kit - Pagsulay sa Example

Proyekto 4 ESP32 PIR Motion Sensor

Gipakita sa kini nga proyekto kung giunsa pag-ila ang paglihok gamit ang ESP32 gamit ang PIR motion sensor. Ang buzzer magpalanog usa ka alarma kung makit-an ang paglihok, ug ihunong ang alarma kung wala’y nakit-an nga paglihok sa usa ka preset nga oras (sama sa 4 segundos)
Giunsa Paggana ang HC-SR501 Motion Sensor
.LAFVIN ESP32 Basic Starter Kit - Motion Sensor WorksAng prinsipyo sa pagtrabaho sa sensor sa HC-SR501 gibase sa pagbag-o sa infrared radiation sa naglihok nga butang.

  • Ang butang nagpagawas sa infrared nga paagi.
  • Ang butang naglihok o nagkurog

Busa:
Kung ang usa ka butang nagpagawas sa infrared ray apan dili molihok (pananglitan, ang usa ka tawo nagbarug nga wala molihok), dili kini makit-an sa sensor.
Kung ang usa ka butang naglihok apan DILI nagpagawas sa infrared ray (pananglitan, robot o sakyanan), DILI kini mamatikdan sa sensor.
Pagpaila sa mga Timer
Niining example magpaila pud ta ug timers. Gusto namon nga ang LED magpabilin sa usa ka gitino nang daan nga gidaghanon sa mga segundo pagkahuman nakit-an ang paglihok. Imbes nga mogamit ug delay() function nga mobabag sa imong code ug dili motugot kanimo sa pagbuhat ug bisan unsa sulod sa determinadong gidaghanon sa mga segundos, kinahanglan namong mogamit ug timer.LAFVIN ESP32 Basic Starter Kit - Pagpaila sa mga TimerAng delay() function
Kinahanglan nga pamilyar ka sa delay() function tungod kay kini kaylap nga gigamit. Kini nga function dali ra gamiton. Gidawat niini ang usa ka int nga numero isip argumento.
Kini nga numero nagrepresentar sa oras sa milliseconds nga kinahanglan maghulat ang programa hangtod sa pagpadayon sa sunod nga linya sa code.LAFVIN ESP32 Basic Starter Kit - codeKung maglangan ka(1000) ang imong programa mohunong sa kana nga linya sa 1 segundo.
delay() kay usa ka blocking function. Ang pag-block sa mga gimbuhaton nagpugong sa usa ka programa sa pagbuhat sa bisan unsang butang hangtod nga ang partikular nga buluhaton makompleto. Kung kinahanglan nimo ang daghang mga buluhaton nga mahitabo sa parehas nga oras, dili nimo magamit ang paglangan ().
Alang sa kadaghanan nga mga proyekto kinahanglan nimong likayan ang paggamit sa mga paglangan ug gamita ang mga timer.
Ang millis() function
Gamit ang usa ka function nga gitawag millis() mahimo nimong ibalik ang gidaghanon sa mga millisecond nga milabay sukad nagsugod ang programa.LAFVIN ESP32 Basic Starter Kit - unang gisugdan ang programaNgano nga mapuslanon kana nga function? Tungod kay pinaagi sa paggamit sa pipila ka matematika, dali nimo mapamatud-an kung pila ka oras ang milabay nga wala gibabagan ang imong code.
Mga Parte nga Gikinahanglan
Aron masunod kini nga panudlo kinahanglan nimo ang mosunod nga mga bahin

  • ESP32 DEVKIT V1 Board
  • PIR motion sensor (HC-SR501)
  • Aktibo nga Buzzer
  • Mga wire sa jumper
  • Breadboard

Usa ka eskematikoLAFVIN ESP32 Basic Starter Kit - Schematic 1Mubo nga sulat: Ang nagtrabaho voltage sa HC-SR501 kay 5V. Gamita ang Vin pin aron ma-power kini.
Kodigo
Sa wala pa ipadayon kini nga panudlo kinahanglan nimo nga i-install ang ESP32 add-on sa imong Arduino IDE. Sunda ang usa sa mosunod nga mga tutorial sa pag-instalar sa ESP32 sa Arduino IDE, kon wala pa nimo.(Kon nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Ablihi ang code Project_4_ESP32_PIR_Motion_Sensor.ino sa arduino IDE.
Demonstrasyon
I-upload ang code sa imong ESP32 board. Siguruha nga naa nimo ang husto nga board ug COM port nga gipili. I-upload ang mga lakang sa reference sa code.
Ablihi ang Serial Monitor sa baud rate nga 115200.LAFVIN ESP32 Basic Starter Kit - Demonstrasyon 1Ibalhin ang imong kamot atubangan sa PIR sensor. Ang buzzer kinahanglan nga mo-on, ug ang mensahe giimprinta sa Serial Monitor nga nag-ingon "Motion detected! Buzzer alarm".
Human sa 4 segundos ang buzzer kinahanglan nga mapalong.LAFVIN ESP32 Basic Starter Kit - buzzer

Proyekto 5 ESP32 Switch Web Server

Niini nga proyekto maghimo ka og usa ka standalone web server nga adunay ESP32 nga nagkontrol sa mga output (duha ka LED) gamit ang Arduino IDE programming environment. Ang web Ang server kay mobile responsive ug mahimong ma-access sa bisan unsang device nga isip browser sa lokal nga network. Ipakita namon kanimo kung giunsa paghimo ang web server ug kung giunsa ang paglihok sa code matag lakang.
Natapos ang Projectview
Sa dili pa modiretso sa proyekto, importante nga i-outline kung unsa ang atong web buhaton sa server, aron mas dali ang pagsunod sa mga lakang sa ulahi.

  • Ang web server nga imong tukoron nagkontrol sa duha ka LED nga konektado sa ESP32 GPIO 26 ug GPIO 27;
  • Mahimo nimong ma-access ang ESP32 web server pinaagi sa pag-type sa ESP32 IP address sa usa ka browser sa lokal nga network;
  • Pinaagi sa pag-klik sa mga buton sa imong web server mahimo nimong usbon dayon ang kahimtang sa matag LED.

Mga Parte nga Gikinahanglan
Alang niini nga panudlo kinahanglan nimo ang mosunod nga mga bahin:

  • ESP32 DEVKIT V1 Board
  • 2x 5mm nga LED
  • 2x200 Ohm resistor
  • Breadboard
  • Mga wire sa jumper

Usa ka eskematiko
Pagsugod pinaagi sa pagtukod sa sirkito. Ikonektar ang duha ka LED sa ESP32 sama sa gipakita sa mosunod nga schematic diagram - usa ka LED konektado sa GPIO 26, ug ang lain sa GPIO 27.
Mubo nga sulat: Gigamit namon ang ESP32 DEVKIT DOIT board nga adunay 36 nga mga pin. Sa dili pa i-assemble ang circuit, siguroha nga imong susihon ang pinout alang sa board nga imong gigamit.LAFVIN ESP32 Basic Starter Kit - SchematicKodigo
Dinhi among gihatag ang code nga nagmugna sa ESP32 web server. Ablihi ang code Project_5_ESP32_Switch _Web_Server.ino sa arduino IDE, apan ayaw pa kini i-upload. Kinahanglan ka nga maghimo pipila ka mga pagbag-o aron mahimo kini alang kanimo.
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install nimo ang ESP32 add-on sa dili pa mopadayon: (Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Pagbutang sa Imong Mga Kredensyal sa Network
Kinahanglan nimong usbon ang mosunod nga mga linya gamit ang imong mga kredensyal sa network: SSID ug password. Ang kodigo maayo nga gikomento kung asa nimo buhaton ang mga pagbag-o.LAFVIN ESP32 Basic Starter Kit - Mga Kredensyal sa NetworkPag-upload sa Code
Karon, mahimo nimong i-upload ang code ug ug ang web ang server molihok dayon.
Sunda ang sunod nga mga lakang aron ma-upload ang code sa ESP32:

  1. I-plug ang imong ESP32 board sa imong computer;
  2. Sa Arduino IDE pilia ang imong board sa Tools> Board (sa among kaso gigamit namo ang ESP32 DEVKIT DOIT board);LAFVIN ESP32 Basic Starter Kit - Pag-upload sa Code
  3. Pilia ang COM port sa Tools > Port.LAFVIN ESP32 Basic Starter Kit - Tools Port
  4. Pindota ang Upload button sa Arduino IDE ug paghulat og pipila ka segundo samtang ang code mag-compile ug mag-upload sa imong board.LAFVIN ESP32 Basic Starter Kit - ICON 7
  5. Paghulat alang sa "Done uploading" nga mensahe.LAFVIN ESP32 Basic Starter Kit - Tapos na ang pag-upload 1

Pagpangita sa ESP IP Address
Human ma-upload ang code, ablihi ang Serial Monitor sa baud rate nga 115200.LAFVIN ESP32 Basic Starter Kit - ESP IP AddressPindota ang ESP32 EN button (i-reset). Ang ESP32 nagkonektar sa Wi-Fi, ug nagpagawas sa ESP IP address sa Serial Monitor. Kopyaha kana nga IP address, tungod kay kinahanglan nimo kini aron ma-access ang ESP32 web server.LAFVIN ESP32 Basic Starter Kit - web serverPag-access sa Web Server
Aron ma-access ang web server, ablihi ang imong browser, idikit ang ESP32 IP address, ug imong makita ang mosunod nga panid.
Mubo nga sulat: Ang imong browser ug ESP32 kinahanglan nga konektado sa parehas nga LAN.LAFVIN ESP32 Basic Starter Kit - Pag-access sa Web ServerKung imong tan-awon ang Serial Monitor, imong makita kung unsa ang nahitabo sa background. Ang ESP makadawat ug HTTP nga hangyo gikan sa bag-ong kliyente (sa kini nga kaso, ang imong browser).LAFVIN ESP32 Basic Starter Kit - HTTP nga hangyoMakita usab nimo ang ubang impormasyon bahin sa hangyo sa HTTP.
Demonstrasyon
Karon mahimo nimong sulayan kung ang imong web ang server nagtrabaho sa husto. I-klik ang mga buton aron makontrol ang mga LED.LAFVIN ESP32 Basic Starter Kit - backgroundSa samang higayon, mahimo nimong tan-awon ang Serial Monitor aron makita kung unsa ang nahitabo sa background. Kay example, kung imong i-klik ang buton aron ma-on ang GPIO 26, makadawat ang ESP32 og hangyo sa /26/on URL.LAFVIN ESP32 Basic Starter Kit - URLKung nadawat sa ESP32 kana nga hangyo, gipabalik niini ang LED nga gilakip sa GPIO 26 ON ug gi-update ang kahimtang niini sa web panid.LAFVIN ESP32 Basic Starter Kit - web panidAng buton para sa GPIO 27 nagtrabaho sa susamang paagi. Sulayi nga kini nagtrabaho sa husto.LAFVIN ESP32 Basic Starter Kit - nagtrabaho sa hustong paagi

Giunsa ang Paglihok sa Kodigo

Niini nga seksyon susihon pag-ayo ang code aron makita kung giunsa kini molihok.
Ang unang butang nga kinahanglan nimong buhaton mao ang paglakip sa WiFi library.LAFVIN ESP32 Basic Starter Kit - WiFi librarySama sa nahisgotan na, kinahanglan nimong isulod ang imong ssid ug password sa mosunod nga mga linya sulod sa dobleng mga kinutlo.LAFVIN ESP32 Basic Starter Kit - doble nga mga kinutloUnya, imong gitakda ang imong web server sa port 80.LAFVIN ESP32 Basic Starter Kit - web serverAng mosunod nga linya nagmugna og usa ka variable aron tipigan ang header sa HTTP nga hangyo:LAFVIN ESP32 Basic Starter Kit - HTTPrequestSunod, maghimo ka og auxiliar variables aron tipigan ang kasamtangan nga kahimtang sa imong mga output. Kung gusto nimong idugang ang daghang mga output ug i-save ang estado niini, kinahanglan nimo nga maghimo daghang mga variable.LAFVIN ESP32 Basic Starter Kit - mga variableKinahanglan mo usab nga mag-assign og GPIO sa matag usa sa imong mga output. Dinhi among gigamit ang GPIO 26 ug GPIO 27. Mahimo nimong gamiton ang bisan unsang ubang angay nga GPIO.LAFVIN ESP32 Basic Starter Kit - uban pa nga angaysetup()
Karon, adto ta sa setup(). Una, magsugod kami og serial communication sa baud rate nga 115200 para sa mga katuyoan sa pag-debug.LAFVIN ESP32 Basic Starter Kit - mga katuyoanImong gihubit usab ang imong mga GPIO isip mga OUTPUT ug gibutang kini sa LOW.LAFVIN ESP32 Basic Starter Kit - Mga GPIO isip mga OUTPUTAng mosunod nga mga linya magsugod sa koneksyon sa Wi-Fi sa WiFi.magsugod(ssid, password), maghulat alang sa malampuson nga koneksyon ug i-print ang ESP IP address sa Serial Monitor.LAFVIN ESP32 Basic Starter Kit - SerialLAFVIN ESP32 Basic Starter Kit - Serial 1loop()
Sa loop() among giprograma kung unsa ang mahitabo kung ang usa ka bag-ong kliyente nagtukod usa ka koneksyon sa web server.
Ang ESP32 kanunay nga naminaw alang sa umaabot nga mga kliyente nga adunay mosunod nga linya:LAFVIN ESP32 Basic Starter Kit - loopKung ang usa ka hangyo madawat gikan sa usa ka kliyente, among i-save ang umaabot nga datos. Ang while loop nga mosunod magdagan basta ang kliyente magpabilin nga konektado. Dili namo girekomenda nga usbon ang mosunod nga bahin sa code gawas kung nahibal-an nimo kung unsa ang imong gibuhat.LAFVIN ESP32 Basic Starter Kit - eksaktoLAFVIN ESP32 Basic Starter Kit - eksakto 1LAFVIN ESP32 Basic Starter Kit - eksakto 2Ang sunod nga seksyon sa kung ug uban pa nga mga pahayag nagsusi kung unsang buton ang gipugos sa imong web panid, ug gikontrol ang mga output sumala niana. Sama sa among nakita kaniadto, naghimo kami usa ka hangyo sa lainlain URLs depende sa buton nga gipugos.LAFVIN ESP32 Basic Starter Kit - gipugos ang butonLAFVIN ESP32 Basic Starter Kit - gipindot ang buton 1Kay example, kung imong gipugos ang GPIO 26 ON nga buton, ang ESP32 makadawat og hangyo sa /26/ON URL (atong makita nga kana nga impormasyon sa HTTP header sa Serial Monitor). Busa, atong masusi kon ang header naglangkob sa ekspresyong GET /26/on. Kon kini naglangkob, atong usbon ang output26state variable ngadto sa ON, ug ang ESP32 turns sa LED sa.
Parehas kini nga molihok alang sa ubang mga buton. Busa, kung gusto nimong idugang ang mga output, kinahanglan nimo nga usbon kini nga bahin sa code aron maapil sila.
Pagpakita sa HTML web panid
Ang sunod nga butang nga kinahanglan nimong buhaton, mao ang paghimo sa web panid. Ang ESP32 magpadala usa ka tubag sa imong browser nga adunay pipila ka HTML code aron matukod ang web panid.
Ang web Ang panid gipadala ngadto sa kliyente gamit kining nagpahayag nga kliyente.println(). Kinahanglan nimong isulod ang gusto nimong ipadala sa kliyente isip argumento.
Ang unang butang nga atong ipadala mao ang kanunay nga mosunod nga linya, nga nagpakita nga kita nagpadala sa HTML.LAFVIN ESP32 Basic Starter Kit - pagpadala sa HTMLDayon, ang mosunod nga linya naghimo sa web tubag sa panid sa bisan unsang web browser.LAFVIN ESP32 Basic Starter Kit - web browserUg ang mosunod gigamit aron mapugngan ang mga hangyo sa favicon. – Dili nimo kinahanglan mabalaka bahin niini nga linya.LAFVIN ESP32 Basic Starter Kit - kliyente.println

Pag-istilo sa Web Panid

Sunod, aduna kitay pipila ka teksto sa CSS aron i-estilo ang mga buton ug ang web dagway sa panid.
Gipili namo ang font nga Helvetica, gihubit ang sulud nga ipakita ingon usa ka bloke ug gilinya sa tunga.LAFVIN ESP32 Basic Starter Kit - Pag-istilo sa Web PanidGi-istilo namo ang among mga butones sa kolor nga #4CAF50, walay utlanan, teksto sa puti nga kolor, ug uban niini nga padding: 16px 40px. Gibutang usab namo ang text-decoration sa wala, ipasabut ang gidak-on sa font, ang margin, ug ang cursor sa usa ka pointer.LAFVIN ESP32 Basic Starter Kit - pointerGihubit usab namo ang estilo alang sa ikaduha nga buton, uban ang tanang kabtangan sa buton nga among gihubit sa sayo pa, apan adunay lahi nga kolor. Kini ang istilo sa off button.LAFVIN ESP32 Basic Starter Kit - kliyente.println 1

Pagtakda sa Web Unang Ulo sa Panid
Sa sunod nga linya mahimo nimong itakda ang una nga ulohan sa imong web panid. Ania kami adunay "ESP32 Web Server", apan mahimo nimong usbon kini nga teksto sa bisan unsang gusto nimo.LAFVIN ESP32 Basic Starter Kit - Web Ulo sa PanidPagpakita sa mga Butang ug Katugbang nga Estado
Dayon, magsulat ka og parapo aron ipakita ang GPIO 26 nga kasamtangang kahimtang. Sama sa imong makita nga among gigamit ang output26State variable, aron ang estado mag-update dayon kung kini nga variable mausab.LAFVIN ESP32 Basic Starter Kit - lainlain nga mga pagbag-oDayon, ipakita namo ang on o ang off button, depende sa kasamtangang kahimtang sa GPIO. Kung ang kasamtangan nga kahimtang sa GPIO wala, among gipakita ang ON button, kung dili, among gipakita ang OFF button.LAFVIN ESP32 Basic Starter Kit - ipakita ang OFF buttonGigamit namon ang parehas nga pamaagi alang sa GPIO 27.
Pagsira sa Koneksyon
Sa katapusan, sa diha nga ang tubag matapos, atong limpyohan ang header variable, ug ihunong ang koneksyon sa kliyente uban sa client.stop().LAFVIN ESP32 Basic Starter Kit - Pagsira sa Koneksyon

Pagputos

Sa kini nga panudlo gipakita namon kanimo kung giunsa paghimo ang usa ka web server nga adunay ESP32. Gipakita namo kanimo ang usa ka yano nga example nga nagkontrol sa duha ka mga LED, apan ang ideya mao ang pag-ilis sa mga LED nga adunay usa ka relay, o bisan unsa nga output nga gusto nimong kontrolon.

Proyekto 6 RGB LED Web Server

Niini nga proyekto ipakita namo kanimo kung unsaon pagkontrol sa layo ang RGB LED gamit ang ESP32 board gamit ang a web server nga adunay color picker.
Natapos ang Projectview
Sa dili pa magsugod, tan-awon nato kung giunsa kini nga proyekto:LAFVIN ESP32 Basic Starter Kit - Natapos ang Proyektoview

  • Ang ESP32 web Nagpakita ang server og color picker.
  • Kung gipili nimo ang usa ka kolor, ang imong browser naghangyo sa usa ka URL nga adunay mga parameter nga R, G, ug B sa gipili nga kolor.
  • Gidawat sa imong ESP32 ang hangyo ug gibahin ang kantidad alang sa matag parameter sa kolor.
  • Dayon, nagpadala kini og PWM signal nga adunay katumbas nga bili sa mga GPIO nga nagkontrolar sa RGB LED.

Giunsa pagtrabaho ang RGB LEDs?
Sa usa ka komon nga cathode RGB LED, ang tanan nga tulo ka mga LED adunay negatibo nga koneksyon (cathode).LAFVIN ESP32 Basic Starter Kit - Nagtrabaho ang mga RGB LEDGiunsa paghimo ang lainlaing mga kolor?
Sa usa ka RGB LED mahimo nimo, siyempre, makahimo og pula, berde, ug asul nga kahayag, ug pinaagi sa pag-configure sa intensity sa matag LED, makahimo ka usab og ubang mga kolor.
Kay exampug, aron makahimo og puro asul nga kahayag, imong ibutang ang asul nga LED sa pinakataas nga intensity ug ang berde ug pula nga mga LED sa pinakaubos nga intensity. Alang sa puti nga kahayag, imong ibutang ang tanang tulo ka LED sa pinakataas nga intensity.
Pagsagol sa mga kolor
Aron makahimo og uban nga mga kolor, mahimo nimong ikombinar ang tulo ka mga kolor sa lain-laing mga intensidad. Sa pag-adjust sa intensity sa matag LED mahimo nimong gamiton ang PWM signal.
Tungod kay ang mga LED duol kaayo sa usag usa, ang atong mga mata makakita sa resulta sa kombinasyon sa mga kolor, kay sa tulo ka mga kolor nga tagsa-tagsa.
Aron adunay ideya kon unsaon paghiusa ang mga kolor, tan-awa ang mosunod nga tsart.
Kini ang pinakasimple nga tsart sa pagsagol sa kolor, apan naghatag kanimo usa ka ideya kung giunsa kini molihok ug kung giunsa paghimo ang lainlaing mga kolor.LAFVIN ESP32 Basic Starter Kit - lain-laing mga kolorMga Parte nga Gikinahanglan
Alang niini nga proyekto kinahanglan nimo ang mosunod nga mga bahin:

  • ESP32 DEVKIT V1 Board
  • RGB LED
  • 3x 220 ohm resistors
  • Mga wire sa jumper
  • Breadboard

Usa ka eskematikoLAFVIN ESP32 Basic Starter Kit - SchematicKodigo
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install nimo ang ESP32 add-on sa dili pa mopadayon: (Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)

  • Pag-instalar sa ESP32 Add-on sa Arduino IDE

Human sa pag-assemble sa sirkito, Ablihi ang code
Project_6_RGB_LED_Web_Server.ino sa arduino IDE.
Sa dili pa i-upload ang code, ayaw kalimti ang pagsulod sa imong mga kredensyal sa network aron ang ESP makakonekta sa imong lokal nga network.LAFVIN ESP32 Basic Starter Kit - lokal nga networkGiunsa ang pagtrabaho sa code
Ang ESP32 sketch naggamit sa WiFi.h library.LAFVIN ESP32 Basic Starter Kit - WiFi.h libraryAng mosunod nga mga linya naghubit sa mga baryable sa string aron huptan ang R, G, ug B nga mga parameter gikan sa hangyo.LAFVIN ESP32 Basic Starter Kit - String redStringAng sunod nga upat ka mga variable gigamit sa pag-decode sa HTTP nga hangyo sa ulahi.LAFVIN ESP32 Basic Starter Kit - HTTP nga hangyoPaghimo og tulo ka mga baryable alang sa mga GPIO nga mokontrol sa strip R, G, ug B nga mga parameter. Sa kini nga kaso gigamit namon ang GPIO 13, GPIO 12, ug GPIO 14.LAFVIN ESP32 Basic Starter Kit - Kinahanglan sa mga GPIOKini nga mga GPIO kinahanglan nga mag-output sa mga signal sa PWM, mao nga kinahanglan naton nga i-configure una ang mga kabtangan sa PWM. Ibutang ang PWM signal frequency sa 5000 Hz. Dayon, i-associate ang PWM channel para sa matag kolorLAFVIN ESP32 Basic Starter Kit - matag kolorUg sa katapusan, ibutang ang resolusyon sa PWM channels sa 8-bitLAFVIN ESP32 Basic Starter Kit - PWM channelsSa setup(), i-assign ang PWM properties sa PWM channelsLAFVIN ESP32 Basic Starter Kit - PWM channelsIlakip ang mga PWM channel sa katugbang nga mga GPIOLAFVIN ESP32 Basic Starter Kit - katugbang nga mga GPIOAng mosunod nga seksyon sa code nagpakita sa color picker sa imong web panid ug maghimo usa ka hangyo base sa kolor nga imong gipili.LAFVIN ESP32 Basic Starter Kit - gipiliLAFVIN ESP32 Basic Starter Kit - kliyente.printlnLAFVIN ESP32 Basic Starter Kit - kliyente.println 1Kung mopili ka og kolor, makadawat ka og hangyo nga adunay mosunod nga pormat.LAFVIN ESP32 Basic Starter Kit - mosunod nga format

Busa, kinahanglan natong bahinon kini nga hilo aron makuha ang R, G, ug B nga mga parameter. Ang mga parameter gitipigan sa redString, greenString, ug blueString nga mga variable ug mahimong adunay mga kantidad tali sa 0 ug 255.LAFVIN ESP32 Basic Starter Kit - headerLAFVIN ESP32 Basic Starter Kit - header 1Aron makontrol ang strip gamit ang ESP32, gamita ang ledcWrite() function aron makamugna og PWM signal nga adunay mga value nga gi-decode gikan sa HTTP hangyo.LAFVIN ESP32 Basic Starter Kit - HTTP nga hangyo 1Mubo nga sulat: pagkat-on og dugang mahitungod sa PWM uban sa ESP32: Project 3 ESP32 PWM(Analog Output)
Aron makontrol ang strip gamit ang ESP8266, kinahanglan ra naton gamiton
ang analogWrite() function aron makamugna og PWM signal nga adunay mga value nga gi-decode gikan sa HTPP request.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Tungod kay makuha namon ang mga kantidad sa usa ka variable nga string, kinahanglan namon nga i-convert kini sa mga integer gamit ang toInt () nga pamaagi.
Demonstrasyon
Human sa pagsal-ot sa imong network credentials, pilia ang husto nga board ug COM port ug i-upload ang code sa imong ESP32. Pag-upload sa mga lakang sa reference sa code.
Human ma-upload, ablihi ang Serial Monitor sa baud rate nga 115200 ug pindota ang ESP Enable/Reset button. Kinahanglan nimo makuha ang board IP address.LAFVIN ESP32 Basic Starter Kit - parehas nga LANAblihi ang imong browser ug isulod ang ESP IP address. Karon, gamita ang color picker aron makapili og kolor para sa RGB LED.
Unya, kinahanglan nimo nga i-press ang "Change Color" nga buton aron ang kolor moepekto.LAFVIN ESP32 Basic Starter Kit - RGB LEDAron mapalong ang RGB LED, pilia ang itom nga kolor.
Ang pinakalig-on nga mga kolor (sa ibabaw sa tigpili sa kolor), mao ang makapatunghag mas maayong resulta.LAFVIN ESP32 Basic Starter Kit - mas maayo nga mga resulta

Proyekto 7 ESP32 Relay Web Server

Ang paggamit sa usa ka relay nga adunay ESP32 usa ka maayong paagi aron makontrol ang mga gamit sa balay sa AC sa layo. Kini nga panudlo nagpatin-aw kung giunsa pagkontrol ang usa ka module sa relay gamit ang ESP32.
Atong tan-awon kung giunsa ang usa ka relay module molihok, kung giunsa ang pagkonektar sa relay sa ESP32 ug paghimo usa ka web server aron makontrol ang usa ka relay sa layo.
Pagpaila sa mga Relay
Ang relay kay usa ka electrically operated switch ug sama sa bisan unsa nga switch, kini mahimong i-on o i-off, pasagdan ang kasamtangan nga moagi o dili. Mahimo kini makontrol sa ubos nga voltages, sama sa 3.3V nga gihatag sa ESP32 GPIOs ug nagtugot kanamo sa pagkontrolar sa taas nga vol.tagsama sa 12V, 24V o mains voltage (230V sa Europe ug 120V sa US).LAFVIN ESP32 Basic Starter Kit - Pagpaila sa mga RelaySa wala nga bahin, adunay duha ka set sa tulo ka mga socket aron makonektar ang taas nga voltages, ug ang mga pin sa tuo nga bahin (low-voltage) pagkonektar sa ESP32 GPIOs.
Mains Voltage Mga koneksyonLAFVIN ESP32 Basic Starter Kit - Mains Voltage Mga koneksyonAng relay module nga gipakita sa miaging litrato adunay duha ka connector, matag usa adunay tulo ka socket: common (COM), Normally Closed (NC), ug Normally Open (NO).

  • COM: ikonektar ang kasamtangan nga gusto nimong kontrolon (mains voltagug).
  • NC (Normally Closed): ang kasagarang sirado nga configuration gigamit kung gusto nimo nga sirado ang relay pinaagi sa default. Ang NC kay COM pins ang konektado, nagpasabot nga ang kasamtangan nag-agos gawas kung magpadala ka og signal gikan sa ESP32 ngadto sa relay module aron maablihan ang sirkito ug ihunong ang kasamtangan nga dagan.
  • WALA (Normally Open): ang kasagarang bukas nga configuration molihok sa laing paagi: walay koneksyon tali sa NO ug COM nga mga pin, mao nga ang sirkito mabuak gawas kung magpadala ka og signal gikan sa ESP32 aron isira ang circuit.

Control PinsLAFVIN ESP32 Basic Starter Kit - Control PinsAng ubos nga voltage kilid adunay usa ka set sa upat ka mga lagdok ug usa ka set sa tulo ka mga lagdok. Ang una nga set naglangkob sa VCC ug GND aron ma-power up ang module, ug input 1 (IN1) ug input 2 (IN2) aron makontrol ang ubos ug taas nga mga relay, matag usa.
Kung ang imong relay module adunay usa lang ka channel, aduna kay usa ka IN pin. Kung ikaw adunay upat ka mga channel, ikaw adunay upat ka IN pin, ug uban pa.
Ang signal nga imong ipadala ngadto sa IN pins, motino kon ang relay aktibo o dili. Ang relay ma-trigger kung ang input moubos sa mga 2V. Kini nagpasabot nga aduna kay mosunod nga mga senaryo:

  • Kasagaran Closed configuration (NC):
  • TAAS nga signal - nag-agay ang kasamtangan
  • UBOS nga signal - ang kasamtangan wala nagaagay
  • Kasagaran Open configuration (NO):
  • TAAS nga signal - ang kasamtangan wala nagaagay
  • LOW signal – kasamtangan nga nagaagay

Kinahanglan nimong gamiton ang usa ka kasagarang sirado nga configuration kung ang sulog kinahanglan nga nag-agay sa kadaghanan sa mga panahon, ug gusto nimo nga hunongon kini panagsa.
Gamita ang usa ka kasagarang bukas nga configuration kung gusto nimo nga ang kasamtangan nga modagayday usahay (alang sa example, i-on ang alamp usahay).
Pagpili sa Power SupplyLAFVIN ESP32 Basic Starter Kit - Pagpili sa Power SupplyAng ikaduhang set sa mga pin naglangkob sa GND, VCC, ug JD-VCC nga mga pin.
Ang JD-VCC pin nagpalihok sa electromagnet sa relay. Matikdi nga ang module adunay jumper cap nga nagkonektar sa VCC ug JD-VCC pin; ang gipakita dinhi kay dilaw, pero ang imoha mahimong lahi nga kolor.
Uban sa jumper cap sa, ang VCC ug JD-VCC pin konektado. Kana nagpasabut nga ang relay electromagnet direkta nga gipaandar gikan sa ESP32 power pin, mao nga ang relay module ug ang ESP32 nga mga sirkito dili pisikal nga nahimulag sa usag usa.
Kung wala ang cap sa jumper, kinahanglan nimo nga maghatag usa ka independente nga gigikanan sa kuryente aron ma-power up ang electromagnet sa relay pinaagi sa JD-VCC pin. Kana nga configuration pisikal nga naglain sa mga relay gikan sa ESP32 gamit ang built-in nga optocoupler sa module, nga makapugong sa kadaot sa ESP32 kung adunay mga electrical spike.
Usa ka eskematikoLAFVIN ESP32 Basic Starter Kit - SchematicPasidaan: Paggamit sa taas nga voltagAng mga suplay sa kuryente mahimong hinungdan sa grabe nga kadaot.
Busa, 5mm LEDs gigamit imbes sa taas nga suplay voltage bulbs sa eksperimento. Kung dili ka pamilyar sa mains voltagPangutan-a ang usa nga makatabang kanimo. Samtang ang pagprograma sa ESP o pag-wire sa imong sirkito siguroha nga ang tanan nadiskonekta gikan sa mains voltage.LAFVIN ESP32 Basic Starter Kit - mains voltagePag-instalar sa Library alang sa ESP32
Sa pagtukod niini web server, gigamit namo ang ESPAsyncWebServer library ug AsyncTCP Library.
Pag-instalar sa ESPAsyncWeblibrarya sa server
Sunda ang sunod nga mga lakang aron ma-install ang ESPAsyncWebServer librarya:

  1. Pag-klik dinhi aron ma-download ang ESPAsyncWeblibrarya sa server. Kinahanglan nimo
    usa ka .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nimo nga makuha ang ESPAsyncWebServer-master folder
  3. Usba ang ngalan sa imong folder gikan sa ESPAsyncWebServer-master sa ESPAsyncWebServer
  4. Ibalhin ang ESPAsyncWebServer folder sa imong Arduino IDE installation library folder

Sa laing bahin, sa imong Arduino IDE, mahimo kang moadto sa Sketch> Ilakip
Library > Idugang ang .ZIP library… ug pilia ang library nga bag-o lang nimo na-download.
Pag-instalar sa AsyncTCP Library alang sa ESP32
Ang ESPAsyncWebServer ang librarya nagkinahanglan sa AsyncTCP library aron magtrabaho. Sunda
ang sunod nga mga lakang aron ma-install kana nga librarya:

  1. Pag-klik dinhi aron ma-download ang librarya sa AsyncTCP. Kinahanglan nga aduna kay .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nimo nga makuha ang AsyncTCP-master folder
    1. Usba ang ngalan sa imong folder gikan sa AsyncTCP-master ngadto sa AsyncTCP
    3. Ibalhin ang AsyncTCP folder sa imong Arduino IDE installation libraries folder
    4. Sa katapusan, ablihi pag-usab ang imong Arduino IDE

Sa laing bahin, sa imong Arduino IDE, mahimo kang moadto sa Sketch> Ilakip
Library > Idugang ang .ZIP library… ug pilia ang library nga bag-o lang nimo na-download.
Kodigo
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install nimo ang ESP32 add-on sa dili pa mopadayon: (Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Human ma-install ang gikinahanglan nga mga librarya, Ablihi ang code Project_7_ESP32_Relay_Web_Server.ino sa arduino IDE.
Sa dili pa i-upload ang code, ayaw kalimti ang pagsulod sa imong mga kredensyal sa network aron ang ESP makakonekta sa imong lokal nga network.LAFVIN ESP32 Basic Starter Kit - ocal networkDemonstrasyon
Human sa paghimo sa gikinahanglan nga mga kausaban, upload sa code sa imong ESP32.Upload code reference lakang.
Ablihi ang Serial Monitor sa baud rate nga 115200 ug pindota ang ESP32 EN button para makuha ang IP address niini.Dayon, ablihi ang browser sa imong lokal nga network ug i-type ang ESP32 IP address aron makakuha og access sa web server.
Ablihi ang Serial Monitor sa baud rate nga 115200 ug pindota ang ESP32 EN button para makuha ang IP address niini.Dayon, ablihi ang browser sa imong lokal nga network ug i-type ang ESP32 IP address aron makakuha og access sa web server.LAFVIN ESP32 Basic Starter Kit - web serverMubo nga sulat: Ang imong browser ug ESP32 kinahanglan nga konektado sa parehas nga LAN.
Kinahanglan ka nga makakuha og usa ka butang sama sa mosunod nga adunay duha ka mga buton sama sa gidaghanon sa mga relay nga imong gihubit sa imong code.LAFVIN ESP32 Basic Starter Kit - smartphoneKaron, mahimo nimong gamiton ang mga buton aron makontrol ang imong mga relay gamit ang imong smartphone.LAFVIN ESP32 Basic Starter Kit - smartphone 1

Project_8_Output_State_Synchronization_ Web_Server

Kini nga Proyekto nagpakita kung unsaon pagkontrol sa ESP32 o ESP8266 nga mga output gamit ang a web server ug usa ka pisikal nga buton nga dungan. Ang kahimtang sa output gi-update sa web panid kon kini giusab pinaagi sa pisikal nga buton o web server.
Natapos ang Projectview
Atong tan-awon dayon kung giunsa ang proyekto.LAFVIN ESP32 Basic Starter Kit - Natapos ang ProyektoviewAng ESP32 o ESP8266 nag-host a web server nga nagtugot kanimo sa pagkontrolar sa kahimtang sa usa ka output;

  • Ang kasamtangan nga kahimtang sa output gipakita sa web server;
  • Ang ESP konektado usab sa usa ka pisikal nga pushbutton nga nagkontrol sa parehas nga output;
  • Kung imong usbon ang kahimtang sa output gamit ang pisikal nga puhsbutton, ang kasamtangan nga kahimtang niini gi-update usab sa web server.

Sa katingbanan, kini nga proyekto nagtugot kanimo sa pagkontrol sa parehas nga output gamit ang a web server ug usa ka push button dungan. Sa matag higayon nga ang output nga estado mausab, ang web gi-update ang server.
Mga Parte nga Gikinahanglan
Ania ang usa ka lista sa mga bahin nga kinahanglan nimo aron matukod ang circuit:

  • ESP32 DEVKIT V1 Board
  • 5mm nga LED
  • 220 Ohm nga resistor
  • Pushbutton
  • 10k Ohm resistor
  • Breadboard
  • Mga wire sa jumper

Usa ka eskematikoLAFVIN ESP32 Basic Starter Kit - Schematic 1Pag-instalar sa Library alang sa ESP32
Sa pagtukod niini web server, gigamit namo ang ESPAsyncWebServer library ug AsyncTCP Library.(Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESPAsyncWeblibrarya sa server
Sunda ang sunod nga mga lakang aron ma-install ang ESPAsyncWeblibrarya sa server:

  1. Pag-klik dinhi aron ma-download ang ESPAsyncWeblibrarya sa server. Kinahanglan nimo
    usa ka .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nimo nga makuha ang ESPAsyncWebServer-master folder
  3. Usba ang ngalan sa imong folder gikan sa ESPAsyncWebServer-master sa ESPAsyncWebServer
  4. Ibalhin ang ESPAsyncWebServer folder sa imong Arduino IDE installation library folder
    Sa laing bahin, sa imong Arduino IDE, mahimo kang moadto sa Sketch> Ilakip
    Library > Idugang ang .ZIP library… ug pilia ang library nga bag-o lang nimo na-download.

Pag-instalar sa AsyncTCP Library alang sa ESP32
Ang ESPAsyncWebAng librarya sa server nanginahanglan sa librarya sa AsyncTCP nga molihok. Sunda ang sunod nga mga lakang aron ma-install kana nga librarya:

  1. Pag-klik dinhi aron ma-download ang librarya sa AsyncTCP. Kinahanglan nga aduna kay .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nimo nga makuha ang AsyncTCP-master folder
  3. Usba ang ngalan sa imong folder gikan sa AsyncTCP-master ngadto sa AsyncTCP
  4. Ibalhin ang AsyncTCP folder sa imong Arduino IDE installation libraries folder
  5. Sa katapusan, ablihi pag-usab ang imong Arduino IDE
    Sa laing bahin, sa imong Arduino IDE, mahimo kang moadto sa Sketch> Ilakip
    Library > Idugang ang .ZIP library… ug pilia ang library nga bag-o lang nimo na-download.

Kodigo
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install nimo ang ESP32 add-on sa dili pa mopadayon: (Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Human ma-install ang gikinahanglan nga mga librarya, Ablihi ang code
Project_8_Output_State_Synchronization_Web_Server.ino sa arduino IDE.
Sa dili pa i-upload ang code, ayaw kalimti ang pagsulod sa imong mga kredensyal sa network aron ang ESP makakonekta sa imong lokal nga network.LAFVIN ESP32 Basic Starter Kit - Code

Giunsa ang Paglihok sa Kodigo

Estado sa Butang ug Estado sa Output
Ang ledState variable naghupot sa LED output state. Alang sa default, kung ang web nagsugod ang server, kini UBOS.LAFVIN ESP32 Basic Starter Kit - Mga Buhat sa Code

Ang buttonState ug lastButtonState gigamit aron mahibal-an kung ang pushbutton gipugos o wala.LAFVIN ESP32 Basic Starter Kit - gipugosButang (web server)
Wala namo giapil ang HTML aron paghimo sa buton sa index_html variable.
Kana tungod kay gusto namon nga mabag-o kini depende sa kasamtangan nga kahimtang sa LED nga mahimo usab nga usbon gamit ang pushbutton.
Busa, naghimo kami og placeholder alang sa buton %BUTTONPLACEHOLDER% nga pulihan sa HTML nga teksto aron mahimo ang buton sa ulahi sa code (kini gihimo sa processor() function).LAFVIN ESP32 Basic Starter Kit - gipugos 1processor()
Ang processor() function mopuli sa bisan unsang mga placeholder sa HTML nga teksto nga adunay aktuwal nga mga bili. Una, kini nagsusi kon ang HTML nga mga teksto adunay bisan unsa
mga placeholder %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - processorDayon, tawga ang theoutputState() function nga nagbalik sa kasamtangang output state. Gitipigan namo kini sa outputStateValue variable.LAFVIN ESP32 Basic Starter Kit - outputStatePagkahuman niana, gamita kana nga kantidad aron mahimo ang teksto sa HTML aron ipakita ang buton nga adunay husto nga kahimtang:LAFVIN ESP32 Basic Starter Kit - code 4HTTP GET Request to Change Output State (JavaScript)
Kung imong gipugos ang buton, ang toggleCheckbox() function gitawag. Kini nga function maghimo usa ka hangyo sa lainlain URLs aron i-on o i-off ang LED.LAFVIN ESP32 Basic Starter Kit - JavaScriptAron ma-on ang LED, mohimo kini og hangyo sa /update?state=1 URL:LAFVIN ESP32 Basic Starter Kit - element.checkedKung dili, naghimo kini usa ka hangyo sa /update?state=0 URL.
HTTP GET Request to Update State (JavaScript)
Aron mapadayon ang kahimtang sa output nga na-update sa web server, gitawag namo ang mosunod nga function nga naghimo og bag-ong hangyo sa / state URL matag segundo.LAFVIN ESP32 Basic Starter Kit - Pag-update sa EstadoLAFVIN ESP32 Basic Starter Kit - Pag-update sa Estado 1Pagdumala sa mga Pangayo
Unya, kinahanglan natong dumalahon kung unsa ang mahitabo kung ang ESP32 o ESP8266 makadawat mga hangyo sa mga URLs.
Kung ang usa ka hangyo madawat sa gamut /URL, among ipadala ang HTML nga panid ingon man ang processor.LAFVIN ESP32 Basic Starter Kit - Pagdumala sa mga PangayoLAFVIN ESP32 Basic Starter Kit - Pagdumala sa mga Pangayo 1Ang mosunod nga mga linya magsusi kung nakadawat ka og hangyo sa /update?state=1 o /update?state=0 URL ug usbon ang ledState sumala niana.LAFVIN ESP32 Basic Starter Kit - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamKung ang usa ka hangyo nadawat sa / estado URL, gipadala namo ang kasamtangan nga estado sa output:LAFVIN ESP32 Basic Starter Kit - kahimtang sa outputloop()
Sa loop (), among gi-debounce ang pushbutton ug i-on o i-off ang LED depende sa kantidad sa ledState variable.LAFVIN ESP32 Basic Starter Kit - loop 1Demonstrasyon
I-upload ang code sa imong ESP32 board. I-upload ang mga lakang sa reference sa code.
Dayon, ablihi ang Serial Monitor sa baud rate nga 115200. Pindota ang on-board EN/RST button aron makuha ang IP address.LAFVIN ESP32 Basic Starter Kit - DemonstrasyonAblihi ang browser sa imong lokal nga network, ug i-type ang ESP IP address. Kinahanglan nga adunay ka access sa web server sama sa gipakita sa ubos.
Mubo nga sulat: Ang imong browser ug ESP32 kinahanglan nga konektado sa parehas nga LAN.LAFVIN ESP32 Basic Starter Kit - browserMahimo nimong i-toggle ang buton sa web server aron i-on ang LED.LAFVIN ESP32 Basic Starter Kit - web server 1Mahimo usab nimo makontrol ang parehas nga LED gamit ang pisikal nga pushbutton. Ang estado niini kanunay nga awtomatikong ma-update sa web server.

Proyekto 9 ESP32 DHT11 Web Server

Sa kini nga proyekto, mahibal-an nimo kung giunsa paghimo ang usa ka asynchronous nga ESP32 web server nga adunay DHT11 nga nagpakita sa temperatura ug humidity gamit ang Arduino IDE.
Mga kinahanglanon
Ang web server magtukod kami og mga update sa mga pagbasa nga awtomatiko nga dili kinahanglan nga i-refresh ang web panid.
Uban niini nga proyekto makakat-on ka:

  • Giunsa pagbasa ang temperatura ug humidity gikan sa mga sensor sa DHT;
  • Paghimo usa ka asynchronous web server gamit ang ESPAsyncWeblibrarya sa server;
  • Awtomatikong i-update ang mga pagbasa sa sensor nga dili kinahanglan nga i-refresh ang web panid.

Asynchronous nga Web Server
Sa pagtukod sa web server among gamiton ang ESPAsyncWeblibrarya sa server nga naghatag ug sayon ​​nga paagi sa paghimo ug asynchronous web server. Pagtukod ug asynchronous web Ang server adunay daghang advantages sama sa gihisgutan sa panid sa GitHub sa librarya, sama sa:

  • "Pagdumala labaw pa sa usa ka koneksyon sa parehas nga oras";
  • "Kung ipadala nimo ang tubag, andam ka dayon sa pagdumala sa ubang mga koneksyon samtang ang server nag-atiman sa pagpadala sa tubag sa background";
  • "Simple template processing engine aron pagdumala sa mga templates";

Mga Parte nga Gikinahanglan
Aron makompleto kini nga panudlo kinahanglan nimo ang mosunod nga mga bahin:

  • ESP32 development board
  • DHT11 Module
  • Breadboard
  • Mga wire sa jumper

Usa ka eskematikoLAFVIN ESP32 Basic Starter Kit - Schematic 2Pag-instalar sa mga Librarya
Kinahanglan nimo nga mag-install og pipila ka mga librarya alang niini nga proyekto:

Pag-instalar sa DHT Sensor Library
Aron mabasa gikan sa DHT sensor gamit ang Arduino IDE, kinahanglan nimo nga i-install ang DHT sensor librarya. Sunda ang sunod nga mga lakang sa pag-instalar sa librarya.

  1. I-klik dinhi aron ma-download ang DHT Sensor library. Kinahanglan nga aduna kay .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nga imong makuha ang DHT-sensor-library-master folder
  3. Usba ang ngalan sa imong folder gikan sa DHT-sensor-library-master ngadto sa DHT_sensor
  4. Ibalhin ang DHT_sensor folder sa imong Arduino IDE installation library folder
  5. Sa katapusan, ablihi pag-usab ang imong Arduino IDE

Pag-instalar sa Adafruit Unified Sensor Driver
Kinahanglan mo usab nga i-install ang librarya sa Adafruit Unified Sensor Driver sa pagtrabaho uban sa DHT sensor. Sunda ang sunod nga mga lakang sa pag-instalar sa librarya.

  1. Pag-klik dinhi aron ma-download ang librarya sa Adafruit Unified Sensor. Kinahanglan nga aduna kay .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nimo nga makuha ang Adafruit_sensor-master folder
  3. Usba ang ngalan sa imong folder gikan sa Adafruit_sensor-master ngadto sa Adafruit_sensor
  4. Ibalhin ang Adafruit_sensor folder sa imong Arduino IDE installation libraries folder
  5. Sa katapusan, ablihi pag-usab ang imong Arduino IDE

Pag-instalar sa ESPAsyncWeblibrarya sa server

Sunda ang sunod nga mga lakang aron ma-install ang ESPAsyncWebServer librarya:

  1. Pag-klik dinhi aron ma-download ang ESPAsyncWeblibrarya sa server. Kinahanglan nimo
    usa ka .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nimo
    kuhaa ang ESPAsyncWebServer-master folder
  3. Usba ang ngalan sa imong folder gikan sa ESPAsyncWebServer-master sa ESPAsyncWebServer
  4. Ibalhin ang ESPAsyncWebServer folder sa imong Arduino IDE installation library folder

Pag-instalar sa Async TCP Library alang sa ESP32
Ang ESPAsyncWebServer ang librarya nagkinahanglan sa AsyncTCP library aron magtrabaho. Sunda ang sunod nga mga lakang aron ma-install kana nga librarya:

  1. Pag-klik dinhi aron ma-download ang librarya sa AsyncTCP. Kinahanglan nga aduna kay .zip folder sa imong Downloads folder
  2. Unzip ang .zip folder ug kinahanglan nimo nga makuha ang AsyncTCP-master folder
  3. Usba ang ngalan sa imong folder gikan sa AsyncTCP-master ngadto sa AsyncTCP
  4. Ibalhin ang AsyncTCP folder sa imong Arduino IDE installation libraries folder
  5. Sa katapusan, ablihi pag-usab ang imong Arduino IDE

Kodigo
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install nimo ang ESP32 add-on sa dili pa mopadayon: (Kung nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDE
Human ma-install ang gikinahanglan nga mga librarya, Ablihi ang code
Project_9_ESP32_DHT11_Web_Server.ino sa arduino IDE.
Sa dili pa i-upload ang code, ayaw kalimti ang pagsulod sa imong mga kredensyal sa network aron ang ESP makakonekta sa imong lokal nga network.LAFVIN ESP32 Basic Starter Kit - CodeGiunsa ang Paglihok sa Kodigo
Sa mosunod nga mga parapo atong ipasabut kung giunsa ang paglihok sa code. Padayon sa pagbasa kung gusto nimo mahibal-an ang dugang o ambak sa seksyon sa Demonstrasyon aron makita ang katapusan nga resulta.
Pag-import sa mga librarya
Una, import ang gikinahanglan nga mga librarya. Ang WiFi, ESPAsyncWebAng server ug ang ESPAsyncTCP gikinahanglan aron matukod ang web server. Ang Adafruit_Sensor ug ang DHT nga mga librarya gikinahanglan aron makabasa gikan sa DHT11 o DHT22 sensors.LAFVIN ESP32 Basic Starter Kit - Pag-import sa mga libraryaLAFVIN ESP32 Basic Starter Kit - Giunsa Paglihok ang CodeDepinisyon sa mga variable
Ipasabot ang GPIO diin konektado ang DHT data pin. Sa kini nga kaso, kini konektado sa GPIO 4.LAFVIN ESP32 Basic Starter Kit - Depinisyon sa mga variableUnya, pilia ang tipo sa sensor sa DHT nga imong gigamit. Sa among example, gigamit namo ang DHT22. Kung naggamit ka ug lain nga tipo, kinahanglan nimo nga i-uncomment ang imong sensor ug ikomento ang tanan nga uban pa.LAFVIN ESP32 Basic Starter Kit - Kahulugan sa mga variable 1

I-instantiate ang usa ka butang nga DHT gamit ang tipo ug pin nga among gihubit sa sayo pa.LAFVIN ESP32 Basic Starter Kit - Kahulugan sa mga variable 2Paghimo og AsyncWebAng butang sa server sa port 80.LAFVIN ESP32 Basic Starter Kit - Kahulugan sa mga variable 3Basaha ang Temperatura ug Humidity Function
Naghimo kami og duha ka mga gimbuhaton: ang usa sa pagbasa sa temperatura Naghimo kami og duha ka mga gimbuhaton: ang usa sa pagbasa sa temperatura (readDHTTemperature()) ug ang usa sa pagbasa sa humidity (readDHTHumidity()).LAFVIN ESP32 Basic Starter Kit - basaha angDHTHumidityLAFVIN ESP32 Basic Starter Kit - mga pagbasa sa sensorAng pagkuha sa mga pagbasa sa sensor kay yano sama sa paggamit Ang pagkuha sa mga pagbasa sa sensor kay yano ra sama sa paggamit sa readTemperature() ug readHumidity() nga mga pamaagi sa dht object.LAFVIN ESP32 Basic Starter Kit - butangAdunay usab kami usa ka kondisyon nga nagbalik sa duha ka dash (-) kung ang sensor mapakyas sa pagkuha sa mga pagbasa.LAFVIN ESP32 Basic Starter Kit - mga pagbasaAng mga pagbasa gibalik isip klase sa string. Aron ma-convert ang float ngadto sa string, gamita ang String() functionLAFVIN ESP32 Basic Starter Kit - StringSa kasagaran, among gibasa ang temperatura sa Celsius degrees. Aron makuha ang temperatura sa Fahrenheit degrees, ikomento ang temperatura sa Celsius ug i-uncomment ang temperatura sa Fahrenheit, aron ikaw adunay mosunod:LAFVIN ESP32 Basic Starter Kit - FahrenheitLAFVIN ESP32 Basic Starter Kit - Fahrenheit 1I-upload ang Code
Karon, i-upload ang code sa imong ESP32. Siguruha nga naa nimo ang husto nga board ug COM port nga gipili. I-upload ang mga lakang sa reference sa code.
Human sa pag-upload, ablihi ang Serial Monitor sa baud rate nga 115200. Pindota ang ESP32 reset button. Ang ESP32 IP address kinahanglang i-print sa serial monitor.LAFVIN ESP32 Basic Starter Kit - I-upload ang CodeDemonstrasyon
Ablihi ang usa ka browser ug i-type ang ESP32 IP address. Ang imong web kinahanglan ipakita sa server ang pinakabag-o nga pagbasa sa sensor.
Mubo nga sulat: Ang imong browser ug ESP32 kinahanglan nga konektado sa parehas nga LAN.
Matikdi nga ang mga pagbasa sa temperatura ug humidity awtomatik nga gi-update nga dili kinahanglan nga i-refresh ang web panid.LAFVIN ESP32 Basic Starter Kit - Demonstrasyon 1

Project_10_ESP32_OLED_Display

Kini nga proyekto nagpakita kung giunsa paggamit ang 0.96 pulgada nga SSD1306 OLED nga display nga adunay ESP32 gamit ang Arduino IDE.
Gipaila ang 0.96 pulgada nga OLED Display
Ang OLED nga display nga atong gamiton niini nga tutorial mao ang SSD1306 nga modelo: usa ka monocolor, 0.96 pulgada nga display nga adunay 128 × 64 pixels sama sa gipakita sa mosunod nga numero.LAFVIN ESP32 Basic Starter Kit - OLEDDisplayAng OLED display wala magkinahanglan og backlight, nga moresulta sa usa ka nindot kaayo nga kalainan sa ngitngit nga mga palibot. Dugang pa, ang mga pixel niini mokonsumo sa enerhiya lamang kung kini anaa, mao nga ang OLED display naggamit og gamay nga gahum kon itandi sa ubang mga display.
Tungod kay ang OLED display naggamit sa I2C communication protocol, ang mga wiring kay simple ra kaayo. Mahimo nimong gamiton ang mosunod nga lamesa isip usa ka pakisayran.

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

Usa ka eskematikoLAFVIN ESP32 Basic Starter Kit - SchematicPag-instalar sa SSD1306 OLED Library - ESP32
Adunay daghang mga librarya nga magamit aron makontrol ang OLED display gamit ang ESP32.
Niini nga panudlo mogamit kami og duha ka librarya sa Adafruit: Adafruit_SSD1306 librarya ug librarya sa Adafruit_GFX.
Sunda ang sunod nga mga lakang aron ma-install ang mga librarya.

  1. Ablihi ang imong Arduino IDE ug adto sa Sketch> Include Library> Manage Libraries. Kinahanglang ablihan ang Library Manager.
  2. I-type ang "SSD1306" sa search box ug i-install ang SSD1306 library gikan sa Adafruit.LAFVIN ESP32 Basic Starter Kit - OLEDLibrary–
  3. Human ma-install ang SSD1306 library gikan sa Adafruit, i-type ang "GFX" sa search box ug i-install ang library.LAFVIN ESP32 Basic Starter Kit - librarya
  4. Human ma-install ang mga librarya, i-restart ang imong Arduino IDE.

Kodigo
Human ma-install ang gikinahanglan nga mga librarya, Ablihi ang Project_10_ESP32_OLED_Display.ino sa arduino IDE. kodigo
Iprograma namo ang ESP32 gamit ang Arduino IDE, busa siguroa nga na-install na nimo ang ESP32 add-on sa dili pa mopadayon: (Kon nahimo na nimo kini nga lakang, mahimo nimong laktawan ang sunod nga lakang.)
Pag-instalar sa ESP32 Add-on sa Arduino IDELAFVIN ESP32 Basic Starter Kit - Code 1LAFVIN ESP32 Basic Starter Kit - Code 2LAFVIN ESP32 Basic Starter Kit - Code 3Giunsa ang Paglihok sa Kodigo
Pag-import sa mga librarya
Una, kinahanglan nimo nga i-import ang gikinahanglan nga mga librarya. Ang Wire library aron magamit ang I2C ug ang Adafruit nga mga librarya sa pagsulat sa display: Adafruit_GFX ug Adafruit_SSD1306.LAFVIN ESP32 Basic Starter Kit - Mga Buhat sa Code 1LAFVIN ESP32 Basic Starter Kit - Mga Buhat sa Code 2Pagsugod sa OLED display
Unya, imong gihubit ang imong OLED gilapdon ug gitas-on. Niining exampUg, naggamit kami usa ka 128 × 64 nga OLED nga display. Kung naggamit ka ug lain nga mga gidak-on, mahimo nimong usbon kana sa SCREEN_WIDTH, ug SCREEN_HEIGHT nga mga variable.LAFVIN ESP32 Basic Starter Kit - OLED displayDayon, pagsugod ug display nga butang nga adunay gilapdon ug gitas-on nga gihubit sa sayo pa gamit ang I2C communication protocol (&Wire).LAFVIN ESP32 Basic Starter Kit - protocol sa komunikasyonAng (-1) parameter nagpasabot nga ang imong OLED display walay RESET pin. Kung ang imong OLED display adunay RESET pin, kini kinahanglan nga konektado sa usa ka GPIO. Niana nga kahimtang, kinahanglan nimong ipasa ang numero sa GPIO ingon usa ka parameter.
Sa setup(), sugdan ang Serial Monitor sa usa ka baud raute sa 115200 alang sa mga katuyoan sa pag-debug.LAFVIN ESP32 Basic Starter Kit - mga katuyoanPagsugod sa OLED display gamit ang begin() nga pamaagi sama sa mosunod:LAFVIN ESP32 Basic Starter Kit - display.beginLAFVIN ESP32 Basic Starter Kit - Serial.printlnKini nga snippet nag-imprinta usab og mensahe sa Serial Monitor, kung dili kami makakonektar sa display.

LAFVIN ESP32 Basic Starter Kit - Serial.println 1Kung mogamit ka ug lahi nga OLED nga display, kinahanglan nimo nga usbon ang OLED nga adres. Sa among kaso, ang adres kay 0x3C.LAFVIN ESP32 Basic Starter Kit - adresHuman sa pagsugod sa display, pagdugang og duha ka segundo nga paglangan, aron ang OLED adunay igong panahon sa pagsugod sa dili pa magsulat og teksto:LAFVIN ESP32 Basic Starter Kit - paglanganTin-aw nga display, itakda ang gidak-on sa font, kolor ug pagsulat sa teksto
Human sa pagsugod sa display, hawanan ang display buffer gamit ang clearDisplay() nga pamaagi:LAFVIN ESP32 Basic Starter Kit - display

Sa dili pa isulat ang teksto, kinahanglan nimo nga itakda ang gidak-on sa teksto, kolor ug kung diin ipakita ang teksto sa OLED.
Ibutang ang gidak-on sa font gamit ang setTextSize() nga pamaagi:LAFVIN ESP32 Basic Starter Kit - display 1Ibutang ang kolor sa font gamit ang setTextColor() nga pamaagi:
Ang PUTI nagbutang ug puti nga font ug itom nga background.
Tinoa ang posisyon diin nagsugod ang teksto gamit ang setCursor(x,y) nga pamaagi. Sa kini nga kaso, among gitakda ang teksto nga magsugod sa (0,0) nga mga coordinate - sa ibabaw nga wala nga suok.LAFVIN ESP32 Basic Starter Kit - setTextColor 1Sa katapusan, mahimo nimong ipadala ang teksto sa display gamit ang println() nga pamaagi, ingon sa mosunodLAFVIN ESP32 Basic Starter Kit - code 5Unya, kinahanglan nimo nga tawagan ang display() nga pamaagi aron ipakita gyud ang teksto sa screen.LAFVIN ESP32 Basic Starter Kit - display

Ang Adafruit OLED nga librarya naghatag ug mapuslanong mga paagi aron daling ma-scroll ang teksto.

  • startscrollright(0x00, 0x0F): scroll text gikan sa wala ngadto sa tuo
  • startscrollleft(0x00, 0x0F): scroll text gikan sa tuo ngadto sa wala
  • startscrolldiagright(0x00, 0x07): scroll text gikan sa wala ubos nga suok ngadto sa tuo sa ibabaw nga suok startscrolldiagleft(0x00, 0x07): scroll text gikan sa tuo ubos nga suok ngadto sa wala sa ibabaw nga suok

I-upload ang Code
Karon, i-upload ang code sa imong ESP32. I-upload ang mga lakang sa reference sa code.
Human ma-upload ang code, ang OLED magpakita sa scrolling text.LAFVIN ESP32 Basic Starter Kit - scrolling textlogo sa LAFVIN

Mga Dokumento / Mga Kapanguhaan

LAFVIN ESP32 Basic Starter Kit [pdf] Manwal sa Instruksyon
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *