ESP32 Ipilẹ Starter
Kit
Atokọ ikojọpọ
ESP32 Ifihan
Tuntun si ESP32? Bẹrẹ nibi! ESP32 jẹ lẹsẹsẹ ti iye owo kekere ati Eto agbara kekere lori Chip (SoC) awọn oludari microcontrollers ti o dagbasoke nipasẹ Espressif eyiti o pẹlu Wi-Fi ati awọn agbara alailowaya Bluetooth ati ero isise meji-mojuto. Ti o ba faramọ pẹlu ESP8266, ESP32 jẹ arọpo rẹ, ti kojọpọ pẹlu ọpọlọpọ awọn ẹya tuntun.ESP32 ni pato
Ti o ba fẹ ni imọ-ẹrọ diẹ sii ati pato, o le wo awọn alaye alaye atẹle ti ESP32 (orisun: http://esp32.net/) - Fun alaye diẹ sii, ṣayẹwo iwe data):
- Asopọmọra Alailowaya WiFi: Oṣuwọn data 150.0 Mbps pẹlu HT40
- Bluetooth: BLE (Bluetooth Low Energy) ati Bluetooth Classic
- Oluṣeto: Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, nṣiṣẹ ni 160 tabi 240 MHz
- Iranti:
- ROM: 448 KB (fun booting ati awọn iṣẹ mojuto)
- SRAM: 520 KB (fun data ati ilana)
- RTC fas SRAM: 8 KB (fun ibi ipamọ data ati Sipiyu akọkọ lakoko RTC Boot lati ipo oorun-jin)
- RTC o lọra SRAM: 8KB (fun olupilẹṣẹ-iṣaaju iraye si lakoko ipo oorun-jinlẹ) eFuse: 1 Kbit (eyiti o jẹ lilo awọn iwọn 256 fun eto naa (adirẹsi MAC ati iṣeto ni chirún) ati awọn bit 768 to ku ti wa ni ipamọ fun awọn ohun elo alabara, pẹlu Flash-encryption ati Chip-ID)
Filaṣi ti a fi sinu: filasi ti a ti sopọ nipasẹ IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 ati SD_DATA_1 lori ESP32-D2WD ati ESP32-PICO-D4.
- 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, ati awọn eerun ESP32-S0WD)
- 2 MiB (ESP32-D2WD ërún)
- 4 MiB (ESP32-PICO-D4 SiP module)
Agbara kekere: ṣe idaniloju pe o tun le lo awọn iyipada ADC, fun example, nigba jin orun.
Iṣagbewọle agbeegbe/Igbejade:
- agbeegbe ni wiwo pẹlu DMA ti o ba pẹlu capacitive ifọwọkan
- ADCs (Afọwọṣe-si-Digital Ayipada)
- DACs (Digital-to-Analog Converter)
- I²C (Circuit Integrated)
- UART (Olugba Asynchronous Agbaye/Agbaragba)
- SPI (Tẹ̀ẹ̀rọ̀ Àwòkẹ́ẹ̀kọ́ Tẹ́ńpìlì)
- I²S (Ohùn Interchip Iṣọkan)
- RMII (Dinku Media-Ominira Ni wiwo)
- PWM (Aṣatunṣe Iwọn-ọpọlọ)
Aabo: ohun elo accelerators fun AES ati SSL/TLS
ESP32 Development Boards
ESP32 ntokasi si igboro ESP32 ërún. Sibẹsibẹ, ọrọ “ESP32” naa tun lo lati tọka si awọn igbimọ idagbasoke ESP32. Lilo awọn eerun igboro ESP32 ko rọrun tabi ilowo, paapaa nigba kikọ ẹkọ, idanwo, ati adaṣe. Ni ọpọlọpọ igba, iwọ yoo fẹ lati lo igbimọ idagbasoke ESP32 kan.
A yoo lo igbimọ ESP32 DEVKIT V1 gẹgẹbi itọkasi. Aworan ti o wa ni isalẹ fihan igbimọ ESP32 DEVKIT V1, ẹya pẹlu awọn pinni GPIO 30.Awọn pato - ESP32 DEVKIT V1
Tabili ti o tẹle n ṣe afihan akopọ ti awọn ẹya igbimọ ESP32 DEVKIT V1 DOIT ati awọn pato:
Nọmba ti ohun kohun | 2 (kokoro meji) |
Wi-Fi | 2.4 GHz soke 150 Mbits / s |
Bluetooth | BLE (Bluetooth Low Energy) ati julọ Bluetooth |
Faaji | 32 die-die |
Igbohunsafẹfẹ aago | Titi di 240 MHz |
Àgbo | 512 KB |
Awọn pinni | 30 (da lori awoṣe) |
Awọn agbeegbe | Ifọwọkan Capacitive, ADC (afọwọṣe si oluyipada oni-nọmba), DAC (digital si oluyipada analog), 12C (Integrated Circuit Inter-Integrated), UART (olugba asynchronous gbogbo agbaye / atagba), CAN 2.0 (Agbegbe Adari Netwokr), SPI (Ibaraẹnisọrọ Agbeegbe Tẹlentẹle), 12S (Integrated Inter-IC) Ohun), RMII (Dinku Media-Independent Interface), PWM (pulse iwọn awose), ati siwaju sii. |
Awọn bọtini ti a ṣe sinu | Tun ati awọn bọtini BOOT |
Awọn LED ti a ṣe sinu | LED buluu ti a ṣe sinu ti a ti sopọ si GPIO2; -itumọ ti ni pupa LED ti o fihan awọn ọkọ ti wa ni agbara |
USB si UART afara |
CP2102 |
O wa pẹlu wiwo microUSB ti o le lo lati so igbimọ pọ mọ kọnputa rẹ lati gbe koodu tabi lo agbara.
O nlo ërún CP2102 (USB si UART) lati ṣe ibaraẹnisọrọ pẹlu kọmputa rẹ nipasẹ ibudo COM kan nipa lilo wiwo ni tẹlentẹle. Chirún olokiki miiran jẹ CH340. Ṣayẹwo kini USB si oluyipada chirún UART lori ọkọ rẹ nitori iwọ yoo nilo lati fi sori ẹrọ awakọ ti o nilo ki kọnputa rẹ le ṣe ibasọrọ pẹlu igbimọ (alaye diẹ sii nipa eyi nigbamii ni itọsọna yii).
Igbimọ yii tun wa pẹlu bọtini atunbere (le jẹ aami EN) lati tun bẹrẹ igbimọ naa ati bọtini BOOT lati fi ọkọ sinu ipo ikosan (wa lati gba koodu). Ṣe akiyesi pe diẹ ninu awọn igbimọ le ma ni bọtini BOOT kan.
O tun wa pẹlu LED bulu buluu ti a ṣe sinu ti o ti sopọ si GPIO 2. LED yii wulo fun n ṣatunṣe aṣiṣe lati fun diẹ ninu awọn abajade ti ara wiwo. LED pupa tun wa ti o tan imọlẹ nigbati o pese agbara si igbimọ naa.ESP32 Pinout
Awọn agbeegbe ESP32 pẹlu:
- 18 Analog-to-Digital Converter (ADC) awọn ikanni
- 3 SPI atọkun
- 3 UART atọkun
- 2 I2C atọkun
- 16 PWM o wu awọn ikanni
- 2 Digital-to-Analog Converter (DAC)
- 2 I2S atọkun
- 10 Capacitive oye GPIOs
Awọn ẹya ara ẹrọ ADC (afọwọṣe si oluyipada oni-nọmba) ati DAC (dijital si oluyipada afọwọṣe) jẹ sọtọ si awọn pinni aimi kan pato. Sibẹsibẹ, o le pinnu iru awọn pinni jẹ UART, I2C, SPI, PWM, ati bẹbẹ lọ - o kan nilo lati fi wọn sinu koodu naa. Eyi ṣee ṣe nitori ẹya-ara multiplexing chirún ESP32.
Botilẹjẹpe o le ṣalaye awọn ohun-ini pinni lori sọfitiwia naa, awọn pinni ti a sọtọ nipasẹ aiyipada bi o ti han ninu nọmba atẹleNi afikun, awọn pinni wa pẹlu awọn ẹya kan pato ti o jẹ ki wọn dara tabi kii ṣe fun iṣẹ akanṣe kan. Tabili ti o tẹle n ṣe afihan kini awọn pinni ti o dara julọ lati lo bi awọn igbewọle, awọn abajade ati awọn ti o nilo lati ṣọra.
Awọn pinni afihan ni alawọ ewe dara lati lo. Awọn ti a ṣe afihan ni ofeefee jẹ O dara lati lo, ṣugbọn o nilo lati fiyesi nitori wọn le ni ihuwasi airotẹlẹ ni akọkọ ni bata. Awọn pinni ti o ṣe afihan ni pupa ko ṣe iṣeduro lati lo bi awọn igbewọle tabi awọn ọnajade.
GP IO | Iṣawọle | Abajade | Awọn akọsilẹ |
0 | fa soke | OK | Awọn abajade ifihan PWM ni bata, gbọdọ jẹ LOW lati tẹ ipo ìmọlẹ sii |
1 | pin TX | OK | yokokoro o wu ni bata |
2 | OK | OK | ti a ti sopọ si LED on-board, gbọdọ wa ni osi lilefoofo tabi LOW lati tẹ ìmọlẹ mode |
3 | OK | pin RX | GA ni bata |
4 | OK | OK | |
5 | OK | OK | Awọn abajade ifihan agbara PWM ni bata, pin okun |
12 | OK | OK | bata kuna ti o ba ti fa ga, strapping pin |
13 | OK | OK | |
14 | OK | OK | Awọn abajade PWM ifihan agbara ni bata |
15 | OK | OK | Awọn abajade ifihan agbara PWM ni bata, pin okun |
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 | igbewọle nikan | |
35 | OK | igbewọle nikan | |
36 | OK | igbewọle nikan | |
39 | OK | igbewọle nikan |
Tẹsiwaju kika fun alaye diẹ sii ati itupalẹ ijinle ti ESP32 GPIOs ati awọn iṣẹ rẹ.
Awọn pinni titẹ sii nikan
GPIO 34 si 39 jẹ GPIs - awọn pinni titẹ sii nikan. Awọn pinni wọnyi ko ni fa-soke tabi fa-isalẹ resistors. Wọn ko le ṣee lo bi awọn abajade, nitorina lo awọn pinni wọnyi nikan bi awọn igbewọle:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
SPI filasi ti a ṣepọ lori ESP-WROOM-32
GPIO 6 si GPIO 11 ti han ni diẹ ninu awọn igbimọ idagbasoke ESP32. Sibẹsibẹ, awọn pinni wọnyi ni asopọ si filasi SPI ti a ṣepọ lori chirún ESP-WROOM-32 ati pe ko ṣe iṣeduro fun awọn lilo miiran. Nitorinaa, maṣe lo awọn pinni wọnyi ninu awọn iṣẹ akanṣe rẹ:
- 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 ifọwọkan GPIOs
ESP32 ni awọn sensọ ifọwọkan capacitive inu 10. Iwọnyi le ni oye awọn iyatọ ninu ohunkohun ti o ni idiyele itanna kan, bii awọ ara eniyan. Nitorinaa wọn le rii awọn iyatọ ti o fa nigbati o fi ọwọ kan awọn GPIO pẹlu ika kan. Awọn pinni wọnyi le ni irọrun ṣepọ sinu awọn paadi agbara ati rọpo awọn bọtini ẹrọ. Awọn pinni ifọwọkan capacitive tun le ṣee lo lati ji ESP32 lati oorun oorun. Awọn sensọ ifọwọkan inu wọnyẹn ni asopọ si awọn GPIO wọnyi:
- 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 si Oluyipada oni-nọmba (ADC)
ESP32 naa ni awọn ikanni igbewọle ADC 18 x 12 die-die (nigba ti ESP8266 nikan ni 1x 10 die-die ADC). Iwọnyi ni awọn GPIO ti o le ṣee lo bi ADC ati awọn ikanni oniwun:
- 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)
Akiyesi: ADC2 pinni ko ṣee lo nigbati Wi-Fi lo. Nitorinaa, ti o ba nlo Wi-Fi ati pe o ni wahala lati gba iye lati ADC2 GPIO, o le ronu nipa lilo ADC1 GPIO dipo. Iyẹn yẹ ki o yanju iṣoro rẹ.
Awọn ikanni titẹ sii ADC ni ipinnu 12-bit kan. Eyi tumọ si pe o le gba awọn kika afọwọṣe lati 0 si 4095, ninu eyiti 0 ṣe deede si 0V ati 4095 si 3.3V. O tun le ṣeto ipinnu awọn ikanni rẹ lori koodu ati sakani ADC.
Awọn pinni ESP32 ADC ko ni ihuwasi laini. O ṣeese kii yoo ni anfani lati ṣe iyatọ laarin 0 ati 0.1V, tabi laarin 3.2 ati 3.3V. O nilo lati tọju iyẹn si ọkan nigba lilo awọn pinni ADC. Iwọ yoo gba ihuwasi ti o jọra si eyiti o han ninu nọmba atẹle.Oluyipada oni-nọmba si Analog (DAC)
Awọn ikanni DAC 2 x 8 die-die wa lori ESP32 lati yi awọn ifihan agbara oni-nọmba pada si vol afọwọṣetage ifihan agbara. Iwọnyi ni awọn ikanni DAC:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
Awọn GPIO RTC
Atilẹyin RTC GPIO wa lori ESP32. Awọn GPIO ti o lọ si eto-kekere agbara kekere RTC le ṣee lo nigbati ESP32 wa ni orun oorun. Awọn GPIO RTC wọnyi le ṣee lo lati ji ESP32 lati oorun oorun nigbati Ultra Low
Power (ULP) àjọ-prosessor ti wa ni nṣiṣẹ. Awọn GPIO wọnyi le ṣee lo bi orisun ji dide ita.
- 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
Adarí PWM LED ESP32 ni awọn ikanni ominira 16 ti o le tunto lati ṣe awọn ifihan agbara PWM pẹlu awọn ohun-ini oriṣiriṣi. Gbogbo awọn pinni ti o le ṣe bi awọn abajade le ṣee lo bi awọn pinni PWM (GPIOs 34 si 39 ko le ṣe ina PWM).
Lati ṣeto ami ifihan PWM kan, o nilo lati ṣalaye awọn paramita wọnyi ninu koodu naa:
- Igbohunsafẹfẹ ifihan agbara;
- Ojuse ọmọ;
- PWM ikanni;
- GPIO nibi ti o ti fẹ lati jade ifihan agbara.
I2C
ESP32 ni awọn ikanni I2C meji ati pe eyikeyi pin le ṣee ṣeto bi SDA tabi SCL. Nigbati o ba nlo ESP32 pẹlu Arduino IDE, awọn pinni I2C aiyipada jẹ:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Ti o ba fẹ lo awọn pinni miiran nigba lilo ile-ikawe waya, o kan nilo lati pe:
Wire.begin (SDA, SCL);
SPI
Nipa aiyipada, maapu pin fun SPI jẹ:
SPI | MOSI | MISO | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Idilọwọ
Gbogbo awọn GPIO le tunto bi awọn idilọwọ.
Strapping Pinni
Chirún ESP32 ni awọn pinni okun wọnyi:
- GPIO 0 (gbọdọ jẹ LOW lati tẹ ipo bata)
- GPIO 2 (gbọdọ jẹ lilefoofo tabi LOW lakoko bata)
- GPIO 4
- GPIO 5 (gbọdọ jẹ GA lakoko bata)
- GPIO 12 (gbọdọ jẹ LOW lakoko bata)
- GPIO 15 (gbọdọ jẹ GA lakoko bata)
Awọn wọnyi ni a lo lati fi ESP32 sinu bootloader tabi ipo ikosan. Lori ọpọlọpọ awọn igbimọ idagbasoke pẹlu USB/Serial ti a ṣe sinu, iwọ ko nilo lati ṣe aniyan nipa ipo awọn pinni wọnyi. Awọn ọkọ fi awọn pinni ni ọtun ipinle fun ìmọlẹ tabi bata mode. Alaye diẹ sii lori Aṣayan Boot Ipo ESP32 ni a le rii Nibi.
Bibẹẹkọ, ti o ba ni awọn agbeegbe ti o sopọ si awọn pinni wọnyẹn, o le ni wahala lati gbiyanju lati gbe koodu titun, didan ESP32 pẹlu famuwia tuntun, tabi tunto igbimọ naa. Ti o ba ni diẹ ninu awọn agbeegbe ti a ti sopọ si awọn pinni okun ati pe o n ni wahala lati ṣe koodu ikojọpọ tabi didan ESP32, o le jẹ nitori awọn agbeegbe yẹn n ṣe idiwọ ESP32 lati titẹ si ipo ti o tọ. Ka iwe Aṣayan Ipo Boot lati dari ọ ni itọsọna ọtun. Lẹhin ti atunto, ìmọlẹ, tabi booting, awọn pinni ṣiṣẹ bi o ti ṣe yẹ.
Pinni HIGH ni Boot
Diẹ ninu awọn GPIO yi ipo wọn pada si HIGH tabi awọn ifihan agbara PWM jade ni bata tabi tunto.
Eyi tumọ si pe ti o ba ni awọn abajade ti o sopọ si awọn GPIO wọnyi o le gba awọn abajade airotẹlẹ nigbati ESP32 tunto tabi bata bata.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 si GPIO 11 (ti sopọ si ESP32 ese SPI filasi iranti – ko ṣe iṣeduro lati lo).
- GPIO 14
- GPIO 15
Mu ṣiṣẹ (EN)
Muu ṣiṣẹ (EN) jẹ PIN ti olutọsọna 3.3V. O ti fa soke, nitorinaa sopọ si ilẹ lati mu olutọsọna 3.3V kuro. Eyi tumọ si pe o le lo PIN ti o ni asopọ si bọtini titari lati tun ESP32 rẹ bẹrẹ, fun example.
GPIO lọwọlọwọ iyaworan
Iwọn lọwọlọwọ ti o pọju ti a fa fun GPIO jẹ 40mA ni ibamu si apakan “Awọn ipo Iṣiṣẹ Iṣeduro” ninu iwe data ESP32.
ESP32 -Itumọ ti Hall Ipa sensọ
ESP32 naa tun ṣe ẹya sensọ ipa alabagbepo ti a ṣe sinu ti o ṣe awari awọn ayipada ninu aaye oofa ni agbegbe rẹ
ESP32 Arduino IDE
Afikun kan wa fun Arduino IDE ti o fun ọ laaye lati ṣe eto ESP32 ni lilo Arduino IDE ati ede siseto rẹ. Ninu ikẹkọ yii a yoo fihan ọ bi o ṣe le fi sori ẹrọ igbimọ ESP32 ni Arduino IDE boya o nlo Windows, Mac OS X tabi Lainos.
Awọn ibeere: Arduino IDE Fi sori ẹrọ
Ṣaaju ki o to bẹrẹ ilana fifi sori ẹrọ, o nilo lati fi Arduino IDE sori kọnputa rẹ. Awọn ẹya meji wa ti Arduino IDE o le fi sii: ẹya 1 ati ẹya 2.
O le ṣe igbasilẹ ati fi Arduino IDE sori ẹrọ nipa tite lori ọna asopọ atẹle: arduino.cc/en/Main/Software
Iru Arduino IDE wo ni a ṣeduro? Ni akoko, awọn kan wa plugins fun ESP32 (bii SPIFFS FileOhun itanna Uploader) ti ko ti ni atilẹyin lori Arduino 2. Nitorinaa, ti o ba pinnu lati lo ohun itanna SPIFFS ni ọjọ iwaju, a ṣeduro fifi sori ẹya julọ 1.8.X. O kan nilo lati yi lọ si isalẹ lori oju-iwe sọfitiwia Arduino lati wa.
Fifi ESP32 Fikun-un ni Arduino IDE
Lati fi sori ẹrọ igbimọ ESP32 ninu Arduino IDE rẹ, tẹle awọn ilana atẹle wọnyi:
- Ninu Arduino IDE rẹ, lọ si File> Awọn ayanfẹ
- Tẹ atẹle naa sinu “Afikun Alakoso Igbimọ URLs" aaye:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Lẹhinna tẹ bọtini “O DARA”:Akiyesi: ti o ba ti ni awọn igbimọ ESP8266 URL, o le ya awọn URLs pẹlu komama bi atẹle:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Ṣii Alakoso Igbimọ. Lọ si Awọn irinṣẹ> Igbimọ> Alakoso igbimọ…Wa fun ESP32 and press install button for the “ESP32 by Espressif Systems“:
O n niyen. O yẹ ki o fi sori ẹrọ lẹhin iṣẹju diẹ.
Po si igbeyewo koodu
So igbimọ ESP32 pọ si kọnputa rẹ. Pẹlu Arduino IDE rẹ ṣii, tẹle awọn igbesẹ wọnyi:
- Yan Igbimọ rẹ ni Awọn irinṣẹ> Akojọ aṣayan igbimọ (ninu ọran mi o jẹ ESP32 DEV Module)
- Yan Port (ti o ko ba ri Port COM ninu Arduino IDE rẹ, o nilo lati fi sori ẹrọ CP210x USB si UART Bridge VCP Drivers):
- Ṣii awọn wọnyi example labẹ File > Examples> WiFi
(ESP32)> WiFiScan - Aworan tuntun kan ṣii ni Arduino IDE rẹ:
- Tẹ bọtini ikojọpọ ni Arduino IDE. Duro iṣẹju diẹ nigba ti koodu ṣe akopọ ati awọn ikojọpọ si igbimọ rẹ.
- Ti ohun gbogbo ba lọ bi o ti ṣe yẹ, o yẹ ki o wo “Ṣiṣe ikojọpọ”. ifiranṣẹ.
- Ṣii Arduino IDE Serial Monitor ni oṣuwọn baud ti 115200:
- Tẹ bọtini ESP32 lori-board Mu ṣiṣẹ ati pe o yẹ ki o wo awọn nẹtiwọọki ti o wa nitosi ESP32 rẹ:
Laasigbotitusita
Ti o ba gbiyanju lati gbe aworan tuntun si ESP32 rẹ ati pe o gba ifiranṣẹ aṣiṣe yii “Aṣiṣe apaniyan kan ṣẹlẹ: Kuna lati sopọ si ESP32: Ti pari… Nsopọ…”. O tumọ si pe ESP32 rẹ ko si ni ipo ikojọpọ / ikojọpọ.
Nini orukọ igbimọ ti o tọ ati COM por ti a yan, tẹle awọn igbesẹ wọnyi:
Mu-mọlẹ bọtini “BOOT” ninu igbimọ ESP32 rẹ
- Tẹ bọtini “Po si” ni Arduino IDE lati gbe aworan rẹ si:
- Lẹhin ti o rii “Nsopọmọra….” ifiranṣẹ ninu Arduino IDE rẹ, tu ika naa silẹ lati bọtini “BOOT”:
- Lẹhin iyẹn, o yẹ ki o wo ifiranṣẹ “Ti ṣee ṣe ikojọpọ”.
O n niyen. ESP32 rẹ yẹ ki o ni aworan afọwọya tuntun ti nṣiṣẹ. Tẹ bọtini “ENABLE” lati tun bẹrẹ ESP32 ati ṣiṣe aworan afọwọya tuntun ti a gbejade.
Iwọ yoo tun ni lati tun ọna-bọtini yẹn ṣe ni gbogbo igba ti o ba fẹ gbejade aworan afọwọya tuntun kan.
Ise agbese 1 ESP32 Awọn igbewọle igbewọle
Ninu itọsọna bibẹrẹ yii iwọ yoo kọ ẹkọ bii o ṣe le ka awọn igbewọle oni-nọmba bi bọtini yipada ati ṣakoso awọn abajade oni-nọmba bi LED ni lilo ESP32 pẹlu Arduino IDE.
Awọn ibeere pataki
A yoo ṣe eto ESP32 ni lilo Arduino IDE. Nitorinaa, rii daju pe o ni afikun awọn igbimọ ESP32 ti fi sori ẹrọ ṣaaju tẹsiwaju:
- Fifi ESP32 Fikun-un ni Arduino IDE
ESP32 Iṣakoso Digital wu
Ni akọkọ, o nilo ṣeto GPIO ti o fẹ ṣakoso bi OUTPUT. Lo iṣẹ pinMode () gẹgẹbi atẹle:
pinMode (GPIO, OUTPUT);
Lati ṣakoso iṣelọpọ oni-nọmba kan o kan nilo lati lo iṣẹ digitalWrite (), ti o gba bi awọn ariyanjiyan, GPIO (nọmba int) ti o tọka si, ati ipinlẹ, boya GA tabi LOW.
digitalWrite (GPIO, IPINLE);
Gbogbo awọn GPIO le ṣee lo bi awọn abajade ayafi awọn GPIO 6 si 11 (ti a ti sopọ si filasi SPI ti a ṣepọ) ati GPIOs 34, 35, 36 ati 39 (awọn GPIO ti a fi sii nikan);
Kọ ẹkọ diẹ sii nipa awọn ESP32 GPIO: Itọsọna Itọkasi ESP32 GPIO
ESP32 Ka Digital Inpus
Ni akọkọ, ṣeto GPIO ti o fẹ ka bi INPUT, ni lilo iṣẹ pinMode () gẹgẹbi atẹle:
pinMode (GPIO, INPUT);
Lati ka igbewọle oni-nọmba kan, bii bọtini kan, o lo iṣẹ digitalRead (), ti o gba bi ariyanjiyan, GPIO (nọmba int) ti o tọka si.
digitalRead(GPIO);
Gbogbo ESP32 GPIO le ṣee lo bi awọn igbewọle, ayafi awọn GPIO 6 si 11 (ti a ti sopọ si filaṣi SPI ti a ṣepọ).
Kọ ẹkọ diẹ sii nipa awọn ESP32 GPIO: Itọsọna Itọkasi ESP32 GPIO
Project Example
Lati fihan ọ bi o ṣe le lo awọn igbewọle oni-nọmba ati awọn abajade oni-nọmba, a yoo kọ iṣẹ akanṣe ti o rọrun kan example pẹlu kan pushbutton ati awọn ẹya LED. A yoo ka ipo ti bọtini titari ati tan ina LED ni ibamu bi a ti ṣe afihan ni nọmba atẹle.
Awọn ẹya ti a beere
Eyi ni atokọ ti awọn apakan si o nilo lati kọ iyika naa:
- ESP32 DEVKIT V1
- 5 mm LED
- 220 Ohm alatako
- Bọtini Titari
- 10k Ohm resistor
- Akara akara
- Jumper onirin
Aworan atọka
Ṣaaju ki o to tẹsiwaju, o nilo lati pejọ Circuit kan pẹlu LED ati bọtini titari kan.
A yoo so LED pọ si GPIO 5 ati bọtini titari si GPIO 4.Koodu
Ṣii koodu Project_1_ESP32_Inputs_Outputs.ino ni arduino IDEBawo ni koodu Nṣiṣẹ
Ni awọn ila meji wọnyi, o ṣẹda awọn oniyipada lati fi awọn pinni sọtọ:
Bọtini naa ti sopọ mọ GPIO 4 ati pe LED ti sopọ mọ GPIO 5. Nigbati o ba nlo Arduino IDE pẹlu ESP32, 4 ni ibamu si GPIO 4 ati 5 ni ibamu si GPIO 5.
Nigbamii, o ṣẹda oniyipada lati mu ipo bọtini mu. Nipa aiyipada, o jẹ 0 (kii ṣe titẹ).
int bọtini State = 0;
Ninu iṣeto (), o bẹrẹ bọtini bi INPUT, ati LED bi OUTPUT.
Fun iyẹn, o lo iṣẹ pinMode () ti o gba PIN ti o tọka si, ati ipo: INPUT tabi OUTPUT.
pinMode (bọtiniPin, INPUT);
pinMode (ledPin, OUTPUT);
Ni lupu () ni ibiti o ti ka ipo bọtini ati ṣeto LED ni ibamu.
Ni ila ti o tẹle, o ka ipo bọtini naa ki o fi pamọ sinu bọtini Ipinle oniyipada.
Gẹgẹbi a ti rii tẹlẹ, o lo iṣẹ digitalRead ().
buttonState = digitalRead (bọtiniPin);
Awọn atẹle ti o ba jẹ alaye, ṣayẹwo boya ipo bọtini jẹ GA. Ti o ba jẹ bẹ, o tan LED si lilo iṣẹ digitalWrite () ti o gba bi ariyanjiyan ledPin, ati ipo giga.
ti o ba jẹ (bọtiniState == HIGH)Ti ipo bọtini ko ba ga, o ṣeto LED kuro. Kan ṣeto LOW bi ariyanjiyan keji si iṣẹ digitalWrite ().
Ikojọpọ koodu
Ṣaaju titẹ bọtini ikojọpọ, lọ si Awọn irinṣẹ> Igbimọ, ki o yan igbimọ :DOIT ESP32 DEVKIT V1 igbimọ.
Lọ si Awọn irinṣẹ> Ibudo ko si yan ibudo COM ti ESP32 ti sopọ si. Lẹhinna, tẹ bọtini ikojọpọ ati duro de ifiranṣẹ “Ti ṣee ṣe”.Akiyesi: Ti o ba rii ọpọlọpọ awọn aami (sisopọ…__…__) lori ferese ti n ṣatunṣe aṣiṣe ati “Ikuna lati sopọ si ESP32: Ti akoko ti nduro fun akọsori apo” ifiranṣẹ, iyẹn tumọ si pe o nilo lati tẹ bọtini BOT lori ọkọ ESP32 lẹhin awọn aami naa.
bẹrẹ ifarahan.Laasigbotitusita
Afihan
Lẹhin ikojọpọ awọn koodu, idanwo rẹ Circuit. LED rẹ yẹ ki o tan imọlẹ nigbati o ba tẹ bọtini titari:Ati pipa nigbati o ba tu silẹ:
Project 2 ESP32 afọwọṣe Awọn igbewọle
Ise agbese yii fihan bi o ṣe le ka awọn igbewọle afọwọṣe pẹlu ESP32 ni lilo Arduino IDE.
Kika afọwọṣe wulo lati ka awọn iye lati awọn resistors oniyipada bi potentiometers, tabi awọn sensọ afọwọṣe.
Awọn igbewọle Analog (ADC)
Kika iye afọwọṣe pẹlu ESP32 tumọ si pe o le wọn iwọn voltage awọn ipele laarin 0 V ati 3.3 V.
Iwọn naatage won ti wa ni ki o si sọtọ si a iye laarin 0 ati 4095, ninu eyi ti 0 V ni ibamu si 0, ati 3.3 V ni ibamu si 4095. Eyikeyi vol.tage laarin 0 V ati 3.3 V yoo fun ni iye ti o baamu laarin.ADC kii ṣe laini
Bi o ṣe yẹ, iwọ yoo nireti ihuwasi laini nigba lilo awọn pinni ESP32 ADC.
Sibẹsibẹ, iyẹn ko ṣẹlẹ. Ohun ti o yoo gba ni ihuwasi bi o ṣe han ninu chart atẹle:Iwa yii tumọ si pe ESP32 rẹ ko le ṣe iyatọ 3.3 V lati 3.2 V.
Iwọ yoo gba iye kanna fun awọn mejeeji voltage:4095.
Kanna ti o ṣẹlẹ fun gidigidi kekere voltagawọn iye e: fun 0 V ati 0.1 V iwọ yoo gba iye kanna: 0. O nilo lati tọju eyi ni lokan nigba lilo awọn pinni ESP32 ADC.
analogRead () iṣẹ
Kika igbewọle afọwọṣe pẹlu ESP32 ni lilo Arduino IDE jẹ rọrun bi lilo iṣẹ analogRead (). O gba bi ariyanjiyan, GPIO ti o fẹ ka:
analogRead(GPIO);
Nikan 15 nikan wa ni DEVKIT V1board (ẹya pẹlu 30 GPIOs).
Ja gba pinout igbimọ ESP32 rẹ ki o wa awọn pinni ADC naa. Iwọnyi jẹ afihan pẹlu aala pupa ni nọmba ni isalẹ.Awọn pinni igbewọle afọwọṣe wọnyi ni ipinnu 12-bit. Eyi tumọ si pe nigbati o ba ka igbewọle afọwọṣe, ibiti o le yatọ lati 0 si 4095.
Akiyesi: Awọn pinni ADC2 ko ṣee lo nigbati Wi-Fi ba nlo. Nitorinaa, ti o ba nlo Wi-Fi ati pe o ni wahala lati gba iye lati ADC2 GPIO, o le ronu nipa lilo ADC1 GPIO dipo, iyẹn yẹ ki o yanju iṣoro rẹ.
Lati wo bi ohun gbogbo ṣe n so pọ, a yoo ṣe iṣaaju ti o rọrunample lati ka ohun afọwọṣe iye lati kan potentiometer.
Awọn ẹya ti a beere
Fun eyi exampLe, o nilo awọn ẹya wọnyi:
- ESP32 DEVKIT V1 ọkọ
- Potentiometer
- Akara akara
- Jumper onirin
Sisọmu
Fi okun waya potentiometer si ESP32 rẹ. PIN agbedemeji potentiometer yẹ ki o sopọ mọ GPIO 4. O le lo aworan atọka atẹle yii bi itọkasi.Koodu
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ni afikun ESP32 ti fi sori ẹrọ ṣaaju ki o to tẹsiwaju:(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDE
Ṣii koodu Project_2_ESP32_Inputs_Outputs.ino ni arduino IDEYi koodu nìkan ka awọn iye lati potentiometer ati ki o tẹjade awon iye ni Serial Atẹle.
Ninu koodu naa, o bẹrẹ nipasẹ asọye GPIO ti a ti sopọ potentiometer si. Ninu example, GPIO 4.Ninu iṣeto (), bẹrẹ ibaraẹnisọrọ ni tẹlentẹle ni oṣuwọn baud ti 115200.
Ninu lupu (), lo iṣẹ analogRead () lati ka igbewọle afọwọṣe lati inu ikoko.
Ni ipari, tẹ awọn iye ti a ka lati potentiometer ninu atẹle ni tẹlentẹle.
Ṣe igbasilẹ koodu ti a pese si ESP32 rẹ. Rii daju pe o ni igbimọ ti o tọ ati ibudo COM ti a yan ni akojọ Awọn irinṣẹ.
Idanwo Example
Lẹhin ikojọpọ koodu ati titẹ bọtini atunto ESP32, ṣii Atẹle Serial ni iwọn baud ti 115200. Yipotentiometer pada ki o wo awọn iye iyipada.Iwọn to pọ julọ ti iwọ yoo gba jẹ 4095 ati pe iye to kere julọ jẹ 0.
Fi ipari si
Ninu nkan yii o ti kọ ẹkọ bi o ṣe le ka awọn igbewọle afọwọṣe nipa lilo ESP32 pẹlu Arduino IDE. Ni soki:
- Igbimọ ESP32 DEVKIT V1 DOIT (ẹya pẹlu awọn pinni 30) ni awọn pinni ADC 15 ti o le lo lati ka awọn igbewọle afọwọṣe.
- Awọn pinni wọnyi ni ipinnu ti awọn bit 12, eyiti o tumọ si pe o le gba awọn iye lati 0 si 4095.
- Lati ka iye kan ninu Arduino IDE, o kan lo iṣẹ analogRead ().
- Awọn pinni ESP32 ADC ko ni ihuwasi laini. O ṣeese kii yoo ni anfani lati ṣe iyatọ laarin 0 ati 0.1V, tabi laarin 3.2 ati 3.3V. O nilo lati tọju iyẹn si ọkan nigba lilo awọn pinni ADC.
Ise agbese 3 ESP32 PWM(Ijade Afọwọṣe)
Ninu ikẹkọ yii a yoo fihan ọ bi o ṣe le ṣe awọn ifihan agbara PWM pẹlu ESP32 ni lilo Arduino IDE. Bi example a yoo kọ kan ti o rọrun Circuit ti o dims ohun LED lilo awọn LED PWM oludari ti ESP32.ESP32 LED PWM Adarí
ESP32 ni oludari PWM LED pẹlu awọn ikanni ominira 16 ti o le tunto lati ṣe awọn ifihan agbara PWM pẹlu awọn ohun-ini oriṣiriṣi.
Eyi ni awọn igbesẹ ti iwọ yoo ni lati tẹle lati dinku LED pẹlu PWM nipa lilo Arduino IDE:
- Ni akọkọ, o nilo lati yan ikanni PWM kan. Awọn ikanni 16 wa lati 0 si 15.
- Lẹhinna, o nilo lati ṣeto igbohunsafẹfẹ ifihan agbara PWM. Fun LED, igbohunsafẹfẹ ti 5000 Hz dara lati lo.
- O tun nilo lati ṣeto ipinnu iṣẹ-ṣiṣe ti ifihan agbara: o ni awọn ipinnu lati 1 si 16 die-die. A yoo lo ipinnu 8-bit, eyiti o tumọ si pe o le ṣakoso imọlẹ LED nipa lilo iye kan lati 0 si 255.
- Nigbamii, o nilo lati pato si iru GPIO tabi GPIO ti ifihan yoo han lori. Fun eyi iwọ yoo lo iṣẹ atẹle:
ledcAttachPin (GPIO, ikanni)
Iṣẹ yii gba awọn ariyanjiyan meji. Ni igba akọkọ ti GPIO ti yoo jade awọn ifihan agbara, ati awọn keji ni awọn ikanni ti yoo se ina awọn ifihan agbara. - Ni ipari, lati ṣakoso imọlẹ LED nipa lilo PWM, o lo iṣẹ atẹle:
ledcWrite (ikanni, dutycycle)
Iṣẹ yii gba bi awọn ariyanjiyan ikanni ti o n ṣe ifihan agbara PWM, ati iṣẹ-ṣiṣe iṣẹ.
Awọn ẹya ti a beere
Lati tẹle ikẹkọ yii o nilo awọn ẹya wọnyi:
- ESP32 DEVKIT V1 ọkọ
- LED 5mm
- 220 Ohm alatako
- Akara akara
- Jumper onirin
Sisọmu
Fi LED si ESP32 rẹ bi ninu aworan atọka atẹle. LED yẹ ki o wa ni asopọ si GPIO 4.Akiyesi: o le lo eyikeyi pinni ti o fẹ, bi gun to bi o ti le sise bi ohun o wu. Gbogbo awọn pinni ti o le ṣiṣẹ bi awọn abajade le ṣee lo bi awọn pinni PWM. Fun alaye diẹ sii nipa awọn ESP32 GPIO, ka: ESP32 Pinout Reference: Awọn pinni GPIO wo ni o yẹ ki o lo?
Koodu
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ni afikun ESP32 ti fi sori ẹrọ ṣaaju ki o to tẹsiwaju:(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDE
Ṣii koodu Project_3_ESP32_PWM.ino ni arduino IDEO bẹrẹ nipa asọye PIN ti LED ti so mọ. Ni idi eyi LED ti so mọ GPIO 4.
Lẹhinna, o ṣeto awọn ohun-ini ifihan agbara PWM. O ṣalaye igbohunsafẹfẹ ti 5000 Hz, yan ikanni 0 lati ṣe ina ifihan, ati ṣeto ipinnu ti awọn bit 8. O le yan awọn ohun-ini miiran, yatọ si iwọnyi, lati ṣe ina oriṣiriṣi awọn ifihan agbara PWM.
Ninu iṣeto (), o nilo lati tunto PWM LED pẹlu awọn ohun-ini ti o ti ṣalaye tẹlẹ nipa lilo iṣẹ ledcSetup () ti o gba bi awọn ariyanjiyan, ledChannel, igbohunsafẹfẹ, ati ipinnu, bi atẹle:
Nigbamii, o nilo lati yan GPIO ti iwọ yoo gba ifihan agbara lati. Fun na lo ledcAttachPin () -iṣẹ ti o gba bi awọn ariyanjiyan GPIO ibi ti o fẹ lati gba awọn ifihan agbara, ati awọn ikanni ti o ti wa ni ti o npese awọn ifihan agbara. Ninu example, a yoo gba ifihan agbara ni ledPin GPIO, ti o ni ibamu si GPIO 4. Ikanni ti o ṣe ifihan agbara jẹ ledChannel, ti o baamu si ikanni 0.
Ni lupu, iwọ yoo yatọ si iṣẹ iṣẹ laarin 0 ati 255 lati mu imọlẹ LED pọ si.
Ati lẹhinna, laarin 255 ati 0 lati dinku imọlẹ naa.
Lati ṣeto imọlẹ ti LED, o kan nilo lati lo iṣẹ ledcWrite () ti o gba bi awọn ariyanjiyan ikanni ti o n ṣe ifihan agbara, ati iṣẹ iṣẹ.
Bi a ṣe nlo ipinnu 8-bit, iṣẹ-ṣiṣe yoo wa ni iṣakoso nipa lilo iye kan lati 0 si 255. Ṣe akiyesi pe ninu iṣẹ ledcWrite () a lo ikanni ti o nmu ifihan agbara, kii ṣe GPIO.
Idanwo Example
Ṣe igbasilẹ koodu si ESP32 rẹ. Rii daju pe o ni igbimọ ti o tọ ati ibudo COM ti a yan. Wo Circuit rẹ. O yẹ ki o ni LED dimmer ti o pọ si ati dinku imọlẹ.
Ise agbese 4 ESP32 Sensọ išipopada PIR
Iṣẹ akanṣe yii fihan bi o ṣe le rii iṣipopada pẹlu ESP32 nipa lilo sensọ išipopada PIR.Buzzer yoo dun itaniji nigbati a ba rii iṣipopada, ki o da itaniji duro nigbati ko ba rii išipopada fun akoko tito tẹlẹ (bii awọn aaya 4)
Bawo ni sensọ išipopada HC-SR501 Ṣiṣẹ
.Ilana iṣẹ ti sensọ HC-SR501 da lori iyipada ti itọsi infurarẹẹdi lori ohun gbigbe. Lati rii nipasẹ sensọ HC-SR501, ohun naa gbọdọ pade awọn ibeere meji:
- Ohun naa n jade ni ọna infurarẹẹdi.
- Nkan naa n gbe tabi gbigbọn
Nitorina:
Ti ohun kan ba njade ray infurarẹẹdi ṣugbọn ko ni gbigbe (fun apẹẹrẹ, eniyan duro jẹ laisi gbigbe), sensọ ko rii.
Ti ohun kan ba n gbe ṣugbọn ko ṣe itusilẹ infurarẹẹdi ray (fun apẹẹrẹ, roboti tabi ọkọ), sensọ KO rii.
Ifihan Aago
Ninu example a yoo tun ṣafihan awọn aago. A fẹ ki LED duro lori fun nọmba ti a ti pinnu tẹlẹ ti awọn aaya lẹhin ti a ti rii išipopada. Dipo lilo iṣẹ idaduro () ti o ṣe idiwọ koodu rẹ ati pe ko gba ọ laaye lati ṣe ohunkohun miiran fun nọmba awọn aaya ti a pinnu, o yẹ ki a lo aago kan.Iṣẹ idaduro ().
O yẹ ki o faramọ iṣẹ idaduro () bi o ti nlo pupọ. Iṣẹ yii jẹ taara taara lati lo. O gba nọmba int kan bi ariyanjiyan.
Nọmba yii ṣe aṣoju akoko ni awọn iṣẹju-aaya ti eto naa ni lati duro titi gbigbe lọ si laini koodu atẹle.Nigbati o ba ṣe idaduro(1000) eto rẹ duro lori laini yẹn fun iṣẹju 1.
idaduro () ni a ìdènà iṣẹ. Awọn iṣẹ didi ṣe idiwọ eto lati ṣe ohunkohun miiran titi ti iṣẹ-ṣiṣe kan pato yoo fi pari. Ti o ba nilo awọn iṣẹ-ṣiṣe pupọ lati waye ni akoko kanna, o ko le lo idaduro ().
Fun ọpọlọpọ awọn iṣẹ akanṣe o yẹ ki o yago fun lilo awọn idaduro ati lo awọn akoko dipo.
Awọn millis () iṣẹ
Lilo iṣẹ kan ti a npe ni millis () o le da nọmba awọn milliseconds pada ti o ti kọja lati igba ti eto naa ti bẹrẹ.Kini idi ti iṣẹ yẹn wulo? Nitori nipa lilo awọn iṣiro diẹ, o le ni rọọrun rii daju iye akoko ti kọja laisi idinamọ koodu rẹ.
Awọn ẹya ti a beere
Lati tẹle ikẹkọ yii o nilo awọn apakan wọnyi
- ESP32 DEVKIT V1 ọkọ
- Sensọ išipopada PIR (HC-SR501)
- Buzzer ti nṣiṣe lọwọ
- Jumper onirin
- Akara akara
SisọmuAkiyesi: Awọn ṣiṣẹ voltage ti HC-SR501 jẹ 5V. Lo pin Vin lati fi agbara si.
Koodu
Ṣaaju ki o to tẹsiwaju pẹlu ikẹkọ yii o yẹ ki o ni afikun ESP32 ti fi sori ẹrọ ni Arduino IDE rẹ. Tẹle ọkan ninu awọn ikẹkọ atẹle lati fi ESP32 sori Arduino IDE ti o ko ba tii tẹlẹ.(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le fo si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDE
Ṣi koodu Project_4_ESP32_PIR_Motion_Sensor.ino ninu IDE arduino.
Afihan
Ṣe igbasilẹ koodu si igbimọ ESP32 rẹ. Rii daju pe o ni ọkọ ti o tọ ati ibudo COM ti a yan. Awọn igbesẹ itọkasi koodu gbejade.
Ṣii Atẹle Serial ni oṣuwọn baud ti 115200.Gbe ọwọ rẹ si iwaju sensọ PIR. Buzzer yẹ ki o tan-an, ati pe ifiranṣẹ naa ti wa ni titẹ sita ni Atẹle Serial sọ pe “A ti rii išipopada! Itaniji Buzzer”.
Lẹhin iṣẹju-aaya 4 buzzer yẹ ki o paa.
Project 5 ESP32 Yipada Web Olupin
Ninu iṣẹ akanṣe yii iwọ yoo ṣẹda adaduro kan web olupin pẹlu ESP32 ti o ṣakoso awọn abajade (Awọn LED meji) ni lilo agbegbe siseto Arduino IDE. Awọn web olupin jẹ idahun alagbeka ati pe o le wọle si pẹlu ẹrọ eyikeyi ti o jẹ ẹrọ aṣawakiri lori nẹtiwọọki agbegbe. A yoo fihan ọ bi o ṣe le ṣẹda awọn web olupin ati bi koodu naa ṣe n ṣiṣẹ ni igbese-nipasẹ-igbesẹ.
Ise agbese ti pariview
Ṣaaju ki o to lọ taara si ise agbese na, o jẹ pataki lati ìla ohun ti wa web olupin yoo ṣe, ki o rọrun lati tẹle awọn igbesẹ nigbamii lori.
- Awọn web olupin iwọ yoo kọ awọn idari awọn LED meji ti o sopọ si ESP32 GPIO 26 ati GPIO 27;
- O le wọle si ESP32 web olupin nipa titẹ adiresi IP ESP32 lori ẹrọ aṣawakiri kan ni nẹtiwọọki agbegbe;
- Nipa titẹ awọn bọtini lori rẹ web olupin o le yipada lẹsẹkẹsẹ ipo ti LED kọọkan.
Awọn ẹya ti a beere
Fun ikẹkọ yii iwọ yoo nilo awọn ẹya wọnyi:
- ESP32 DEVKIT V1 ọkọ
- 2x5mm LED
- 2x 200 Ohm resistor
- Akara akara
- Jumper onirin
Sisọmu
Bẹrẹ nipa kikọ Circuit naa. So awọn LED meji pọ si ESP32 bi o ṣe han ninu aworan atọka atẹle – LED kan ti o sopọ si GPIO 26, ati ekeji si GPIO 27.
Akiyesi: A nlo igbimọ ESP32 DEVKIT DOIT pẹlu awọn pinni 36. Ṣaaju ki o to pejọ Circuit, rii daju pe o ṣayẹwo pinout fun igbimọ ti o nlo.Koodu
Nibi a pese koodu ti o ṣẹda ESP32 web olupin. Ṣii koodu Project_5_ESP32_Switch _Web_Server.ino ninu IDE arduino, ṣugbọn maṣe gbejade sibẹ. O nilo lati ṣe diẹ ninu awọn ayipada lati jẹ ki o ṣiṣẹ fun ọ.
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ni afikun ESP32 ti fi sori ẹrọ ṣaaju ki o to tẹsiwaju:(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDE
Ṣiṣeto Awọn ijẹrisi Nẹtiwọọki rẹ
O nilo lati yi awọn ila wọnyi pada pẹlu awọn ijẹrisi nẹtiwọọki rẹ: SSID ati ọrọ igbaniwọle. Awọn koodu ti wa ni daradara commented lori ibi ti o yẹ ki o ṣe awọn ayipada.Ikojọpọ koodu
Bayi, o le po si awọn koodu ati awọn web olupin yoo ṣiṣẹ lẹsẹkẹsẹ.
Tẹle awọn igbesẹ atẹle lati gbe koodu si ESP32:
- Pulọọgi igbimọ ESP32 rẹ sinu kọnputa rẹ;
- Ninu Arduino IDE yan igbimọ rẹ ni Awọn irinṣẹ> Igbimọ (ninu ọran wa a nlo igbimọ ESP32 DEVKIT DOIT);
- Yan ibudo COM ni Awọn irinṣẹ> Ibudo.
- Tẹ bọtini ikojọpọ ni Arduino IDE ki o duro fun iṣẹju-aaya diẹ lakoko ti koodu n ṣajọ ati awọn ikojọpọ si igbimọ rẹ.
- Duro fun ifiranṣẹ "Ti ṣee ṣe ikojọpọ".
Wiwa Adirẹsi IP ESP
Lẹhin ikojọpọ koodu naa, ṣii Atẹle Serial ni oṣuwọn baud ti 115200.Tẹ bọtini ESP32 EN (tunto). ESP32 sopọ si Wi-Fi, o si ṣejade adiresi IP ESP lori Atẹle Serial. Daakọ adiresi IP yẹn, nitori o nilo rẹ lati wọle si ESP32 web olupin.
Iwọle si awọn Web Olupin
Lati wọle si awọn web olupin, ṣii ẹrọ aṣawakiri rẹ, lẹẹmọ adiresi IP ESP32, iwọ yoo wo oju-iwe atẹle.
Akiyesi: Aṣàwákiri rẹ ati ESP32 yẹ ki o sopọ si LAN kanna.Ti o ba wo Atẹle Serial, o le rii ohun ti n ṣẹlẹ lori abẹlẹ. ESP gba ibeere HTTP kan lati ọdọ alabara tuntun (ninu ọran yii, aṣawakiri rẹ).
O tun le wo alaye miiran nipa ibeere HTTP.
Afihan
Bayi o le ṣe idanwo boya rẹ web olupin n ṣiṣẹ daradara. Tẹ awọn bọtini lati ṣakoso awọn LED.Ni akoko kanna, o le wo Atẹle Serial lati rii ohun ti n ṣẹlẹ ni abẹlẹ. Fun example, nigbati o ba tẹ bọtini lati tan GPIO 26 ON, ESP32 gba ibeere lori / 26/lori URL.
Nigbati ESP32 ba gba ibeere yẹn, yoo tan LED ti o so mọ GPIO 26 ON ati ṣe imudojuiwọn ipo rẹ lori web oju-iwe.
Bọtini fun GPIO 27 ṣiṣẹ ni ọna kanna. Ṣe idanwo pe o n ṣiṣẹ daradara.
Bawo ni koodu Nṣiṣẹ
Ni apakan yii yoo ṣe akiyesi diẹ sii koodu lati rii bi o ṣe n ṣiṣẹ.
Ohun akọkọ ti o nilo lati ṣe ni lati ṣafikun ile-ikawe WiFi.Gẹgẹbi a ti sọ tẹlẹ, o nilo lati fi ssid rẹ ati ọrọ igbaniwọle sii ni awọn ila atẹle inu awọn agbasọ ilọpo meji.
Lẹhinna, o ṣeto rẹ web olupin si ibudo 80.
Laini atẹle ṣẹda oniyipada lati tọju akọsori ti ibeere HTTP:
Nigbamii, o ṣẹda awọn oniyipada iranlọwọ lati tọju ipo lọwọlọwọ ti awọn abajade rẹ. Ti o ba fẹ fikun awọn abajade diẹ sii ati fi ipo rẹ pamọ, o nilo lati ṣẹda awọn oniyipada diẹ sii.
O tun nilo lati fi GPIO kan si ọkọọkan awọn abajade rẹ. Nibi ti a ti wa ni lilo GPIO 26 ati GPIO 27. O le lo eyikeyi miiran dara GPIOs.
ṣeto()
Bayi, jẹ ki a lọ sinu iṣeto (). Ni akọkọ, a bẹrẹ ibaraẹnisọrọ ni tẹlentẹle ni iwọn baud ti 115200 fun awọn idi ti n ṣatunṣe aṣiṣe.O tun ṣalaye awọn GPIO rẹ bi Awọn OUTPUTs ati ṣeto wọn si LOW.
Awọn ila wọnyi bẹrẹ asopọ Wi-Fi pẹlu WiFi.begin (ssid, ọrọ igbaniwọle), duro fun asopọ aṣeyọri ati tẹ adirẹsi IP ESP ni Atẹle Serial.
loop()
Ninu lupu () a ṣe eto ohun ti o ṣẹlẹ nigbati alabara tuntun ba ṣeto asopọ pẹlu web olupin.
ESP32 n tẹtisi nigbagbogbo fun awọn alabara ti nwọle pẹlu laini atẹle:Nigbati ibeere ba gba lati ọdọ alabara kan, a yoo fipamọ data ti nwọle. Lakoko lupu ti o tẹle yoo ṣiṣẹ niwọn igba ti alabara ba wa ni asopọ. A ko ṣeduro iyipada apakan atẹle ti koodu ayafi ti o ba mọ ohun ti o n ṣe ni pato.
Apakan ti o tẹle ti if ati awọn alaye miiran ṣayẹwo iru bọtini wo ni a tẹ ninu rẹ web oju-iwe, ati iṣakoso awọn abajade ni ibamu. Bi a ti sọ ri tẹlẹ, a ṣe kan ìbéèrè lori yatọ si URLs da lori bọtini ti a tẹ.
Fun example, ti o ba ti tẹ bọtini GPIO 26 ON, ESP32 gba ibeere lori /26/ON URL (a le rii alaye yẹn lori akọsori HTTP lori Atẹle Serial). Nitorinaa, a le ṣayẹwo boya akọsori naa ni ikosile GET /26/lori. Ti o ba wa ninu rẹ, a yipada oniyipada ipo26 si ON, ati ESP32 yoo tan LED si titan.
Eyi ṣiṣẹ bakanna fun awọn bọtini miiran. Nitorinaa, ti o ba fẹ ṣafikun awọn abajade diẹ sii, o yẹ ki o yipada apakan yii ti koodu lati ṣafikun wọn.
Ifihan HTML web oju-iwe
Nigbamii ti ohun ti o nilo lati se, ni a ṣiṣẹda awọn web oju-iwe. ESP32 yoo firanṣẹ esi si ẹrọ aṣawakiri rẹ pẹlu koodu HTML kan lati kọ web oju-iwe.
Awọn web Oju-iwe ti wa ni fifiranṣẹ si alabara ni lilo alabara ti n ṣalaye yii.println (). O yẹ ki o tẹ ohun ti o fẹ firanṣẹ si alabara bi ariyanjiyan.
Ohun akọkọ ti o yẹ ki a firanṣẹ nigbagbogbo jẹ laini atẹle, ti o tọka si pe a n firanṣẹ HTML.Nigbana ni, awọn wọnyi ila mu ki awọn web oju-iwe ṣe idahun ni eyikeyi web kiri ayelujara.
Ati pe atẹle naa ni a lo lati ṣe idiwọ awọn ibeere lori favicon. – O ko nilo a dààmú nipa yi ila.
Iselona awọn Web Oju-iwe
Nigbamii, a ni diẹ ninu ọrọ CSS lati ṣe ara awọn bọtini ati awọn web irisi oju-iwe.
A yan fonti Helvetica, ṣalaye akoonu lati ṣafihan bi bulọọki kan ati deede ni aarin.A ṣe ara awọn bọtini wa pẹlu awọ #4CAF50, laisi aala, ọrọ ni awọ funfun, ati pẹlu padding yii: 16px 40px. A tun ṣeto ohun ọṣọ-ọrọ si ko si, ṣalaye iwọn fonti, ala, ati kọsọ si itọka kan.
A tun ṣalaye ara fun bọtini keji, pẹlu gbogbo awọn ohun-ini ti bọtini ti a ti ṣalaye tẹlẹ, ṣugbọn pẹlu awọ oriṣiriṣi. Eyi yoo jẹ aṣa fun bọtini pipa.
Eto awọn Web Oju-iwe Akọkọ akọle
Ni ila atẹle o le ṣeto akọle akọkọ ti rẹ web oju-iwe. Nibi a ni “ESP32 Web Olupin", ṣugbọn o le yi ọrọ yii pada si ohunkohun ti o fẹ.Ifihan Awọn bọtini ati Ipinle ti o baamu
Lẹhinna, o kọ paragirafi kan lati ṣafihan ipo lọwọlọwọ GPIO 26. Bi o ti le ri ti a lo output26State oniyipada, ki awọn ipinle imudojuiwọn lesekese nigbati yi ayípadà ayipada.Lẹhinna, a ṣafihan bọtini titan tabi pipa, da lori ipo GPIO lọwọlọwọ. Ti ipo GPIO lọwọlọwọ ba wa ni pipa, a fihan bọtini ON, ti kii ba ṣe bẹ, a ṣe afihan bọtini PA.
A lo ilana kanna fun GPIO 27.
Pipade Asopọmọra
Nikẹhin, nigbati idahun ba pari, a ko oniyipada akọsori, ati da asopọ pẹlu alabara pẹlu client.stop ().
Fi ipari si
Ninu ikẹkọ yii a ti fihan ọ bi o ṣe le kọ kan web olupin pẹlu ESP32. A ti fihan ọ kan ti o rọrun example ti o ṣakoso awọn LED meji, ṣugbọn imọran ni lati rọpo awọn LED wọnyẹn pẹlu iṣipopada, tabi eyikeyi abajade miiran ti o fẹ ṣakoso.
Ise agbese 6 RGB LED Web Olupin
Ninu iṣẹ akanṣe yii a yoo fihan ọ bi o ṣe le ṣakoso latọna jijin RGB LED pẹlu igbimọ ESP32 nipa lilo a web olupin pẹlu kan awọ picker.
Ise agbese ti pariview
Ṣaaju ki o to bẹrẹ, jẹ ki a wo bii iṣẹ akanṣe yii ṣe n ṣiṣẹ:
- ESP32 web olupin han a awọ picker.
- Nigbati o ba yan awọ kan, aṣàwákiri rẹ ṣe ìbéèrè kan URL ti o ni awọn paramita R, G, ati B ti awọ ti o yan.
- ESP32 rẹ gba ibeere ati pin iye fun paramita awọ kọọkan.
- Lẹhinna, o fi ami ifihan PWM ranṣẹ pẹlu iye ti o baamu si awọn GPIO ti o nṣakoso RGB LED.
Bawo ni awọn LED RGB ṣiṣẹ?
Ni a wọpọ cathode RGB LED, gbogbo awọn mẹta LED pin a odi asopọ (cathode) .Gbogbo to wa ninu awọn kit ni o wa wọpọ-cathode RGB.Bawo ni lati ṣẹda awọn awọ oriṣiriṣi?
Pẹlu LED RGB o le, nitorinaa, ṣe agbejade pupa, alawọ ewe, ati ina bulu, ati nipa tito leto kikankikan ti LED kọọkan, o le gbe awọn awọ miiran jade daradara.
Fun example, lati ṣe agbejade ina bulu odasaka, iwọ yoo ṣeto LED buluu si kikankikan ti o ga julọ ati alawọ ewe ati awọn LED pupa si kikankikan ti o kere julọ. Fun ina funfun, iwọ yoo ṣeto gbogbo awọn LED mẹta si kikankikan ti o ga julọ.
Dapọ awọn awọ
Lati ṣe agbejade awọn awọ miiran, o le darapọ awọn awọ mẹta ni awọn iwọn oriṣiriṣi. Lati ṣatunṣe kikankikan ti LED kọọkan o le lo ifihan PWM kan.
Nitoripe awọn LED jẹ isunmọ si ara wọn, oju wa ri abajade ti apapo awọn awọ, dipo awọn awọ mẹta ni ẹyọkan.
Lati ni imọran lori bi o ṣe le darapọ awọn awọ, wo aworan apẹrẹ atẹle.
Eyi ni apẹrẹ awọ ti o rọrun julọ, ṣugbọn fun ọ ni imọran bi o ṣe n ṣiṣẹ ati bii o ṣe le ṣe awọn awọ oriṣiriṣi.Awọn ẹya ti a beere
Fun iṣẹ akanṣe yii o nilo awọn ẹya wọnyi:
- ESP32 DEVKIT V1 ọkọ
- RGB LED
- 3x 220 ohm resistors
- Jumper onirin
- Akara akara
SisọmuKoodu
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ni afikun ESP32 ti fi sori ẹrọ ṣaaju ki o to tẹsiwaju:(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
- Fifi ESP32 Fikun-un ni Arduino IDE
Lẹhin ti Nto awọn Circuit, Ṣii awọn koodu
Ise agbese_6_RGB_LED_Web_Server.ino ni arduino IDE.
Ṣaaju ki o to gbe koodu naa, maṣe gbagbe lati fi awọn iwe-ẹri nẹtiwọki rẹ sii ki ESP le sopọ si nẹtiwọki agbegbe rẹ.Bawo ni koodu ṣiṣẹ
Sketch ESP32 nlo ile-ikawe WiFi.h.Awọn ila wọnyi n ṣalaye awọn oniyipada okun lati mu awọn aye R, G, ati B lati inu ibeere naa.
Awọn oniyipada mẹrin ti o tẹle ni a lo lati pinnu ibeere HTTP nigbamii lori.
Ṣẹda awọn oniyipada mẹta fun awọn GPIO ti yoo ṣakoso awọn ipin R, G, ati B. Ni idi eyi a nlo GPIO 13, GPIO 12, ati GPIO 14.
Awọn GPIO wọnyi nilo lati ṣe awọn ifihan agbara PWM jade, nitorinaa a nilo lati tunto awọn ohun-ini PWM ni akọkọ. Ṣeto igbohunsafẹfẹ ifihan agbara PWM si 5000 Hz. Lẹhinna, darapọ mọ ikanni PWM fun awọ kọọkan
Ati nikẹhin, ṣeto ipinnu ti awọn ikanni PWM si 8-bit
Ninu iṣeto (), fi awọn ohun-ini PWM si awọn ikanni PWM
So awọn ikanni PWM pọ si awọn GPIO ti o baamu
Awọn wọnyi koodu apakan han awọn awọ picker ninu rẹ web oju-iwe ati ṣe ibeere ti o da lori awọ ti o ti mu.
Nigbati o ba yan awọ kan, o gba ibeere kan pẹlu ọna kika atẹle.
Nitorinaa, a nilo lati pin okun yii lati gba awọn aye R, G, ati B. Awọn paramita ti wa ni fipamọ ni redString, greenString, ati awọn oniyipada blueString ati pe o le ni awọn iye laarin 0 ati 255.Lati ṣakoso rinhoho pẹlu ESP32, lo iṣẹ ledcWrite () lati ṣe awọn ifihan agbara PWM pẹlu awọn iye ti a ti pinnu lati HTTP. ìbéèrè.
Akiyesi: Kọ ẹkọ diẹ sii nipa PWM pẹlu ESP32: Project 3 ESP32 PWM(Ijade Afọwọṣe)
Lati ṣakoso rinhoho pẹlu ESP8266, a kan nilo lati lo
iṣẹ analogWrite () lati ṣe ina awọn ifihan agbara PWM pẹlu awọn iye ti a yipada lati ibeere HTPP.
analogWrite (redPin, redString.toInt ());
analogWrite (greenPin, greenString.toInt ());
analogWrite (bluePin, blueString.toInt())
Nitoripe a gba awọn iye ni oniyipada okun, a nilo lati yi wọn pada si awọn nọmba ni lilo ọna toInt ().
Afihan
Lẹhin fifi awọn ijẹrisi nẹtiwọọki rẹ sii, yan igbimọ ọtun ati ibudo COM ati gbe koodu naa si awọn igbesẹ itọkasi koodu ESP32.Upload.
Lẹhin ikojọpọ, ṣii Atẹle Serial ni iwọn baud ti 115200 ki o tẹ bọtini ESP Mu / Tunto. O yẹ ki o gba adiresi IP igbimọ.Ṣii ẹrọ aṣawakiri rẹ ki o fi adiresi IP ESP sii. Bayi, lo oluyan awọ lati yan awọ kan fun LED RGB.
Lẹhinna, o nilo lati tẹ bọtini “Yipada Awọ” fun awọ lati mu ipa.Lati paa LED RGB, yan awọ dudu.
Awọn awọ ti o lagbara julọ (ni oke ti oluka awọ), jẹ awọn ti yoo ṣe awọn esi to dara julọ.
Ise agbese 7 ESP32 yii Web Olupin
Lilo iṣipopada pẹlu ESP32 jẹ ọna nla lati ṣakoso awọn ohun elo ile AC latọna jijin. Ikẹkọ yii ṣe alaye bi o ṣe le ṣakoso module yii pẹlu ESP32.
A yoo wo bi module yii ṣe n ṣiṣẹ, bawo ni a ṣe le so yii pọ si ESP32 ati kọ kan web olupin lati sakoso a yii latọna jijin.
Ifihan Relays
Relay jẹ iyipada ti a ṣiṣẹ ni itanna ati bii eyikeyi iyipada miiran, o le wa ni titan tabi paa, jẹ ki lọwọlọwọ lọ nipasẹ tabi rara. O le wa ni dari pẹlu kekere voltages, bii 3.3V ti a pese nipasẹ awọn ESP32 GPIOs ati gba wa laaye lati ṣakoso iwọn giga.tages bi 12V, 24V tabi mains voltage (230V ni Yuroopu ati 120V ni AMẸRIKA).Ni apa osi, awọn ipilẹ meji ti awọn iho mẹta wa lati so volt gigatages, ati awọn pinni ni apa ọtun (kekere-voltage) sopọ si ESP32 GPIOs.
Mains Voltage Awọn isopọModule yii ti o han ninu fọto ti tẹlẹ ni awọn asopọ meji, ọkọọkan pẹlu awọn iho mẹta: wọpọ (COM), Ni pipade deede (NC), ati Ṣii deede (NO).
- COM: so lọwọlọwọ ti o fẹ ṣakoso ( mains voltagati).
- NC (Titiipade deede): iṣeto ni pipade deede ni a lo nigbati o fẹ ki yii wa ni pipade nipasẹ aiyipada. Awọn NC jẹ awọn pinni COM ti sopọ, afipamo pe lọwọlọwọ ti nṣàn ayafi ti o ba fi ami kan ranṣẹ lati ESP32 si module yii lati ṣii Circuit ati da ṣiṣan lọwọlọwọ duro.
- KO (Ṣii deede): iṣeto ṣiṣii deede n ṣiṣẹ ni ọna miiran: ko si asopọ laarin awọn pinni NO ati COM, nitorinaa Circuit ti bajẹ ayafi ti o ba fi ami ranṣẹ lati ESP32 lati pa Circuit naa.
Iṣakoso PinniAwọn kekere-voltage ẹgbẹ ni o ni kan ti ṣeto ti mẹrin pinni ati ki o kan ti ṣeto ti mẹta pinni. Ni igba akọkọ ti ṣeto oriširiši VCC ati GND lati fi agbara soke awọn module, ati input 1 (IN1) ati input 2 (IN2) lati šakoso awọn isalẹ ati oke relays, lẹsẹsẹ.
Ti module relay rẹ ba ni ikanni kan, iwọ yoo ni PIN kan nikan. Ti o ba ni awọn ikanni mẹrin, iwọ yoo ni awọn pinni IN mẹrin, ati bẹbẹ lọ.
Awọn ifihan agbara ti o fi si awọn IN pinni, ipinnu boya awọn yii ti nṣiṣe lọwọ tabi ko. Awọn yii ti wa ni jeki nigbati awọn input lọ ni isalẹ nipa 2V. Eyi tumọ si pe iwọ yoo ni awọn oju iṣẹlẹ wọnyi:
- Iṣeto ni pipade deede (NC):
- ifihan agbara giga - lọwọlọwọ ti nṣàn
- Ifihan LOW – lọwọlọwọ ko nṣàn
- Ṣii iṣeto ni deede (KO):
- Ifihan giga - lọwọlọwọ ko nṣàn
- LOW ifihan agbara – lọwọlọwọ ti nṣàn
O yẹ ki o lo iṣeto pipade deede nigbati lọwọlọwọ yẹ ki o nṣàn ni ọpọlọpọ igba, ati pe o fẹ lati da duro lẹẹkọọkan.
Lo iṣeto ṣiṣi deede nigbati o fẹ ki lọwọlọwọ ṣan lẹẹkọọkan (fun example, tan alamp lẹẹkọọkan).
Aṣayan Ipese AgbaraEto keji ti awọn pinni ni GND, VCC, ati awọn pinni JD-VCC.
PIN JD-VCC n ṣe agbara elekitirogi ti iṣipopada naa. Akiyesi pe awọn module ni o ni a jumper fila pọ VCC ati JD-VCC pinni; eyi ti o han nibi jẹ ofeefee, ṣugbọn tirẹ le jẹ awọ ti o yatọ.
Pẹlu fila jumper lori, VCC ati awọn pinni JD-VCC ti sopọ. Iyẹn tumọ si pe electromagnet yii jẹ agbara taara lati pin agbara ESP32, nitorinaa module yii ati awọn iyika ESP32 ko ya sọtọ si ara wọn.
Laisi fila jumper, o nilo lati pese orisun agbara olominira lati fi agbara itanna elekitirogi yi soke nipasẹ PIN JD-VCC. Ti iṣeto ni ti ara ya sọtọ awọn relays lati ESP32 pẹlu module ká-itumọ ti ni optocoupler, eyi ti idilọwọ ibaje si ESP32 ni irú ti itanna spikes.
SisọmuIkilọ: Lilo ti ga voltage ipese agbara le fa pataki ipalara.
Nitorina, 5mm LED ti wa ni lilo dipo ti ga ipese voltage Isusu ni ṣàdánwò. Ti o ko ba faramọ pẹlu mains voltage beere ẹnikan ti o ni lati ran o jade. Lakoko siseto ESP tabi wiwi Circuit rẹ rii daju pe ohun gbogbo ti ge asopọ lati mains voltage.Fifi sori ẹrọ Ile-ikawe fun ESP32
Lati kọ eyi web olupin, a lo ESPAsyncWebIle-ikawe olupin ati Ile-ikawe AsyncTCP.
Fifi ESPAsync sori ẹrọWebìkàwé olupin
Tẹle awọn igbesẹ atẹle lati fi sori ẹrọ naa ESPAsyncWebOlupin ile-ikawe:
- Tẹ ibi lati ṣe igbasilẹ ESPAsyncWebìkàwé olupin. O yẹ ki o ni
folda .zip ninu folda Awọn igbasilẹ rẹ - Yọọ folda .zip ati pe o yẹ ki o gba ESPAsyncWebServer-titunto si folda
- Tun orukọ folda rẹ lorukọ lati ESPAsyncWebOlupin-olupin si ESPAsyncWebOlupin
- Gbe ESPAsyncWebFolda olupin si Arduino IDE fifi sori folda awọn ikawe ikawe rẹ
Ni omiiran, ninu Arduino IDE rẹ, o le lọ si Sketch> Fi kun
Ile-ikawe > Fikun-ikawe ZIP… ki o si yan ile-ikawe ti o ṣẹṣẹ ṣe igbasilẹ.
Fifi AsyncTCP Library sori ẹrọ fun ESP32
Awọn ESPAsyncWebOlupin ìkàwé nbeere awọn AsyncTCP ìkàwé lati ṣiṣẹ. Tẹle
Awọn igbesẹ atẹle lati fi sori ẹrọ ile-ikawe yẹn:
- Tẹ ibi lati ṣe igbasilẹ ile-ikawe AsyncTCP. O yẹ ki o ni folda .zip kan ninu folda Awọn igbasilẹ rẹ
- Unzip awọn .zip folda ati awọn ti o yẹ ki o gba AsyncTCP-master folda
1. Tun orukọ folda rẹ lorukọ lati AsyncTCP-master si AsyncTCP
3. Gbe awọn AsyncTCP folda si Arduino IDE fifi sori folda ikawe
4. Níkẹyìn, tun-ṣii Arduino IDE rẹ
Ni omiiran, ninu Arduino IDE rẹ, o le lọ si Sketch> Fi kun
Ile-ikawe > Fikun-ikawe ZIP… ki o si yan ile-ikawe ti o ṣẹṣẹ ṣe igbasilẹ.
Koodu
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ni afikun ESP32 ti fi sori ẹrọ ṣaaju ki o to tẹsiwaju:(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDE
Lẹhin fifi sori awọn ile-ikawe ti o nilo, Ṣii koodu Project_7_ESP32_Relay_Web_Server.ino ni arduino IDE.
Ṣaaju ki o to gbe koodu naa, maṣe gbagbe lati fi awọn iwe-ẹri nẹtiwọki rẹ sii ki ESP le sopọ si nẹtiwọki agbegbe rẹ.Afihan
Lẹhin ṣiṣe awọn pataki ayipada, po si awọn koodu si rẹ ESP32.Upload koodu itọkasi awọn igbesẹ.
Ṣii Atẹle Serial ni iwọn baud ti 115200 ki o tẹ bọtini ESP32 EN lati gba adiresi IP rẹ. Lẹhinna, ṣii ẹrọ aṣawakiri kan ni nẹtiwọọki agbegbe rẹ ki o tẹ adirẹsi IP ESP32 lati wọle si web olupin.
Ṣii Atẹle Serial ni iwọn baud ti 115200 ki o tẹ bọtini ESP32 EN lati gba adiresi IP rẹ. Lẹhinna, ṣii ẹrọ aṣawakiri kan ni nẹtiwọọki agbegbe rẹ ki o tẹ adirẹsi IP ESP32 lati wọle si web olupin.Akiyesi: Aṣàwákiri rẹ ati ESP32 yẹ ki o sopọ si LAN kanna.
O yẹ ki o gba nkan bi atẹle pẹlu awọn bọtini meji bi nọmba awọn iṣipopada ti o ti ṣalaye ninu koodu rẹ.Bayi, o le lo awọn bọtini lati sakoso rẹ relays lilo rẹ foonuiyara.
Project_8_Ojade_State_Synchronization_ Web_Olupin
Ise agbese yii fihan bi o ṣe le ṣakoso awọn abajade ESP32 tabi ESP8266 nipa lilo a web olupin ati bọtini ti ara ni nigbakannaa. O wu ipinle ti ni imudojuiwọn lori awọn web oju-iwe boya o yipada nipasẹ bọtini ti ara tabi web olupin.
Ise agbese ti pariview
Jẹ ki a yara wo bi iṣẹ akanṣe naa ṣe n ṣiṣẹ.ESP32 tabi ESP8266 gbalejo a web olupin ti o faye gba o lati šakoso awọn ipinle ti ẹya o wu;
- Awọn ti isiyi o wu ipinle ti han lori awọn web olupin;
- ESP naa tun sopọ si bọtini itẹwe ti ara ti o ṣakoso iṣelọpọ kanna;
- Ti o ba yi awọn o wu ipinle nipa lilo awọn ti ara puhsbutton, awọn oniwe-lọwọlọwọ ti wa ni tun imudojuiwọn lori awọn web olupin.
Ni akojọpọ, iṣẹ akanṣe yii ngbanilaaye lati ṣakoso iṣelọpọ kanna ni lilo a web olupin ati bọtini titari ni nigbakannaa. Nigbakugba ti o wu ipinle ayipada, awọn web olupin ti ni imudojuiwọn.
Awọn ẹya ti a beere
Eyi ni atokọ ti awọn apakan si o nilo lati kọ iyika naa:
- ESP32 DEVKIT V1 ọkọ
- 5 mm LED
- 220Ohm resistor
- Bọtini Titari
- 10k Ohm resistor
- Akara akara
- Jumper onirin
SisọmuFifi sori ẹrọ Ile-ikawe fun ESP32
Lati kọ eyi web olupin, a lo ESPAsyncWebIle-ikawe olupin ati Ile-ikawe AsyncTCP.(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le fo si igbesẹ ti nbọ.)
Fifi ESPAsync sori ẹrọWebìkàwé olupin
Tẹle awọn igbesẹ atẹle lati fi ESPAsync sori ẹrọWebIle-ikawe olupin:
- Tẹ ibi lati ṣe igbasilẹ ESPAsyncWebìkàwé olupin. O yẹ ki o ni
folda .zip ninu folda Awọn igbasilẹ rẹ - Yọọ folda .zip ati pe o yẹ ki o gba ESPAsyncWebServer-titunto si folda
- Tun orukọ folda rẹ lorukọ lati ESPAsyncWebOlupin-olupin si ESPAsyncWebOlupin
- Gbe ESPAsyncWebFolda olupin si Arduino IDE fifi sori folda awọn ikawe ikawe rẹ
Ni omiiran, ninu Arduino IDE rẹ, o le lọ si Sketch> Fi kun
Ile-ikawe > Fikun-ikawe ZIP… ki o si yan ile-ikawe ti o ṣẹṣẹ ṣe igbasilẹ.
Fifi AsyncTCP Library sori ẹrọ fun ESP32
ESPAsyncWebIle-ikawe olupin nilo ile-ikawe AsyncTCP lati ṣiṣẹ. Tẹle awọn igbesẹ atẹle lati fi sori ẹrọ ile-ikawe yẹn:
- Tẹ ibi lati ṣe igbasilẹ ile-ikawe AsyncTCP. O yẹ ki o ni folda .zip kan ninu folda Awọn igbasilẹ rẹ
- Unzip awọn .zip folda ati awọn ti o yẹ ki o gba AsyncTCP-master folda
- Tun folda rẹ lorukọ lati AsyncTCP-master si AsyncTCP
- Gbe folda AsyncTCP lọ si folda awọn ile-ikawe fifi sori Arduino IDE rẹ
- Níkẹyìn, tun-ṣii Arduino IDE rẹ
Ni omiiran, ninu Arduino IDE rẹ, o le lọ si Sketch> Fi kun
Ile-ikawe > Fikun-ikawe ZIP… ki o si yan ile-ikawe ti o ṣẹṣẹ ṣe igbasilẹ.
Koodu
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ni afikun ESP32 ti fi sori ẹrọ ṣaaju ki o to tẹsiwaju:(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDE
Lẹhin fifi awọn ile-ikawe ti o nilo sii, Ṣii koodu naa
Project_8_Ojade_State_Synchronization_Web_Server.ino ni arduino IDE.
Ṣaaju ki o to gbe koodu naa, maṣe gbagbe lati fi awọn iwe-ẹri nẹtiwọki rẹ sii ki ESP le sopọ si nẹtiwọki agbegbe rẹ.
Bawo ni koodu Nṣiṣẹ
Bọtini Ipinle ati Ipinle Ijade
Oniyipada ledState di ipo iṣelọpọ LED mu. Fun aiyipada, nigbati awọn web olupin bẹrẹ, o jẹ LOW.
BọtiniState ati LastButtonState ni a lo lati rii boya bọtini titari ti tẹ tabi rara.Bọtini (web olupin)
A ko pẹlu HTML lati ṣẹda bọtini lori oniyipada index_html.
Iyẹn jẹ nitori a fẹ lati ni anfani lati yi pada da lori ipo LED lọwọlọwọ ti o tun le yipada pẹlu bọtini titẹ.
Nitorinaa, a ti ṣẹda ibi ipamọ fun bọtini% BUTTONPLACEHOLDER% ti yoo rọpo pẹlu ọrọ HTML lati ṣẹda bọtini nigbamii lori koodu (eyi ni a ṣe ni iṣẹ ero isise).ero isise()
Awọn isise () iṣẹ rọpo eyikeyi placeholders lori HTML ọrọ pẹlu gangan iye. Ni akọkọ, o ṣayẹwo boya awọn ọrọ HTML ni eyikeyi ninu
placeholders% BUTTONPLACEHOLDER%.Lẹhinna, pe iṣẹ theoutputState () ti o da ipo iṣelọpọ lọwọlọwọ pada. A fipamọ sinu oniyipadaStateValue.
Lẹhin iyẹn, lo iye yẹn lati ṣẹda ọrọ HTML lati ṣafihan bọtini pẹlu ipo ti o tọ:
Ibeere HTTP GET lati Yi Ipinle Ijade pada (JavaScript)
Nigbati o ba tẹ bọtini naa, iṣẹ toggleCheckbox () ni a pe. Iṣẹ yii yoo ṣe ibeere lori oriṣiriṣi URLs lati tan-an tabi pa LED.Lati tan LED, o ṣe ibeere lori /update?state=1 URL:
Bibẹẹkọ, o ṣe ibeere lori /update?state=0 URL.
Ibeere HTTP GET lati ṣe imudojuiwọn Ipinle (JavaScript)
Lati pa awọn o wu ipinle imudojuiwọn lori awọn web olupin, a pe iṣẹ atẹle ti o ṣe ibeere tuntun lori / ipinle URL gbogbo iṣẹju.Mu awọn ibeere
Lẹhinna, a nilo lati mu ohun ti o ṣẹlẹ nigbati ESP32 tabi ESP8266 gba awọn ibeere lori iyẹn URLs.
Nigbati o ba gba ibeere kan lori gbongbo /URL, a firanṣẹ oju-iwe HTML bakanna bi ero isise naa.Awọn ila wọnyi ṣayẹwo boya o gba ibeere lori /update?state=1 tabi /update?state=0 URL ati awọn ayipada ledState ni ibamu.
Nigbati a ba gba ibeere lori / ipinle URL, a fi ipo iṣelọpọ lọwọlọwọ ranṣẹ:
loop()
Ni lupu (), a debounce titari bọtini ati ki o tan LED tan tabi pa da lori iye ti ledState oniyipada.Afihan
Po si awọn koodu si rẹ ESP32 board.Po si koodu itọkasi awọn igbesẹ.
Lẹhinna, ṣii Atẹle Serial ni iwọn baud ti 115200. Tẹ bọtini EN / RST lori ọkọ lati gba ni adiresi IP.Ṣii ẹrọ aṣawakiri kan lori nẹtiwọki agbegbe rẹ, ki o tẹ adirẹsi IP ESP naa. O yẹ ki o ni iwọle si awọn web olupin bi han ni isalẹ.
Akiyesi: Aṣàwákiri rẹ ati ESP32 yẹ ki o sopọ si LAN kanna.O le yi awọn bọtini lori awọn web olupin lati tan LED.
O tun le ṣakoso LED kanna pẹlu bọtini titẹ ti ara. Awọn oniwe-ipinle yoo ma wa ni imudojuiwọn laifọwọyi lori awọn web olupin.
Ise agbese 9 ESP32 DHT11 Web Olupin
Ninu iṣẹ akanṣe yii, iwọ yoo kọ ẹkọ bi o ṣe le kọ ESP32 asynchronous web olupin pẹlu DHT11 ti o ṣe afihan iwọn otutu ati ọriniinitutu nipa lilo Arduino IDE.
Awọn ibeere pataki
Awọn web olupin a yoo kọ awọn imudojuiwọn awọn kika laifọwọyi laisi iwulo lati sọ awọn web oju-iwe.
Pẹlu iṣẹ akanṣe yii iwọ yoo kọ ẹkọ:
- Bii o ṣe le ka iwọn otutu ati ọriniinitutu lati awọn sensọ DHT;
- Kọ asynchronous web olupin lilo awọn ESPAsyncWebìkàwé olupin;
- Ṣe imudojuiwọn awọn kika sensọ laifọwọyi laisi iwulo lati sọ awọn web oju-iwe.
Asynchronous Web Olupin
Lati kọ awọn web olupin a yoo lo ESPAsyncWebìkàwé olupin ti o pese ọna ti o rọrun lati kọ asynchronous web olupin. Ilé ohun asynchronous web olupin ni ọpọlọpọ awọn advantages bi a ti mẹnuba ninu iwe-ikawe GitHub, bii:
- "Mu awọn asopọ diẹ sii ju ọkan lọ ni akoko kanna";
- "Nigbati o ba fi esi ranṣẹ, o ti ṣetan lẹsẹkẹsẹ lati mu awọn asopọ miiran ṣiṣẹ nigba ti olupin n ṣe itọju ti fifiranṣẹ esi ni abẹlẹ";
- "Enjini processing awoṣe ti o rọrun lati mu awọn awoṣe";
Awọn ẹya ti a beere
Lati pari ikẹkọ yii o nilo awọn apakan wọnyi:
- ESP32 idagbasoke ọkọ
- DHT11 Modulu
- Akara akara
- Jumper onirin
SisọmuAwọn ile-ikawe fifi sori ẹrọ
O nilo lati fi sori ẹrọ awọn ile-ikawe meji kan fun iṣẹ akanṣe yii:
- Awọn DHT ati awọn Adafruit iṣọkan sensọ Awọn ile-ikawe awakọ lati ka lati sensọ DHT.
- ESPAsyncWebOlupin ati Async TCP awọn ile-ikawe lati kọ asynchronous web olupin.
Tẹle awọn ilana atẹle lati fi sori ẹrọ awọn ile-ikawe wọnyẹn:
Fifi DHT Sensọ Library
Lati ka lati inu sensọ DHT nipa lilo Arduino IDE, o nilo lati fi sori ẹrọ naa DHT sensọ ìkàwé. Tẹle awọn igbesẹ atẹle lati fi sori ẹrọ ile-ikawe naa.
- Tẹ ibi lati ṣe igbasilẹ ile-ikawe sensọ DHT. O yẹ ki o ni folda .zip ninu folda Awọn igbasilẹ rẹ
- Unzip awọn .zip folda ati awọn ti o yẹ ki o gba DHT-sensor-library-master folda
- Tun folda rẹ lorukọ lati DHT-sensor-library-master si DHT_sensor
- Gbe awọn DHT_sensor folda si Arduino IDE fifi sori folda ikawe
- Níkẹyìn, tun-ṣii Arduino IDE rẹ
Fifi Adafruit Iṣọkan Sensọ Awakọ
O tun nilo lati fi sori ẹrọ naa Adafruit iṣọkan sensọ Driver ìkàwé lati ṣiṣẹ pẹlu awọn DHT sensọ. Tẹle awọn igbesẹ atẹle lati fi sori ẹrọ ile-ikawe naa.
- Tẹ ibi lati ṣe igbasilẹ ile-ikawe sensọ Iṣọkan Adafruit. O yẹ ki o ni folda .zip ninu folda Awọn igbasilẹ rẹ
- Unzip awọn .zip folda ati awọn ti o yẹ ki o gba Adafruit_sensor-master folda
- Tun folda rẹ lorukọ lati Adafruit_sensor-master si Adafruit_sensor
- Gbe folda Adafruit_sensor lọ si folda ile ikawe fifi sori Arduino IDE rẹ
- Níkẹyìn, tun-ṣii Arduino IDE rẹ
Fifi ESPAsync sori ẹrọWebìkàwé olupin
Tẹle awọn igbesẹ atẹle lati fi sori ẹrọ naa ESPAsyncWebOlupin ile-ikawe:
- Tẹ ibi lati ṣe igbasilẹ ESPAsyncWebìkàwé olupin. O yẹ ki o ni
folda .zip ninu folda Awọn igbasilẹ rẹ - Yọọ folda .zip ati pe o yẹ
gba ESPAsyncWebServer-titunto si folda - Tun orukọ folda rẹ lorukọ lati ESPAsyncWebOlupin-olupin si ESPAsyncWebOlupin
- Gbe ESPAsyncWebFolda olupin si Arduino IDE fifi sori folda awọn ikawe ikawe rẹ
Fifi Async TCP Library sori ẹrọ fun ESP32
Awọn ESPAsyncWebOlupin ìkàwé nbeere awọn AsyncTCP ìkàwé lati ṣiṣẹ. Tẹle awọn igbesẹ atẹle lati fi sori ẹrọ ile-ikawe yẹn:
- Tẹ ibi lati ṣe igbasilẹ ile-ikawe AsyncTCP. O yẹ ki o ni folda .zip kan ninu folda Awọn igbasilẹ rẹ
- Unzip awọn .zip folda ati awọn ti o yẹ ki o gba AsyncTCP-master folda
- Tun folda rẹ lorukọ lati AsyncTCP-master si AsyncTCP
- Gbe folda AsyncTCP lọ si folda awọn ile-ikawe fifi sori Arduino IDE rẹ
- Níkẹyìn, tun-ṣii Arduino IDE rẹ
Koodu
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ni afikun ESP32 ti fi sori ẹrọ ṣaaju ki o to tẹsiwaju:(Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDE
Lẹhin fifi awọn ile-ikawe ti o nilo sii, Ṣii koodu naa
Project_9_ESP32_DHT11_Web_Server.ino ni arduino IDE.
Ṣaaju ki o to gbe koodu naa, maṣe gbagbe lati fi awọn iwe-ẹri nẹtiwọki rẹ sii ki ESP le sopọ si nẹtiwọki agbegbe rẹ.Bawo ni koodu Nṣiṣẹ
Ninu awọn paragi ti o tẹle a yoo ṣe alaye bi koodu naa ṣe n ṣiṣẹ. Jeki kika ti o ba fẹ kọ ẹkọ diẹ sii tabi fo si apakan Ifihan lati wo abajade ikẹhin.
Awọn ile-ikawe agbewọle
Ni akọkọ, gbe awọn ile-ikawe ti a beere wọle wọle. WiFi naa, ESPAsyncWebOlupin ati ESPAsyncTCP ni a nilo lati kọ awọn web olupin. Adafruit_Sensor ati awọn ile-ikawe DHT ni a nilo lati ka lati awọn sensọ DHT11 tabi DHT22.Itumọ awọn oniyipada
Ṣetumo GPIO ti PIN data DHT ti sopọ si. Ni idi eyi, o ti sopọ si GPIO 4.Lẹhinna, yan iru sensọ DHT ti o nlo. Ninu wa example, a nlo DHT22. Ti o ba nlo iru miiran, o kan nilo lati ṣe akiyesi sensọ rẹ ki o sọ asọye gbogbo awọn miiran.
Ṣe agbekalẹ ohun DHT kan pẹlu iru ati PIN ti a ti ṣalaye tẹlẹ.Ṣẹda Async kanWebOhun elo olupin lori ibudo 80.
Ka Iwọn otutu ati Awọn iṣẹ ọriniinitutu
A ti ṣẹda awọn iṣẹ meji: ọkan lati ka iwọn otutu A ti ṣẹda awọn iṣẹ meji: ọkan lati ka iwọn otutu (ka DHTTemperature ()) ati ekeji lati ka ọriniinitutu (ka DHTHumidity ()).Gbigba awọn kika sensọ jẹ bi o rọrun bi Ngba awọn kika sensọ jẹ rọrun bi lilo kikaTemperature () ati awọn ọna kika Ọririn () lori ohun dht.
A tun ni ipo ti o da awọn dashes meji pada (-) ti o ba jẹ pe sensọ kuna lati gba awọn kika.
Awọn kika ti wa ni pada bi okun iru. Lati se iyipada leefofo loju omi si okun, lo iṣẹ Okun ().
Nipa aiyipada, a n ka iwọn otutu ni awọn iwọn Celsius. Lati gba iwọn otutu ni awọn iwọn Fahrenheit, sọ asọye iwọn otutu ni Celsius ati koṣepe iwọn otutu ni Fahrenheit, ki o ni atẹle yii:
Po si koodu
Bayi, gbe koodu si ESP32 rẹ. Rii daju pe o ni ọkọ ti o tọ ati ibudo COM ti a yan. Awọn igbesẹ itọkasi koodu gbejade.
Lẹhin ikojọpọ, ṣii Atẹle Serial ni iwọn baud ti 115200. Tẹ bọtini atunto ESP32. Adirẹsi IP ESP32 yẹ ki o wa ni titẹ ni tẹlentẹle atẹle.Afihan
Ṣii ẹrọ aṣawakiri kan ki o tẹ adiresi IP ESP32 naa. Tirẹ web olupin yẹ ki o ṣe afihan awọn kika sensọ tuntun.
Akiyesi: Aṣàwákiri rẹ ati ESP32 yẹ ki o sopọ si LAN kanna.
Ṣe akiyesi pe iwọn otutu ati awọn kika ọriniinitutu ti ni imudojuiwọn laifọwọyi laisi iwulo lati sọ di mimọ web oju-iwe.
Project_10_ESP32_OLED_Ifihan
Ise agbese yii fihan bi o ṣe le lo ifihan 0.96 inch SSD1306 OLED pẹlu ESP32 ni lilo Arduino IDE.
Ifihan 0.96 inch OLED Ifihan
Awọn OLED àpapọ ti a yoo lo ninu ikẹkọ yii ni awoṣe SSD1306: monocolor kan, ifihan 0.96 inch pẹlu awọn piksẹli 128 × 64 bi o ṣe han ninu nọmba atẹle.Ifihan OLED ko nilo ina ẹhin, eyiti o ni abajade iyatọ ti o wuyi pupọ ni awọn agbegbe dudu. Ni afikun, awọn piksẹli rẹ n gba agbara nikan nigbati wọn ba wa ni titan, nitorinaa ifihan OLED n gba agbara ti o dinku nigbati akawe si awọn ifihan miiran.
Nitoripe ifihan OLED nlo ilana ibaraẹnisọrọ I2C, wiwọn jẹ rọrun pupọ. O le lo tabili atẹle bi itọkasi.
OLED Pin | ESP32 |
Vin | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
SisọmuFifi SSD1306 OLED Library - ESP32
Awọn ile-ikawe pupọ lo wa lati ṣakoso ifihan OLED pẹlu ESP32.
Ninu ikẹkọ yii a yoo lo awọn ile-ikawe Adafruit meji: Adafruit_SSD1306 ìkàwé ati Adafruit_GFX ìkàwé.
Tẹle awọn igbesẹ atẹle lati fi sori ẹrọ awọn ile-ikawe wọnyẹn.
- Ṣii Arduino IDE rẹ ki o lọ si Sketch> Fi Library> Ṣakoso awọn ile-ikawe. Awọn Library Manager yẹ ki o ṣii.
- Tẹ "SSD1306" ninu apoti wiwa ati fi sori ẹrọ ile-ikawe SSD1306 lati Adafruit.
- Lẹhin fifi sori ẹrọ ile-ikawe SSD1306 lati Adafruit, tẹ “GFX” ninu apoti wiwa ki o fi ile-ikawe sori ẹrọ.
- Lẹhin fifi awọn ile-ikawe sii, tun Arduino IDE bẹrẹ.
Koodu
Lẹhin fifi sori ẹrọ awọn ile-ikawe ti o nilo, Ṣii Project_10_ESP32_OLED_Display.ino ni arduino IDE. koodu
A yoo ṣe eto ESP32 ni lilo Arduino IDE, nitorinaa rii daju pe o ti fi afikun ESP32 sori ẹrọ ṣaaju ki o to tẹsiwaju: (Ti o ba ti ṣe igbesẹ yii tẹlẹ, o le foju si igbesẹ ti nbọ.)
Fifi ESP32 Fikun-un ni Arduino IDEBawo ni koodu Nṣiṣẹ
Awọn ile-ikawe agbewọle
Ni akọkọ, o nilo lati gbe awọn ile-ikawe pataki wọle. Ile-ikawe Waya lati lo I2C ati awọn ile-ikawe Adafruit lati kọ si ifihan: Adafruit_GFX ati Adafruit_SSD1306.Bibẹrẹ ifihan OLED
Lẹhinna, o ṣalaye iwọn ati giga OLED rẹ. Ninu example, a ba lilo a 128×64 OLED àpapọ. Ti o ba nlo awọn titobi miiran, o le yi iyẹn pada ni SCREEN_WIDTH, ati awọn oniyipada SCREEN_HEIGHT.Lẹhinna, bẹrẹ ohun ifihan kan pẹlu iwọn ati giga ti a ṣalaye tẹlẹ pẹlu ilana ibaraẹnisọrọ I2C (&Wire).
Paramita (-1) tumọ si pe ifihan OLED rẹ ko ni PIN TTUNTỌ. Ti ifihan OLED rẹ ba ni PIN RESET, o yẹ ki o sopọ si GPIO kan. Ni ọran naa, o yẹ ki o kọja nọmba GPIO bi paramita kan.
Ninu iṣeto (), bẹrẹ Atẹle Serial ni iwọn baud kan ti 115200 fun awọn idi ti n ṣatunṣe aṣiṣe.Bẹrẹ ifihan OLED pẹlu ọna ibẹrẹ () bi atẹle:
snippet yii tun ṣe atẹjade ifiranṣẹ kan lori Atẹle Serial, ti o ba jẹ pe a ko ni anfani lati sopọ si ifihan.
Ni ọran ti o nlo ifihan OLED ti o yatọ, o le nilo lati yi adirẹsi OLED pada. Ninu ọran wa, adirẹsi naa jẹ 0x3C.
Lẹhin ipilẹṣẹ ifihan, ṣafikun idaduro keji meji, ki OLED ni akoko ti o to lati ṣe ipilẹṣẹ ṣaaju kikọ ọrọ:
Ko ifihan kuro, ṣeto iwọn fonti, awọ ati kikọ ọrọ
Lẹhin ti ipilẹṣẹ ifihan, ko ifipamọ ifihan kuro pẹlu ọna clearDisplay():
Ṣaaju ki o to kọ ọrọ, o nilo lati ṣeto iwọn ọrọ, awọ ati ibi ti ọrọ naa yoo han ni OLED.
Ṣeto iwọn fonti nipa lilo ọna setTextSize():Ṣeto awọ fonti pẹlu ọna setTextColor():
WHITE ṣeto fonti funfun ati abẹlẹ dudu.
Ṣetumo ipo nibiti ọrọ ti bẹrẹ nipa lilo ọna setCursor(x,y). Ni idi eyi, a n ṣeto ọrọ lati bẹrẹ ni awọn ipoidojuko (0,0) - ni igun apa osi oke.Ni ipari, o le fi ọrọ ranṣẹ si ifihan nipa lilo ọna println (), bi atẹle
Lẹhinna, o nilo lati pe ọna ifihan () lati ṣafihan ọrọ gangan loju iboju.
Ile-ikawe Adafruit OLED n pese awọn ọna iwulo lati yi ọrọ lọ ni irọrun.
- startcrollright (0x00, 0x0F): yi ọrọ lati osi si otun
- startscrollleft (0x00, 0x0F): yi ọrọ lati ọtun si osi
- startscrolldiagright (0x00, 0x07): yi ọrọ lati igun osi isalẹ osi si igun ọtun oke startscrolldiagleft(0x00, 0x07): yi ọrọ lati igun ọtun isalẹ si igun apa osi
Po si koodu
Bayi, po si awọn koodu si rẹ ESP32.Upload koodu itọkasi awọn igbesẹ.
Lẹhin ikojọpọ koodu naa, OLED yoo ṣafihan ọrọ lilọ kiri.
Awọn iwe aṣẹ / Awọn orisun
![]() |
LAFVIN ESP32 Ipilẹ Starter Apo [pdf] Ilana itọnisọna Apo Ipilẹ Ipilẹ ESP32, ESP32, Apo Ibẹrẹ Ipilẹ, Apo Ibẹrẹ |