Лагатып LAFVINESP32 Basic Starter
Камплект

Пакавальны ліст

Базавы стартавы набор LAFVIN ESP32 - Спіс упакоўкі

ESP32 Увядзенне

Упершыню ў ESP32? Пачні тут! ESP32 - гэта серыя недарагіх і маламагутных мікракантролераў сістэмы на чыпе (SoC), распрацаваных Espressif, якія ўключаюць магчымасці бесправадной сувязі Wi-Fi і Bluetooth і двух'ядравы працэсар. Калі вы знаёмыя з ESP8266, ESP32 з'яўляецца яго пераемнікам з мноствам новых функцый.LAFVIN ESP32 Basic Starter Kit - ESP32 УвядзеннеТэхнічныя характарыстыкі ESP32
Калі вы хочаце атрымаць крыху больш тэхнічную і канкрэтную інфармацыю, вы можаце зірнуць на наступныя падрабязныя характарыстыкі ESP32 (крыніца: http://esp32.net/)—падрабязней, праверыць табліцу дадзеных):

  • Бесправадное падключэнне WiFi: хуткасць перадачы дадзеных 150.0 Мбіт/с з HT40
  • Bluetooth: BLE (Bluetooth Low Energy) і Bluetooth Classic
  • Працэсар: двух'ядравы 32-разрадны мікрапрацэсар Tensilica Xtensa LX6 з частатой 160 або 240 МГц
  • Памяць:
  • ПЗУ: 448 КБ (для загрузкі і асноўных функцый)
  • SRAM: 520 КБ (для дадзеных і інструкцый)
  • RTC хуткая SRAM: 8 КБ (для захоўвання дадзеных і асноўнага працэсара падчас загрузкі RTC з рэжыму глыбокага сну)
  • RTC павольная SRAM: 8 КБ (для доступу да супрацэсара ў рэжыме глыбокага сну) eFuse: 1 Кбіт (з якіх 256 біт выкарыстоўваюцца для сістэмы (MAC-адрас і канфігурацыя чыпа), а астатнія 768 біт зарэзерваваны для прыкладанняў кліента, у тым ліку Flash-шыфраванне і Chip-ID)

Убудаваная ўспышка: унутраная ўспышка падлучана праз IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 і SD_DATA_1 на ESP32-D2WD і ESP32-PICO-D4.

  • 0 МіБ (чыпы ESP32-D0WDQ6, ESP32-D0WD і ESP32-S0WD)
  • 2 МіБ (чып ESP32-D2WD)
  • 4 МіБ (модуль ESP32-PICO-D4 SiP)

Нізкая магутнасць: гарантуе, што вы ўсё яшчэ можаце выкарыстоўваць пераўтварэнні АЦП, напрыкладampле, падчас глыбокага сну.
Перыферыйны ўваход/выхад:

  • перыферыйны інтэрфейс з DMA, які ўключае ёмістны сэнсарны
  • АЦП (аналага-лічбавы пераўтваральнік)
  • ЦАП (лічба-аналагавы пераўтваральнік)
  • I²C (інтэгральная схема)
  • UART (універсальны асінхронны прыёмнік/перадатчык)
  • SPI (паслядоўны перыферыйны інтэрфейс)
  • I²S (інтэграваны міжчыпны гук)
  • RMII (скарочаны незалежны ад медыя інтэрфейс)
  • ШІМ (шыротна-імпульсная мадуляцыя)

Бяспека: апаратныя паскаральнікі для AES і SSL/TLS

Платы развіцця ESP32

ESP32 адносіцца да голага чыпа ESP32. Аднак тэрмін «ESP32» таксама выкарыстоўваецца для абазначэння плат развіцця ESP32. Выкарыстоўваць голыя чыпы ESP32 няпроста і не практычна, асабліва падчас навучання, тэсціравання і стварэння прататыпаў. Большую частку часу вы захочаце выкарыстоўваць плату распрацоўкі ESP32.
Мы будзем выкарыстоўваць плату ESP32 DEVKIT V1 у якасці эталона. На малюнку ніжэй паказана плата ESP32 DEVKIT V1, версія з 30 кантактамі GPIO.LAFVIN ESP32 Basic Starter Kit - Платы распрацоўкі ESP32Тэхнічныя характарыстыкі – ESP32 DEVKIT V1
У наступнай табліцы прыведзены кароткі змест функцый і спецыфікацый платы ESP32 DEVKIT V1 DOIT:

Колькасць ядраў 2 (двух'ядравы)
Wi-Fi 2.4 ГГц да 150 Мбіт/с
Bluetooth BLE (Bluetooth Low Energy) і стары Bluetooth
Архітэктура 32 біт
Тактавая частата Да 240 Мгц
АЗП 512 КБ
Шпількі 30 (у залежнасці ад мадэлі)
Перыферыйныя прылады Ёмістны сэнсарны, АЦП (аналагава-лічбавы пераўтваральнік), ЦАП (лічба-аналагавы пераўтваральнік), 12C (інтэртэгральная схема), UART (універсальны асінхронны прыёмнік/перадатчык), CAN 2.0 (кантролерная сетка), SPI (паслядоўны перыферыйны інтэрфейс) , 12S (Integrated Inter-IC
Гук), RMII (паменшаны медыя-незалежны інтэрфейс), ШІМ (шыротна-імпульсная мадуляцыя) і многае іншае.
Убудаваныя кнопкі Кнопкі RESET і BOOT
Убудаваныя святлодыёды убудаваны сіні святлодыёд, падлучаны да GPIO2; убудаваны чырвоны святлодыёд, які паказвае, што плата сілкуецца
USB да UART
мост
CP2102

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITЁн пастаўляецца з інтэрфейсам microUSB, які можна выкарыстоўваць для падлучэння платы да кампутара для загрузкі кода або падключэння харчавання.
Ён выкарыстоўвае чып CP2102 (USB да UART) для сувязі з вашым кампутарам праз COM-порт з дапамогай паслядоўнага інтэрфейсу. Яшчэ адзін папулярны чып - CH340. Праверце, што такое пераўтваральнік мікрасхемы USB у UART на вашай плаце, таму што вам трэба будзе ўсталяваць неабходныя драйверы, каб ваш камп'ютар мог звязвацца з платай (дадатковая інфармацыя пра гэта далей у гэтым кіраўніцтве).
Гэтая плата таксама пастаўляецца з кнопкай RESET (можа быць пазначана EN) для перазапуску платы і кнопкай BOOT для пераводу платы ў рэжым мігцення (даступна для атрымання кода). Звярніце ўвагу, што некаторыя платы могуць не мець кнопкі BOOT.
Ён таксама пастаўляецца з убудаваным сінім святлодыёдам, які ўнутрана падлучаны да GPIO 2. Гэты святлодыёд карысны для адладкі, каб даць нейкі візуальны фізічны выхад. Ёсць таксама чырвоны святлодыёд, які загараецца, калі вы падаеце харчаванне на плату.Плата LAFVIN ESP32 Basic Starter KitРаспиновка ESP32
Перыферыйныя прылады ESP32 ўключаюць:

  • 18 каналаў аналага-лічбавага пераўтваральніка (АЦП).
  • 3 інтэрфейсы SPI
  • 3 інтэрфейсу UART
  • 2 інтэрфейсы I2C
  • 16 выхадных канала ШІМ
  • 2 лічбава-аналагавыя пераўтваральнікі (ЦАП)
  • 2 інтэрфейсы I2S
  • 10 ёмістных GPIO

Функцыі АЦП (аналагава-лічбавы пераўтваральнік) і ЦАП (лічба-аналагавы пераўтваральнік) прызначаны для пэўных статычных кантактаў. Тым не менш, вы можаце вырашыць, якія кантакты з'яўляюцца UART, I2C, SPI, ШІМ і г.д. - вам проста трэба прызначыць іх у кодзе. Гэта магчыма дзякуючы функцыі мультыплексавання чыпа ESP32.
Хаця вы можаце вызначыць уласцівасці штыфтаў у праграмным забеспячэнні, ёсць штыфты, прызначаныя па змаўчанні, як паказана на наступным малюнкуLAFVIN ESP32 Basic Starter Kit - распиновка ESP32Акрамя таго, ёсць шпількі са спецыфічнымі асаблівасцямі, якія робяць іх прыдатнымі або непрыдатнымі для канкрэтнага праекта. У наступнай табліцы паказана, якія кантакты лепш за ўсё выкарыстоўваць у якасці ўваходаў і выхадаў, а з якімі трэба быць асцярожнымі.
Шпількі, вылучаныя зялёным, можна выкарыстоўваць. Выдзеленыя жоўтым колерам прыдатныя для выкарыстання, але вам трэба звярнуць увагу, таму што яны могуць паводзіць сябе нечакана ў асноўным падчас загрузкі. Вывады, вылучаныя чырвоным, не рэкамендуецца выкарыстоўваць у якасці ўваходаў або выхадаў.

GP IO Увод Выхад Заўвагі
0 падцягнуўся OK выдае ШІМ-сігнал пры загрузцы, для ўваходу ў рэжым мігцення павінен быць нізкі ўзровень
1 Штыфт TX OK вывад адладкі пры загрузцы
2 OK OK падлучаны да бартавога святлодыёда, павінен быць пакінуты плаваючым або LOW, каб перайсці ў рэжым мігцення
3 OK Штыфт RX ВЫСОКАЯ пры загрузцы
4 OK OK
5 OK OK выводзіць сігнал ШІМ пры загрузцы, штыфт для абвязкі
12 OK OK загрузка выходзіць з ладу, калі цягнуць высока, шпілька для рамяня
13 OK OK
14 OK OK выдае сігнал ШІМ пры загрузцы
15 OK OK выводзіць сігнал ШІМ пры загрузцы, штыфт для абвязкі
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 толькі ўвод
35 OK толькі ўвод
36 OK толькі ўвод
39 OK толькі ўвод

Працягвайце чытаць, каб атрымаць больш падрабязны і глыбокі аналіз ESP32 GPIO і яго функцый.
Увядзіце толькі шпількі
GPIO з 34 па 39 з'яўляюцца GPI - кантакты толькі для ўводу. Гэтыя штыфты не маюць унутраных падцягваючых або адцягваючых рэзістараў. Іх нельга выкарыстоўваць як выхады, таму выкарыстоўвайце гэтыя кантакты толькі як ўваходы:

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

Ўспышка SPI інтэграваная ў ESP-WROOM-32
GPIO 6 - GPIO 11 прадстаўлены ў некаторых платах распрацоўкі ESP32. Аднак гэтыя штыфты падключаюцца да ўбудаванай флэшкі SPI на чыпе ESP-WROOM-32 і не рэкамендуюцца для іншых мэтаў. Такім чынам, не выкарыстоўвайце гэтыя шпількі ў сваіх праектах:

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

Ёмістныя сэнсарныя GPIO
ESP32 мае 10 унутраных ёмістных сэнсарных датчыкаў. Яны могуць адчуваць змены ва ўсім, што ўтрымлівае электрычны зарад, напрыклад, у скуры чалавека. Такім чынам, яны могуць выяўляць змены, выкліканыя дакрананнем да GPIO пальцам. Гэтыя штыфты можна лёгка інтэграваць у ёмістныя накладкі і замяніць механічныя кнопкі. Ёмістыя сэнсарныя штыфты таксама можна выкарыстоўваць для выхаду ESP32 з глыбокага сну. Гэтыя ўнутраныя сэнсарныя датчыкі падключаны да наступных 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)

Аналага-лічбавы пераўтваральнік (АЦП)
ESP32 мае 18 х 12-бітных уваходных каналаў АЦП (у той час як ESP8266 мае толькі 1 х 10-бітны АЦП). Гэта GPIO, якія можна выкарыстоўваць у якасці АЛП і адпаведных каналаў:

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

Заўвага: Кантакты ADC2 нельга выкарыстоўваць, калі выкарыстоўваецца Wi-Fi. Такім чынам, калі вы карыстаецеся Wi-Fi і ў вас узніклі праблемы з атрыманнем значэння з ADC2 GPIO, вы можаце разгледзець магчымасць выкарыстання замест гэтага ADC1 GPIO. Гэта павінна вырашыць вашу праблему.
Уваходныя каналы АЦП маюць 12-бітнае дазвол. Гэта азначае, што вы можаце атрымаць аналагавыя паказанні ў дыяпазоне ад 0 да 4095, у якіх 0 адпавядае 0 В, а 4095 - 3.3 В. Вы таксама можаце ўсталяваць дазвол вашых каналаў па кодзе і дыяпазоне АЦП.
Штыфты АЦП ESP32 не маюць лінейных паводзін. Верагодна, вы не зможаце адрозніць паміж 0 і 0.1 В або паміж 3.2 і 3.3 В. Вы павінны мець гэта на ўвазе пры выкарыстанні кантактаў АЦП. Вы атрымаеце паводзіны, падобныя да таго, што паказана на наступным малюнку.LAFVIN ESP32 Basic Starter Kit - паводзіныЛічба-аналагавы пераўтваральнік (ЦАП)
На ESP2 ёсць 8 х 32-бітныя каналы ЦАП для пераўтварэння лічбавых сігналаў у аналагавыяtagэлектронныя сігнальныя выхады. Гэта каналы DAC:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
У ESP32 ёсць падтрымка RTC GPIO. Інтэрфейсы GPIO, накіраваныя ў падсістэму RTC з нізкім энергаспажываннем, можна выкарыстоўваць, калі ESP32 знаходзіцца ў глыбокім сне. Гэтыя RTC GPIO могуць быць выкарыстаны для выхаду ESP32 з глыбокага сну, калі Ultra Low
Капрацэсар Power (ULP) працуе. Наступныя GPIO можна выкарыстоўваць у якасці вонкавай крыніцы абуджэння.

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

ШІМ
ШІМ-кантролер ESP32 LED мае 16 незалежных каналаў, якія можна наладзіць для генерацыі ШІМ-сігналаў з рознымі ўласцівасцямі. Усе кантакты, якія могуць дзейнічаць як выхады, можна выкарыстоўваць як кантакты ШІМ (GPIO 34-39 не могуць генераваць ШІМ).
Каб усталяваць ШІМ-сігнал, неабходна вызначыць у кодзе наступныя параметры:

  • частата сігналу;
  • Працоўны цыкл;
  • канал ШІМ;
  • GPIO, дзе вы хочаце вывесці сігнал.

I2C
ESP32 мае два канала I2C, і любы кантакт можа быць усталяваны як SDA або SCL. Пры выкарыстанні ESP32 з Arduino IDE кантакты I2C па змаўчанні:

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

Калі вы хочаце выкарыстоўваць іншыя кантакты пры выкарыстанні бібліятэкі правадоў, вам проста трэба патэлефанаваць:
Wire.begin(SDA, SCL);
SPI
Па змаўчанні супастаўленне кантактаў для SPI наступнае:

SPI МОСІ МІСО CLK CS
ВСПІ GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

Перабівае
Усе GPIO можна наладзіць як перапыненні.
Шпількі
Мікрасхема ESP32 мае наступныя шпількі для абвязкі:

  • GPIO 0 (для ўваходу ў рэжым загрузкі павінен быць НІЗКІ)
  • GPIO 2 (павінен быць плаваючым або НІЗКІМ падчас загрузкі)
  • GPIO 4
  • GPIO 5 (павінен быць HIGH падчас загрузкі)
  • GPIO 12 (павінен быць LOW падчас загрузкі)
  • GPIO 15 (павінен быць HIGH падчас загрузкі)

Яны выкарыстоўваюцца для пераключэння ESP32 у рэжым загрузніка або флэшкі. На большасці плат распрацоўкі з убудаваным USB/паслядоўным портам вам не трэба турбавацца аб стане гэтых кантактаў. Плата пераводзіць кантакты ў патрэбны стан для рэжыму перапрашыўкі або загрузкі. Дадатковую інфармацыю аб выбары рэжыму загрузкі ESP32 можна знайсці тут.
Аднак, калі ў вас ёсць перыферыйныя прылады, падлучаныя да гэтых кантактаў, у вас могуць узнікнуць праблемы з загрузкай новага кода, прашыўкай ESP32 новай прашыўкай або скідам налад платы. Калі ў вас ёсць некаторыя перыферыйныя прылады, падлучаныя да шпілек для абвязкі, і ў вас узнікаюць праблемы з загрузкай кода або прашыўкай ESP32, гэта можа быць таму, што гэтыя перыферыйныя прылады перашкаджаюць ESP32 перайсці ў правільны рэжым. Прачытайце дакументацыю па выбары рэжыму загрузкі, каб накіраваць вас у правільным кірунку. Пасля скіду, перапрашыўкі або загрузкі гэтыя кантакты працуюць належным чынам.
Штыфты ВЫСОКА пры загрузцы
Некаторыя GPIO мяняюць свой стан на HIGH або выводзяць сігналы ШІМ пры загрузцы або скідзе.
Гэта азначае, што калі ў вас ёсць выхады, падлучаныя да гэтых GPIO, вы можаце атрымаць нечаканыя вынікі пры скідзе або загрузцы ESP32.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • Ад GPIO 6 да GPIO 11 (падключана да флэш-памяці SPI, інтэграванай у ESP32 – не рэкамендуецца выкарыстоўваць).
  • GPIO 14
  • GPIO 15

Уключыць (EN)
Enable (EN) - гэта штыфт уключэння рэгулятара 3.3 В. Ён падцягнуты, таму падключыце да зямлі, каб адключыць рэгулятар 3.3 В. Гэта азначае, што вы можаце выкарыстоўваць гэты кантакт, падлучаны да кнопкі, каб перазапусціць ESP32, напрыкладampле.
Спажываны ток GPIO
Абсалютны максімальны ток, спажываны на GPIO, складае 40 мА ў адпаведнасці з раздзелам «Рэкамендуемыя ўмовы эксплуатацыі» ў табліцы дадзеных ESP32.
ESP32 Убудаваны датчык Хола
ESP32 таксама мае ўбудаваны датчык Хола, які вызначае змены ў магнітным полі ў навакольным асяроддзі
ESP32 Arduino IDE
Ёсць надбудова для Arduino IDE, якая дазваляе праграмаваць ESP32 з дапамогай Arduino IDE і яе мовы праграмавання. У гэтым уроку мы пакажам вам, як усталяваць плату ESP32 у Arduino IDE незалежна ад таго, выкарыстоўваеце вы Windows, Mac OS X або Linux.
Патрабаванні: усталявана Arduino IDE
Перш чым пачаць гэтую працэдуру ўстаноўкі, вам неабходна ўсталяваць на вашым кампутары Arduino IDE. Ёсць дзве версіі Arduino IDE, якія вы можаце ўсталяваць: версія 1 і версія 2.
Вы можаце спампаваць і ўсталяваць Arduino IDE, націснуўшы на наступную спасылку: arduino.cc/en/Main/Software
Якую версію Arduino IDE мы рэкамендуем? На дадзены момант ёсць некаторыя plugins для ESP32 (напрыклад, SPIFFS FileSystem Uploader Plugin), якія яшчэ не падтрымліваюцца на Arduino 2. Такім чынам, калі вы збіраецеся выкарыстоўваць убудова SPIFFS у будучыні, мы рэкамендуем усталяваць старую версію 1.8.X. Вам проста трэба пракруціць старонку праграмнага забеспячэння Arduino ўніз, каб знайсці яго.
Устаноўка надбудовы ESP32 у Arduino IDE
Каб усталяваць плату ESP32 у Arduino IDE, выканайце наступныя інструкцыі:

  1. У вашай Arduino IDE перайдзіце да File> НаладыLAFVIN ESP32 Basic Starter Kit - Параметры
  2. Увядзіце наступнае ў «Additional Board Manager URLs» поле:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Затым націсніце кнопку «ОК»:LAFVIN ESP32 Basic Starter Kit - кнопка «ОК».Заўвага: калі ў вас ужо ёсць платы ESP8266 URL, вы можаце аддзяліць URLs праз коску наступным чынам:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Адкрыйце дыспетчар дошак. Перайдзіце ў Інструменты > Дошка > Дыспетчар дошак…Базавы стартавы набор LAFVIN ESP32 - EspressifПошук ESP32 and press install button for the “ESP32 by Espressif Systems“:Базавы стартавы набор LAFVIN ESP32 - EspressifВось і ўсё. Ён павінен быць усталяваны праз некалькі секунд.LAFVIN ESP32 Basic Starter Kit - усталяваны

Загрузіць тэставы код

Падключыце плату ESP32 да кампутара. Адкрыўшы Arduino IDE, выканайце наступныя дзеянні:

  1. Выберыце сваю дошку ў меню Інструменты > Дошка (у маім выпадку гэта модуль ESP32 DEV)LAFVIN ESP32 Basic Starter Kit - Tools Board
  2. Выберыце порт (калі вы не бачыце COM-порт у вашай IDE Arduino, вам трэба ўсталяваць драйверы VCP CP210x USB to UART Bridge):LAFVIN ESP32 Basic Starter Kit - мост UART
  3. Адкрыйце наступны прыкладampле пад File > Напрыкладampлес > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScan 1
  4. У вашай Arduino IDE адкрыецца новы эскіз:LAFVIN ESP32 Basic Starter Kit - Arduino IDE
  5. Націсніце кнопку «Загрузіць» у IDE Arduino. Пачакайце некалькі секунд, пакуль код кампілюецца і загружаецца на вашу дошку.LAFVIN ESP32 Basic Starter Kit - плата
  6. Калі ўсё прайшло, як чакалася, вы павінны ўбачыць надпіс «Запампоўка выканана». паведамленне.LAFVIN ESP32 Basic Starter Kit - загрузка завершана
  7. Адкрыйце Arduino IDE Serial Monitor з хуткасцю 115200 бод:LAFVIN ESP32 Basic Starter Kit - Манітор
  8. Націсніце кнопку ESP32 на борце Enable, і вы павінны ўбачыць сеткі, даступныя побач з вашым ESP32:LAFVIN ESP32 Basic Starter Kit - кнопка ўключэння

Ліквідацыю непаладак

Калі вы спрабуеце загрузіць новы эскіз на свой ESP32 і атрымліваеце паведамленне пра памылку «Адбылася фатальная памылка: не ўдалося падключыцца да ESP32: час чакання скончыўся… Падключэнне…». Гэта азначае, што ваш ESP32 не знаходзіцца ў рэжыме прашыўкі/загрузкі.
Выбраўшы правільную назву дошкі і COM-порт, выканайце наступныя дзеянні:
Утрымлівайце кнопку «BOOT» на плаце ESP32LAFVIN ESP32 Basic Starter Kit - «BOOT»

  • Націсніце кнопку «Загрузіць» у IDE Arduino, каб загрузіць эскіз:LAFVIN ESP32 Basic Starter Kit - ICON 6
  • Пасля таго, як вы ўбачыце «Падключэнне…». у вашай Arduino IDE, адпусціце палец ад кнопкі «BOOT»:LAFVIN ESP32 Basic Starter Kit - «Загрузка скончана
  • Пасля гэтага вы павінны ўбачыць паведамленне «Гатова запампоўка».
    Вось і ўсё. Ваш ESP32 павінен запусціць новы эскіз. Націсніце кнопку «ENABLE», каб перазапусціць ESP32 і запусціць новы запампаваны эскіз.
    Вам таксама прыйдзецца паўтараць гэтую паслядоўнасць кнопак кожны раз, калі вы хочаце загрузіць новы эскіз.

Праект 1 ESP32 Уваходы Выхады

У гэтым кіраўніцтве па пачатку працы вы даведаецеся, як чытаць лічбавыя ўваходы, такія як кнопкавы перамыкач, і кіраваць лічбавымі выхадамі, напрыклад, святлодыёдамі, з дапамогай ESP32 з Arduino IDE.
Перадумовы
Мы запраграмуем ESP32 з дапамогай Arduino IDE. Такім чынам, перш чым працягнуць, пераканайцеся, што ў вас усталяваны дадатковы кампанент для плат ESP32:

  • Устаноўка надбудовы ESP32 у Arduino IDE

Лічбавыя выхады кіравання ESP32
Спачатку вам трэба ўсталяваць GPIO, якім вы хочаце кіраваць, як ВЫХОД. Выкарыстоўвайце функцыю pinMode() наступным чынам:
pinMode(GPIO, ВЫХОД);
Каб кантраляваць лічбавы выхад, вам проста трэба выкарыстоўваць функцыю digitalWrite(), якая прымае ў якасці аргументаў GPIO (нумар int), які вы маеце на ўвазе, і стан, альбо HIGH, альбо LOW.
digitalWrite(GPIO, STATE);
Усе GPIO можна выкарыстоўваць у якасці выхадаў, за выключэннем GPIO з 6 па 11 (падключаны да ўбудаванай флэш-памяці SPI) і GPIO 34, 35, 36 і 39 (GPIO толькі для ўваходу);
Даведайцеся больш пра ESP32 GPIO: даведачнае кіраўніцтва па ESP32 GPIO
ESP32 Чытанне лічбавых уваходаў
Спачатку ўсталюйце GPIO, які вы хочаце прачытаць як INPUT, выкарыстоўваючы функцыю pinMode() наступным чынам:
pinMode(GPIO, INPUT);
Каб прачытаць лічбавы ўвод, напрыклад кнопку, вы выкарыстоўваеце функцыю digitalRead(), якая прымае ў якасці аргумента GPIO (нумар int), на які вы спасылаецеся.
лічбавае чытанне (GPIO);
Усе ESP32 GPIO могуць быць выкарыстаны ў якасці ўваходаў, за выключэннем GPIO з 6 па 11 (падлучаны да ўбудаванай флэш-памяці SPI).
Даведайцеся больш пра ESP32 GPIO: даведачнае кіраўніцтва па ESP32 GPIO
Праект Example
Каб паказаць вам, як выкарыстоўваць лічбавыя ўваходы і лічбавыя выхады, мы створым просты праект напрample з кнопкай і святлодыёдам. Мы прачытаем стан кнопкі і загарым святлодыёд адпаведна, як паказана на наступным малюнку.LAFVIN ESP32 Basic Starter Kit - Project Example

Неабходныя дэталі
Вось спіс частак, неабходных для стварэння схемы:

  • ESP32 DEVKIT V1
  • 5 мм святлодыёд
  • Рэзістар 220 Ом
  • Кнопка
  • Рэзістар 10 кОм
  • Макетная дошка
  • Перамычкі

Прынцыповая схема
Перш чым працягнуць, вам трэба сабраць схему са святлодыёдам і кнопкай.
Мы падключым святлодыёд да GPIO 5, а кнопку - да GPIO 4.Базавы стартавы набор LAFVIN ESP32 - прынцыповая схемаКод
Адкрыйце код Project_1_ESP32_Inputs_Outputs.ino ў arduino IDEБазавы стартавы набор LAFVIN ESP32 - КодLAFVIN ESP32 Basic Starter Kit - Код 1Як працуе Кодэкс
У наступных двух радках вы ствараеце зменныя для прызначэння шпілек:

Базавы стартавы набор LAFVIN ESP32 - код працуеКнопка падключана да GPIO 4, а святлодыёд падключаны да GPIO 5. Пры выкарыстанні Arduino IDE з ESP32 4 адпавядае GPIO 4, а 5 — GPIO 5.
Затым вы ствараеце зменную для захавання стану кнопкі. Па змаўчанні гэта 0 (не націснута).
int buttonState = 0;
У setup() вы ініцыялізуеце кнопку як INPUT, а святлодыёд - як OUTPUT.
Для гэтага вы выкарыстоўваеце функцыю pinMode(), якая прымае пін-код, які вы маеце на ўвазе, і рэжым: INPUT або OUTPUT.
pinMode(кнопкаPin, INPUT);
pinMode(ledPin, ВЫХОД);
У цыкле () вы чытаеце стан кнопкі і адпаведна ўсталёўваеце святлодыёд.
У наступным радку вы чытаеце стан кнопкі і захоўваеце яго ў зменнай buttonState.
Як мы бачылі раней, вы выкарыстоўваеце функцыю digitalRead().
buttonState = digitalRead(buttonPin);
Наступны аператар if правярае, ці з'яўляецца стан кнопкі HIGH. Калі гэта так, святлодыёд уключаецца з дапамогай функцыі digitalWrite(), якая прымае ў якасці аргументу ledPin і стан HIGH.
калі (buttonState == HIGH)Базавы стартавы набор LAFVIN ESP32 - Код працуе 1Калі стан кнопкі не ВЫСОКАЕ, вы выключаеце святлодыёд. Проста ўсталюйце LOW у якасці другога аргумента ў функцыі digitalWrite().LAFVIN ESP32 Basic Starter Kit - digitalWriteЗагрузка кода
Перш чым націснуць кнопку загрузкі, перайдзіце ў меню Інструменты > Дошка і абярыце дошку :DOIT ESP32 DEVKIT V1.
Перайдзіце ў Інструменты > Порт і абярыце COM-порт, да якога падключаны ESP32. Затым націсніце кнопку загрузкі і дачакайцеся паведамлення «Гатова загрузка».LAFVIN ESP32 Basic Starter Kit - ICON 7Заўвага: калі вы бачыце шмат кропак (падключэнне…__…__) у акне адладкі і паведамленне «Не ўдалося падключыцца да ESP32: скончыўся час чакання загалоўка пакета», гэта азначае, што вам трэба націснуць кнопку BOOT на борце ESP32. кнопка пасля кропак
пачынаюць з'яўляцца.Ліквідацыя непаладак

Дэманстрацыя

Пасля загрузкі кода праверце сваю схему. Ваш святлодыёд павінен загарэцца, калі вы націснеце кнопку:Базавы стартавы набор LAFVIN ESP32 - дэманстрацыяІ адключыце, калі адпусціце:LAFVIN ESP32 Basic Starter Kit - адключэнне

Аналагавыя ўваходы Project 2 ESP32

Гэты праект паказвае, як чытаць аналагавыя ўваходы з дапамогай ESP32 з дапамогай Arduino IDE.
Аналагавае счытванне карысна для счытвання значэнняў з пераменных рэзістараў, такіх як патэнцыяметры або аналагавыя датчыкі.
Аналагавыя ўваходы (АЦП)
Счытванне аналагавага значэння з дапамогай ESP32 азначае, што вы можаце вымераць розны аб'ёмtage ўзроўні ад 0 В да 3.3 В.
ВыпtagЗатым вымеранаму e прысвойваецца значэнне ад 0 да 4095, у якім 0 В адпавядае 0, а 3.3 В адпавядае 4095. Любы аб'ёмtage паміж 0 В і 3.3 В будзе дадзена адпаведнае значэнне паміж імі.LAFVIN ESP32 Basic Starter Kit - аналагавыя ўваходыАЦП нелінейны
У ідэале вы чакаеце лінейнага паводзінаў пры выкарыстанні штыфтоў АЦП ESP32.
Аднак гэтага не адбываецца. Што вы атрымаеце, гэта паводзіны, як паказана ў наступнай табліцы:Базавы стартавы набор LAFVIN ESP32 - нелінейныТакія паводзіны азначаюць, што ваш ESP32 не можа адрозніць 3.3 В ад 3.2 В.
Вы атрымаеце аднолькавае значэнне для абодвух voltages: 4095.
Тое ж самае адбываецца пры вельмі нізкай гучнасціtagЗначэнні e: для 0 В і 0.1 В вы атрымаеце аднолькавае значэнне: 0. Вы павінны мець гэта на ўвазе пры выкарыстанні кантактаў АЦП ESP32.
Функцыя analogRead().
Счытванне аналагавага ўводу з дапамогай ESP32 з дапамогай Arduino IDE гэтак жа проста, як выкарыстанне функцыі analogRead(). Ён прымае ў якасці аргумента GPIO, які вы хочаце прачытаць:
analogRead(GPIO);
Толькі 15 даступныя ў DEVKIT V1board (версія з 30 GPIO).
Вазьміце распиновку платы ESP32 і знайдзіце кантакты АЦП. На малюнку ніжэй яны вылучаны чырвонай рамкай.LAFVIN ESP32 Basic Starter Kit - мяжаГэтыя кантакты аналагавага ўваходу маюць 12-бітнае раздзяленне. Гэта азначае, што калі вы чытаеце аналагавы ўвод, яго дыяпазон можа вар'іравацца ад 0 да 4095.
Заўвага: штыфты ADC2 нельга выкарыстоўваць, калі выкарыстоўваецца Wi-Fi. Такім чынам, калі вы карыстаецеся Wi-Fi і ў вас узніклі праблемы з атрыманнем значэння з ADC2 GPIO, вы можаце разгледзець магчымасць выкарыстання замест гэтага ADC1 GPIO, гэта павінна вырашыць вашу праблему.
Каб убачыць, як усё спалучаецца, мы зробім просты прыкладample для чытання аналагавага значэння з патэнцыяметра.
Неабходныя дэталі
Для гэтага эксample, вам патрэбныя наступныя часткі:

  • Плата ESP32 DEVKIT V1
  • Потенциометр
  • Макетная дошка
  • Перамычкі

Схема
Падключыце патэнцыометр да вашага ESP32. Сярэдні штыфт патэнцыяметра павінен быць падлучаны да GPIO 4. Вы можаце выкарыстоўваць наступную прынцыповую схему ў якасці эталона.LAFVIN ESP32 Basic Starter Kit - СхемаКод
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягнуць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDE
Адкрыйце код Project_2_ESP32_Inputs_Outputs.ino ў arduino IDELAFVIN ESP32 Basic Starter Kit - Код 2Гэты код проста счытвае значэнні з патэнцыяметра і друкуе гэтыя значэнні ў паслядоўным маніторы.
У кодзе вы пачынаеце з вызначэння GPIO, да якога падлучаны патэнцыяметр. У гэтым эксample, GPIO 4.LAFVIN ESP32 Basic Starter Kit - exampleУ setup() ініцыялізуйце паслядоўную сувязь з хуткасцю 115200 бод.LAFVIN ESP32 Basic Starter Kit - exampтолькі 1У loop() выкарыстоўвайце функцыю analogRead(), каб счытваць аналагавы ўваход з potPin.LAFVIN ESP32 Basic Starter Kit - exampтолькі 2Нарэшце, раздрукуйце значэнні, зчытаныя з потенциометра ў паслядоўным маніторы.LAFVIN ESP32 Basic Starter Kit - exampтолькі 3Загрузіце атрыманы код у свой ESP32. Упэўніцеся, што ў меню "Інструменты" выбраны патрэбная плата і COM-порт.
Тэставанне Example
Пасля загрузкі кода і націску кнопкі скіду ESP32 адкрыйце паслядоўны манітор на хуткасці перадачы 115200 бод. Павярніце патэнцыяметр і ўбачыце змяненне значэнняў.Максімальнае значэнне, якое вы атрымаеце, - 4095, а мінімальнае - 0.LAFVIN ESP32 Basic Starter Kit -максімальны кошт

Падвядзенне вынікаў

У гэтым артыкуле вы даведаліся, як чытаць аналагавыя ўваходы з дапамогай ESP32 з Arduino IDE. Падводзячы вынік:

  • Плата ESP32 DEVKIT V1 DOIT (версія з 30 кантактамі) мае 15 кантактаў АЦП, якія можна выкарыстоўваць для чытання аналагавых уваходаў.
  • Гэтыя кантакты маюць раздзяленне 12 біт, што азначае, што вы можаце атрымаць значэнні ад 0 да 4095.
  • Каб прачытаць значэнне ў Arduino IDE, вы проста выкарыстоўваеце функцыю analogRead().
  • Штыфты АЦП ESP32 не маюць лінейных паводзін. Верагодна, вы не зможаце адрозніць паміж 0 і 0.1 В або паміж 3.2 і 3.3 В. Вы павінны мець гэта на ўвазе пры выкарыстанні кантактаў АЦП.

Праект 3 ESP32 ШІМ (аналагавы выхад)

У гэтым уроку мы пакажам вам, як генераваць сігналы ШІМ з дапамогай ESP32 з дапамогай Arduino IDE. Як былыample мы пабудуем простую схему, якая зацямняе святлодыёд з дапамогай святлодыёднага ШІМ-кантролера ESP32.LAFVIN ESP32 Basic Starter Kit - AnalogOutputСвятлодыёдны ШІМ-кантролер ESP32
ESP32 мае святлодыёдны ШІМ-кантролер з 16 незалежнымі каналамі, якія можна наладзіць для генерацыі ШІМ-сігналаў з рознымі ўласцівасцямі.
Вось крокі, якія вам трэба будзе выканаць, каб прыглушыць святлодыёд з ШІМ з дапамогай Arduino IDE:

  1. Спачатку трэба выбраць ШІМ-канал. Ёсць 16 каналаў ад 0 да 15.
  2. Затым неабходна ўсталяваць частату сігналу ШІМ. Для святлодыёда частата 5000 Гц падыходзіць.
  3. Вам таксама трэба ўсталяваць дазвол працоўнага цыклу сігналу: у вас ёсць дазвол ад 1 да 16 біт. Мы будзем выкарыстоўваць 8-бітнае раздзяленне, што азначае, што вы можаце кіраваць яркасцю святлодыёда, выкарыстоўваючы значэнне ад 0 да 255.
  4.  Далей вам трэба пазначыць, на які GPIO або GPIO будзе з'яўляцца сігнал. Для гэтага вы будзеце выкарыстоўваць наступную функцыю:
    ledcAttachPin(GPIO, канал)
    Гэтая функцыя прымае два аргументы. Першы - гэта GPIO, які будзе выводзіць сігнал, а другі - канал, які будзе генераваць сігнал.
  5. Нарэшце, каб кіраваць яркасцю святлодыёдаў з дапамогай ШІМ, вы выкарыстоўваеце наступную функцыю:

ledcWrite(канал, працоўны цыкл)
Гэтая функцыя прымае ў якасці аргументаў канал, які генеруе сігнал ШІМ, і працоўны цыкл.
Неабходныя дэталі
Каб прытрымлівацца гэтага падручніка, вам спатрэбяцца наступныя часткі:

  • Плата ESP32 DEVKIT V1
  • 5 мм святлодыёд
  • Рэзістар 220 Ом
  •  Макетная дошка
  • Перамычкі

Схема
Падключыце святлодыёд да вашага ESP32, як паказана на наступнай прынцыповай схеме. Святлодыёд павінен быць падлучаны да GPIO 4.LAFVIN ESP32 Basic Starter Kit - СхемаЗаўвага: вы можаце выкарыстоўваць любы кантакт, які хочаце, калі ён можа дзейнічаць як выхад. Усе кантакты, якія могуць выступаць у якасці выхадаў, могуць выкарыстоўвацца як штыфты ШІМ. Для атрымання дадатковай інфармацыі аб ESP32 GPIO, прачытайце: ESP32 Pinout Reference: Якія кантакты GPIO вы павінны выкарыстоўваць?
Код
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягнуць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDE
Адкрыйце код Project_3_ESP32_PWM.ino ў arduino IDELAFVIN ESP32 Basic Starter Kit - Код 3LAFVIN ESP32 Basic Starter Kit - Код 4Вы пачынаеце з вызначэння штыфта, да якога прымацаваны святлодыёд. У гэтым выпадку святлодыёд падлучаны да GPIO 4.LAFVIN ESP32 Basic Starter Kit - Код 5Затым вы задаеце ўласцівасці сігналу ШІМ. Вы вызначаеце частату 5000 Гц, выбіраеце канал 0 для генерацыі сігналу і ўсталёўваеце раздзяленне 8 біт. Вы можаце выбраць іншыя ўласцівасці, адрозныя ад гэтых, для генерацыі розных сігналаў ШІМ.LAFVIN ESP32 Basic Starter Kit - Код 6У setup() вам трэба наладзіць святлодыёдную ШІМ з уласцівасцямі, якія вы вызначылі раней, выкарыстоўваючы функцыю ledcSetup(), якая прымае ў якасці аргументаў ledChannel, частату і раздзяленне наступным чынам:LAFVIN ESP32 Basic Starter Kit - Код 8Далей вам трэба выбраць GPIO, з якога вы будзеце атрымліваць сігнал. Для гэтага выкарыстоўвайце функцыю ledcAttachPin(), якая прымае ў якасці аргументаў GPIO, куды вы хочаце атрымаць сігнал, і канал, які генеруе сігнал. У гэтым эксample, мы атрымаем сігнал у ledPin GPIO, які адпавядае GPIO 4. Канал, які генеруе сігнал, - гэта ledChannel, які адпавядае каналу 0.LAFVIN ESP32 Basic Starter Kit - Код 9У цыкле вы будзеце змяняць працоўны цыкл ад 0 да 255, каб павялічыць яркасць святлодыёда.LAFVIN ESP32 Basic Starter Kit - яркасцьА затым, паміж 255 і 0, каб паменшыць яркасць.LAFVIN ESP32 Basic Starter Kit - яркасць 1Каб усталяваць яркасць святлодыёда, вам проста трэба выкарыстоўваць функцыю ledcWrite(), якая прымае ў якасці аргументаў канал, які генеруе сігнал, і працоўны цыкл.LAFVIN ESP32 Basic Starter Kit - яркасць 2Паколькі мы выкарыстоўваем 8-бітнае раздзяленне, працоўны цыкл будзе кантралявацца з дапамогай значэння ад 0 да 255. Звярніце ўвагу, што ў функцыі ledcWrite() мы выкарыстоўваем канал, які генеруе сігнал, а не GPIO.

Тэставанне Example

Загрузіце код у свой ESP32. Пераканайцеся, што вы выбралі правільную плату і COM-порт. Паглядзіце на сваю схему. Вы павінны мець цьмяны святлодыёд, які павялічвае і памяншае яркасць.LAFVIN ESP32 Basic Starter Kit - тэставанне Example

Праект 4 ESP32 PIR датчык руху

Гэты праект паказвае, як выяўляць рух з дапамогай ESP32 з дапамогай PIR-датчыка руху. Зумер падае сігнал трывогі пры выяўленні руху і спыняе сігнал трывогі, калі рух не выяўляецца на працягу зададзенага часу (напрыклад, 4 секунды)
Як працуе датчык руху HC-SR501
.LAFVIN ESP32 Basic Starter Kit - датчык руху працуеПрынцып працы датчыка HC-SR501 заснаваны на змене інфрачырвонага выпраменьвання на рухомым аб'екце. Для выяўлення датчыкам HC-SR501 аб'ект павінен адпавядаць двум патрабаванням:

  • Аб'ект выпраменьвае ў інфрачырвоным дыяпазоне.
  • Аб'ект рухаецца або дрыжыць

Такім чынам:
Калі аб'ект выпраменьвае інфрачырвоныя прамяні, але не рухаецца (напрыклад, чалавек стаіць на месцы, не рухаючыся), датчык не выяўляе яго.
Калі аб'ект рухаецца, але не выпраменьвае інфрачырвоныя прамяні (напрыклад, робат або транспартны сродак), ён НЕ выяўляецца датчыкам.
Прадстаўляем таймеры
У гэтым эксample мы таксама ўвядзем таймеры. Мы хочам, каб святлодыёд заставаўся гарэць на працягу зададзенай колькасці секунд пасля выяўлення руху. Замест таго, каб выкарыстоўваць функцыю delay(), якая блакуе ваш код і не дазваляе вам рабіць што-небудзь яшчэ на працягу пэўнай колькасці секунд, мы павінны выкарыстоўваць таймер.LAFVIN ESP32 Basic Starter Kit - Знаёмства з таймераміФункцыя delay().
Вы павінны быць знаёмыя з функцыяй delay(), бо яна шырока выкарыстоўваецца. Гэтая функцыя даволі простая ў выкарыстанні. Ён прымае адно цэлае лік у якасці аргумента.
Гэты лік паказвае час у мілісекундах, які праграма павінна чакаць, пакуль не пяройдзе да наступнага радка кода.LAFVIN ESP32 Basic Starter Kit - кодКалі вы робіце затрымку (1000), ваша праграма спыняецца на гэтым радку на 1 секунду.
delay() - гэта функцыя блакавання. Функцыі блакіроўкі не дазваляюць праграме рабіць што-небудзь яшчэ, пакуль гэтая канкрэтная задача не будзе завершана. Калі вам трэба, каб некалькі задач выконваліся адначасова, вы не можаце выкарыстоўваць delay().
Для большасці праектаў вам варта пазбягаць выкарыстання затрымак і замест гэтага выкарыстоўваць таймеры.
Функцыя millis().
Выкарыстоўваючы функцыю millis(), вы можаце вярнуць колькасць мілісекунд, якія прайшлі з моманту першага запуску праграмы.LAFVIN ESP32 Basic Starter Kit - праграма, запушчаная ўпершынюЧаму гэтая функцыя карысная? Таму што з дапамогай матэматыкі вы можаце лёгка праверыць, колькі часу прайшло, не блакуючы свой код.
Неабходныя дэталі
Каб прытрымлівацца гэтага падручніка, вам патрэбныя наступныя часткі

  • Плата ESP32 DEVKIT V1
  • PIR-датчык руху (HC-SR501)
  • Актыўны зумер
  • Перамычкі
  • Макетная дошка

СхемаБазавы стартавы набор LAFVIN ESP32 - схема 1Заўвага: Рабочая тtage HC-SR501 складае 5 В. Выкарыстоўвайце шпільку Vin для яго харчавання.
Код
Перш чым прыступіць да гэтага падручніка, вы павінны ўсталяваць надбудову ESP32 у вашай IDE Arduino. Каб усталяваць ESP32 у Arduino IDE, выканайце адзін з наступных падручнікаў, калі вы гэтага яшчэ не зрабілі. (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDE
Адкрыйце код Project_4_ESP32_PIR_Motion_Sensor.ino ў arduino IDE.
Дэманстрацыя
Загрузіце код на плату ESP32. Упэўніцеся, што ў вас выбраны належная плата і COM-порт. Запампуйце даведачны код.
Адкрыйце Serial Monitor на хуткасці 115200 бод.LAFVIN ESP32 Basic Starter Kit - Дэманстрацыя 1Правядзіце рукой перад датчыкам PIR. Павінен уключыцца гукавы сігнал, а на паслядоўным маніторы будзе надрукавана паведамленне «Выяўлены рух! Трывожны гукавы сігнал».
Праз 4 секунды гукавы сігнал павінен выключыцца.LAFVIN ESP32 Basic Starter Kit - зумер

Праект 5 камутатар ESP32 Web Сервер

У гэтым праекце вы створыце аўтаномны web сервер з ESP32, які кіруе выхадамі (два святлодыёда) з дапамогай асяроддзя праграмавання Arduino IDE. The web сервер рэагуе на мабільныя прылады і можа быць даступны з любой прылады, якая ў якасці браўзера ў лакальнай сетцы. Мы пакажам вам, як стварыць web сервер і як код працуе крок за крокам.
Праект скончаныview
Перш чым перайсці непасрэдна да праекта, важна акрэсліць, што мы маем web падыдзе сервер, каб потым было прасцей выконваць наступныя крокі.

  • The web сервер, які вы пабудуеце, кіруе двума святлодыёдамі, падлучанымі да ESP32 GPIO 26 і GPIO 27;
  • Вы можаце атрымаць доступ да ESP32 web сервер, увёўшы IP-адрас ESP32 у браўзеры лакальнай сеткі;
  • Націскаючы кнопкі на вашым web сервера вы можаце імгненна змяніць стан кожнага святлодыёда.

Неабходныя дэталі
Для гэтага падручніка вам спатрэбяцца наступныя часткі:

  • Плата ESP32 DEVKIT V1
  • 2x 5 мм святлодыёд
  • 2 рэзістар 200 Ом
  • Макетная дошка
  • Перамычкі

Схема
Пачніце з пабудовы схемы. Падключыце два святлодыёда да ESP32, як паказана на наступнай прынцыповай схеме: адзін святлодыёд падключаны да GPIO 26, а другі да GPIO 27.
Заўвага: Мы выкарыстоўваем плату ESP32 DEVKIT DOIT з 36 кантактамі. Перш чым збіраць схему, пераканайцеся, што вы праверылі распиновку платы, якую вы выкарыстоўваеце.LAFVIN ESP32 Basic Starter Kit - СхемаКод
Тут мы прапануем код, які стварае ESP32 web сервер. Адкрыйце код Project_5_ESP32_Switch _Web_Server.ino ў arduino IDE, але пакуль не загружайце яго. Вам трэба ўнесці некаторыя змены, каб гэта працавала на вас.
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягнуць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDE
Налада сеткавых уліковых дадзеных
Вам трэба змяніць наступныя радкі з уліковымі дадзенымі сеткі: SSID і пароль. Код добра пракаментаваны, дзе вы павінны ўнесці змены.LAFVIN ESP32 Basic Starter Kit - Сеткавыя ўліковыя дадзеныяЗагрузка кода
Цяпер вы можаце загрузіць код і і web сервер запрацуе адразу.
Выканайце наступныя крокі, каб загрузіць код у ESP32:

  1. Падключыце плату ESP32 да кампутара;
  2. У IDE Arduino выберыце сваю плату ў Інструменты > Плата (у нашым выпадку мы выкарыстоўваем плату ESP32 DEVKIT DOIT);LAFVIN ESP32 Basic Starter Kit - загрузка кода
  3. Выберыце COM-порт у Інструменты > Порт.Базавы стартавы набор LAFVIN ESP32 - порт інструментаў
  4. Націсніце кнопку «Загрузіць» у IDE Arduino і пачакайце некалькі секунд, пакуль код кампілюецца і загружаецца на вашу плату.LAFVIN ESP32 Basic Starter Kit - ICON 7
  5. Дачакайцеся паведамлення «Гатова запампоўка».LAFVIN ESP32 Basic Starter Kit - загрузка завершана 1

Пошук IP-адраса ESP
Пасля загрузкі кода адкрыйце Serial Monitor з хуткасцю 115200 бод.LAFVIN ESP32 Basic Starter Kit - IP-адрас ESPНацісніце кнопку ESP32 EN (скід). ESP32 падключаецца да Wi-Fi і выводзіць IP-адрас ESP на паслядоўны манітор. Скапіруйце гэты IP-адрас, бо ён патрэбны для доступу да ESP32 web сервер.Базавы стартавы набор LAFVIN ESP32 - web серверДоступ да Web Сервер
Каб атрымаць доступ да web сервера, адкрыйце браўзер, устаўце IP-адрас ESP32, і вы ўбачыце наступную старонку.
Заўвага: Ваш браўзер і ESP32 павінны быць падлучаны да адной лакальнай сеткі.LAFVIN ESP32 Basic Starter Kit - Доступ да Web СерверКалі вы паглядзіце на паслядоўны манітор, то ўбачыце, што адбываецца на заднім плане. ESP атрымлівае HTTP-запыт ад новага кліента (у дадзеным выпадку ад вашага браўзера).LAFVIN ESP32 Basic Starter Kit - HTTP-запытВы таксама можаце ўбачыць іншую інфармацыю пра HTTP-запыт.
Дэманстрацыя
Цяпер вы можаце праверыць, калі ваш web сервер працуе належным чынам. Націсніце кнопкі для кіравання святлодыёдамі.LAFVIN ESP32 Basic Starter Kit - фонУ той жа час вы можаце зірнуць на паслядоўны манітор, каб убачыць, што адбываецца ў фонавым рэжыме. Напрыкладample, калі вы націскаеце кнопку, каб уключыць GPIO 26, ESP32 атрымлівае запыт на /26/on URL.Базавы стартавы набор LAFVIN ESP32 - URLКалі ESP32 атрымлівае гэты запыт, ён уключае святлодыёд, падлучаны да GPIO 26, і абнаўляе свой стан на web старонка.Базавы стартавы набор LAFVIN ESP32 - web старонкаКнопка для GPIO 27 працуе аналагічным чынам. Праверце, ці правільна ён працуе.LAFVIN ESP32 Basic Starter Kit - працуе належным чынам

Як працуе Кодэкс

У гэтым раздзеле мы больш падрабязна разгледзім код, каб убачыць, як ён працуе.
Першае, што вам трэба зрабіць, гэта ўключыць бібліятэку WiFi.LAFVIN ESP32 Basic Starter Kit - WiFi бібліятэкаЯк згадвалася раней, вам трэба ўставіць свой ssid і пароль у наступныя радкі ўнутры двукоссяў.LAFVIN ESP32 Basic Starter Kit - падвойныя двукоссіЗатым вы ўсталюеце свой web сервер на порт 80.Базавы стартавы набор LAFVIN ESP32 - web серверНаступны радок стварае зменную для захавання загалоўка HTTP-запыту:LAFVIN ESP32 Basic Starter Kit - HTTP-запытЗатым вы ствараеце дапаможныя зменныя для захавання бягучага стану вашых вынікаў. Калі вы хочаце дадаць больш выхадаў і захаваць яго стан, вам трэба стварыць больш зменных.Базавы стартавы набор LAFVIN ESP32 - зменныяВам таксама трэба прызначыць GPIO для кожнага з вашых выхадаў. Тут мы выкарыстоўваем GPIO 26 і GPIO 27. Вы можаце выкарыстоўваць любыя іншыя прыдатныя GPIO.LAFVIN ESP32 Basic Starter Kit - іншы прыдатныўстаноўка ()
Зараз пяройдзем да setup(). Спачатку мы пачынаем паслядоўную сувязь з хуткасцю 115200 бод для мэт адладкі.LAFVIN ESP32 Basic Starter Kit - мэтыВы таксама вызначаеце свае GPIO як OUTPUT і ўсталёўваеце для іх значэнне LOW.LAFVIN ESP32 Basic Starter Kit - GPIO як ВЫХОДЫНаступныя радкі пачынаюць злучэнне Wi-Fi з WiFi.begin(ssid, пароль), чакаюць паспяховага злучэння і друкуюць IP-адрас ESP у паслядоўным маніторы.LAFVIN ESP32 Basic Starter Kit - СерыйныLAFVIN ESP32 Basic Starter Kit - Серыйны нумар 1цыкл ()
У loop() мы праграмуем, што адбываецца, калі новы кліент усталёўвае злучэнне з web сервер.
ESP32 заўсёды праслухоўвае ўваходных кліентаў з наступным радком:LAFVIN ESP32 Basic Starter Kit - цыклПры атрыманні запыту ад кліента мы захаваем уваходныя даныя. Наступны цыкл while будзе працаваць, пакуль кліент застаецца на сувязі. Мы не рэкамендуем змяняць наступную частку кода, калі вы дакладна не ведаеце, што робіце.LAFVIN ESP32 Basic Starter Kit - дакладнаLAFVIN ESP32 Basic Starter Kit - роўна 1LAFVIN ESP32 Basic Starter Kit - роўна 2У наступным раздзеле аператараў if і else правяраецца, якая кнопка была націснута ў вашым web старонка, і адпаведна кантралюе выхады. Як мы бачылі раней, мы робім запыт на розныя URLs у залежнасці ад націснутай кнопкі.LAFVIN ESP32 Basic Starter Kit - націснутая кнопкаLAFVIN ESP32 Basic Starter Kit - націснутая кнопка 1Напрыкладampкалі вы націснеце кнопку GPIO 26 ON, ESP32 атрымае запыт на /26/ON URL (мы бачым гэтую інфармацыю ў загалоўку HTTP на паслядоўным маніторы). Такім чынам, мы можам праверыць, ці змяшчае загаловак выраз GET /26/on. Калі ён змяшчае, мы змяняем зменную output26state на ON, і ESP32 уключае святлодыёд.
Гэта працуе аналагічна для іншых кнопак. Такім чынам, калі вы хочаце дадаць больш выхадаў, вы павінны змяніць гэтую частку кода, каб уключыць іх.
Адлюстраванне HTML web старонка
Наступнае, што вам трэба зрабіць, гэта стварыць web старонка. ESP32 адправіць у ваш браўзер адказ з некаторым кодам HTML для стварэння web старонка.
The web старонка адпраўляецца кліенту з дапамогай гэтага выражэння client.println(). Вы павінны ўвесці тое, што хочаце адправіць кліенту ў якасці аргумента.
Першае, што мы павінны адправіць, гэта заўсёды наступны радок, які паказвае, што мы адпраўляем HTML.LAFVIN ESP32 Basic Starter Kit - адпраўка HTMLЗатым наступны радок робіць web старонка спагадная ў любой web браўзер.Базавы стартавы набор LAFVIN ESP32 - web браўзерІ наступнае выкарыстоўваецца для прадухілення запытаў на favicon. – Вам не трэба турбавацца аб гэтай лініі.LAFVIN ESP32 Basic Starter Kit - client.println

Стылізаваць Web старонка

Далей у нас ёсць тэкст CSS для стылю кнопак і web знешні выгляд старонкі.
Мы выбіраем шрыфт Helvetica, вызначаем кантэнт, які будзе адлюстроўвацца ў выглядзе блока і выраўноўвацца па цэнтры.LAFVIN ESP32 Basic Starter Kit - Стылізацыя Web старонкаМы стылізуем нашы кнопкі з колерам #4CAF50, без рамак, тэкст у белым колеры і з такім пракладкай: 16px 40px. Мы таксама ўсталёўваем упрыгожванне тэксту значэннем none, вызначаем памер шрыфта, поле і курсор для паказальніка.LAFVIN ESP32 Basic Starter Kit - паказальнікМы таксама вызначаем стыль для другой кнопкі з усімі ўласцівасцямі кнопкі, якія мы вызначылі раней, але з іншым колерам. Гэта будзе стыль для кнопкі выключэння.LAFVIN ESP32 Basic Starter Kit - client.println 1

Ўстаноўка Web Загаловак першай старонкі
У наступным радку вы можаце ўсталяваць першы загаловак вашага web старонка. Тут у нас ёсць «ESP32 Web Сервер», але вы можаце змяніць гэты тэкст на любы.Базавы стартавы набор LAFVIN ESP32 - Web Загаловак старонкіАдлюстраванне кнопак і адпаведнага стану
Затым вы пішаце абзац для адлюстравання бягучага стану GPIO 26. Як бачыце, мы выкарыстоўваем зменную output26State, каб стан імгненна абнаўляўся пры змене гэтай зменнай.LAFVIN ESP32 Basic Starter Kit - зменныя зменыЗатым мы адлюстроўваем кнопку ўключэння або выключэння ў залежнасці ад бягучага стану GPIO. Калі бягучы стан GPIO выключаны, мы паказваем кнопку ON, калі не, мы паказваем кнопку OFF.LAFVIN ESP32 Basic Starter Kit - адлюстраванне кнопкі OFFМы выкарыстоўваем тую ж працэдуру для GPIO 27.
Закрыццё злучэння
Нарэшце, калі адказ заканчваецца, мы ачышчаем зменную загалоўка і спыняем злучэнне з кліентам з дапамогай client.stop().LAFVIN ESP32 Basic Starter Kit - Закрыццё злучэння

Падвядзенне вынікаў

У гэтым уроку мы паказалі вам, як стварыць a web сервер з ESP32. Мы паказалі вам просты былыample, які кіруе двума святлодыёдамі, але ідэя заключаецца ў тым, каб замяніць гэтыя святлодыёды на рэле або любы іншы выхад, якім вы хочаце кіраваць.

Праект 6 RGB LED Web Сервер

У гэтым праекце мы пакажам вам, як дыстанцыйна кіраваць святлодыёдам RGB з дапамогай платы ESP32 з дапамогай a web сервер з выбарам колеру.
Праект скончаныview
Перш чым пачаць, давайце паглядзім, як працуе гэты праект:Базавы стартавы набор LAFVIN ESP32 - праект скончаныview

  • ESP32 web сервер адлюстроўвае выбар колеру.
  • Калі вы выбіраеце колер, ваш браўзер робіць запыт на a URL які змяшчае параметры R, G і B абранага колеру.
  • Ваш ESP32 атрымлівае запыт і раздзяляе значэнне для кожнага параметра колеру.
  • Затым ён адпраўляе ШІМ-сігнал з адпаведным значэннем на GPIO, якія кіруюць святлодыёдам RGB.

Як працуюць святлодыёды RGB?
У RGB-святлодыёдзе з агульным катодам усе тры святлодыёды маюць адмоўнае злучэнне (катод). Усе ўваходзяць у камплект RGB з агульным катодам.LAFVIN ESP32 Basic Starter Kit - святлодыёды RGB працуюцьЯк стварыць розныя колеры?
Са святлодыёдам RGB вы, вядома, можаце вырабляць чырвонае, зялёнае і сіняе святло, і, наладзіўшы інтэнсіўнасць кожнага святлодыёда, вы можаце вырабляць і іншыя колеры.
Напрыкладampнапрыклад, каб вырабляць чыста сіняе святло, вы павінны ўсталяваць сіні святлодыёд на самую высокую інтэнсіўнасць, а зялёны і чырвоны святлодыёды - на самую нізкую інтэнсіўнасць. Для белага святла вы павінны ўсталяваць для ўсіх трох святлодыёдаў найбольшую інтэнсіўнасць.
Змешванне колераў
Каб атрымаць іншыя колеры, вы можаце камбінаваць тры колеры рознай інтэнсіўнасці. Для рэгулявання інтэнсіўнасці кожнага святлодыёда можна выкарыстоўваць сігнал ШІМ.
Паколькі святлодыёды знаходзяцца вельмі блізка адзін да аднаго, нашы вочы бачаць вынік спалучэння колераў, а не тры колеры паасобку.
Каб мець уяўленне аб тым, як спалучаць колеры, зірніце на наступную табліцу.
Гэта самая простая табліца змешвання колераў, але яна дае ўяўленне пра тое, як яна працуе і як ствараць розныя колеры.LAFVIN ESP32 Basic Starter Kit - розныя колерыНеабходныя дэталі
Для гэтага праекта вам патрэбныя наступныя часткі:

  • Плата ESP32 DEVKIT V1
  • Святлодыёд RGB
  • 3 рэзістара 220 Ом
  • Перамычкі
  • Макетная дошка

СхемаLAFVIN ESP32 Basic Starter Kit - СхемаКод
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягнуць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)

  • Устаноўка надбудовы ESP32 у Arduino IDE

Пасля зборкі схемы адкрыйце код
Праект_6_RGB_LED_Web_Server.ino ў IDE arduino.
Перш чым загрузіць код, не забудзьцеся ўставіць свае сеткавыя ўліковыя даныя, каб ESP мог падключыцца да лакальнай сеткі.LAFVIN ESP32 Basic Starter Kit - лакальная сеткаЯк працуе код
Скетч ESP32 выкарыстоўвае бібліятэку WiFi.h.LAFVIN ESP32 Basic Starter Kit - бібліятэка WiFi.hНаступныя радкі вызначаюць радковыя зменныя для захоўвання параметраў R, G і B з запыту.LAFVIN ESP32 Basic Starter Kit - String redStringНаступныя чатыры зменныя выкарыстоўваюцца для дэкадавання HTTP-запыту пазней.LAFVIN ESP32 Basic Starter Kit - HTTP-запытСтварыце тры зменныя для GPIO, якія будуць кантраляваць параметры паласы R, G і B. У гэтым выпадку мы выкарыстоўваем GPIO 13, GPIO 12 і GPIO 14.LAFVIN ESP32 Basic Starter Kit - неабходныя GPIOГэтыя GPIO павінны выводзіць сігналы ШІМ, таму спачатку трэба наладзіць уласцівасці ШІМ. Усталюйце частату сігналу ШІМ на 5000 Гц. Затым звяжыце канал ШІМ для кожнага колеруLAFVIN ESP32 Basic Starter Kit - кожны колерІ, нарэшце, усталюйце дазвол каналаў ШІМ на 8 бітLAFVIN ESP32 Basic Starter Kit - каналы ШІМУ setup() прызначце ўласцівасці ШІМ для каналаў ШІМLAFVIN ESP32 Basic Starter Kit - каналы ШІМДалучыце ШІМ-каналы да адпаведных GPIOLAFVIN ESP32 Basic Starter Kit - адпаведныя GPIOНаступны раздзел кода адлюстроўвае выбар колеру ў вашым web і робіць запыт на аснове абранага вамі колеру.LAFVIN ESP32 Basic Starter Kit - абраныLAFVIN ESP32 Basic Starter Kit - client.printlnLAFVIN ESP32 Basic Starter Kit - client.println 1Калі вы выбіраеце колер, вы атрымліваеце запыт у наступным фармаце.LAFVIN ESP32 Basic Starter Kit - наступны фармат

Такім чынам, нам трэба разбіць гэты радок, каб атрымаць параметры R, G і B. Параметры захоўваюцца ў зменных redString, greenString і blueString і могуць мець значэнні ад 0 да 255.LAFVIN ESP32 Basic Starter Kit - загаловакLAFVIN ESP32 Basic Starter Kit - загаловак 1Каб кіраваць паласой з дапамогай ESP32, выкарыстоўвайце функцыю ledcWrite() для генерацыі сігналаў ШІМ са значэннямі, дэкадаванымі з HTTP запыт.LAFVIN ESP32 Basic Starter Kit - HTTP-запыт 1Заўвага: даведацца больш пра ШІМ з ESP32: Праект 3 ESP32 ШІМ (аналагавы выхад)
Каб кіраваць паласой з дапамогай ESP8266, нам проста трэба выкарыстоўваць
функцыя analogWrite() для генерацыі сігналаў ШІМ са значэннямі, дэкадаванымі з запыту HTTP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Паколькі мы атрымліваем значэнні ў радковай зменнай, нам трэба пераўтварыць іх у цэлыя лікі з дапамогай метаду toInt().
Дэманстрацыя
Пасля ўстаўкі сеткавых уліковых даных выберыце правільную плату і COM-порт і загрузіце код у свой ESP32. Інструкцыі па загрузцы кода.
Пасля загрузкі адкрыйце Serial Monitor на хуткасці 115200 бод і націсніце кнопку ESP Enable/Reset. Вы павінны атрымаць IP-адрас дошкі.LAFVIN ESP32 Basic Starter Kit - тая ж лакальная сеткаАдкрыйце браўзер і ўстаўце IP-адрас ESP. Цяпер выкарыстоўвайце выбар колеру, каб выбраць колер для святлодыёда RGB.
Затым вам трэба націснуць кнопку «Змяніць колер», каб колер уступіў у сілу.LAFVIN ESP32 Basic Starter Kit - RGB LEDКаб выключыць святлодыёд RGB, выберыце чорны колер.
Самыя моцныя колеры (у верхняй частцы выбару колеру) - гэта тыя, якія дадуць лепшыя вынікі.LAFVIN ESP32 Basic Starter Kit - лепшыя вынікі

Рэле праекта 7 ESP32 Web Сервер

Выкарыстанне рэле з ESP32 - выдатны спосаб дыстанцыйнага кіравання бытавымі прыборамі пераменнага току. Гэты падручнік тлумачыць, як кіраваць рэлейным модулем з дапамогай ESP32.
Мы паглядзім, як працуе модуль рэле, як падключыць рэле да ESP32 і пабудаваць web сервер для дыстанцыйнага кіравання рэле.
Прадстаўляем рэле
Рэле - гэта перамыкач з электрычным прывадам, і, як і любы іншы выключальнік, яго можна ўключаць і выключаць, прапускаючы або не прапускаючы ток. Ім можна кіраваць з дапамогай нізкай гучнасціtages, напрыклад, 3.3 В, які забяспечваецца GPIO ESP32 і дазваляе нам кантраляваць высокую гучнасцьtages як 12V, 24V або сеткавага аб'ёмуtage (230 В у Еўропе і 120 В у ЗША).LAFVIN ESP32 Basic Starter Kit - Знаёмства з рэлеЗ левага боку ёсць два наборы з трох разетак для падлучэння высокай гучнасціtages, і шпількі з правага боку (нізкая гучнасцьtage) падключыцеся да ESP32 GPIO.
Магістральная сетка Voltage ЗлучэнняLAFVIN ESP32 Basic Starter Kit - Mains Voltage ЗлучэнняРэлейны модуль, паказаны на папярэднім фота, мае два раздымы, кожны з трыма разеткамі: агульны (COM), нармальна закрыты (NC) і нармальна адкрыты (NO).

  • COM: падключыце ток, які вы хочаце кантраляваць (сеткавы аб'ёмtagе).
  • NC (Normally Closed): нармальна закрытая канфігурацыя выкарыстоўваецца, калі вы хочаце, каб рэле было замкнёна па змаўчанні. NC з'яўляюцца кантактамі COM падключаны, гэта азначае, што ток цячэ, пакуль вы не адправіце сігнал ад ESP32 да модуля рэле, каб размыкнуць ланцуг і спыніць паток току.
  • NO (Normally Open): нармальна адкрытая канфігурацыя працуе наадварот: паміж кантактамі NO і COM няма сувязі, таму ланцуг разрываецца, калі вы не адправіце сігнал ад ESP32, каб закрыць ланцуг.

Штыфты кіраванняLAFVIN ESP32 Basic Starter Kit - Штыфты кіраванняНізкая гучнасцьtagНа баку ёсць набор з чатырох шпілек і набор з трох шпілек. Першы набор складаецца з VCC і GND для харчавання модуля, а таксама ўваходу 1 (IN1) і ўваходу 2 (IN2) для кіравання ніжнім і верхнім рэле адпаведна.
Калі ваш модуль рэле мае толькі адзін канал, у вас будзе толькі адзін кантакт IN. Калі ў вас ёсць чатыры канала, вы будзеце мець чатыры кантакты IN і гэтак далей.
Сігнал, які вы пасылаеце на кантакты IN, вызначае, актыўнае рэле ці не. Рэле спрацоўвае, калі ўваходнае напружанне апускаецца ніжэй прыкладна за 2 В. Гэта азначае, што ў вас будуць наступныя сітуацыі:

  • Нармальна закрытая канфігурацыя (NC):
  • ВЫСОКІ сігнал – цячэ ток
  • Нізкі сігнал – ток не цячэ
  • Нармальна адкрытая канфігурацыя (НЕ):
  • ВЫСОКІ сігнал – ток не цячэ
  • Нізкі сігнал – цячэ ток

Вы павінны выкарыстоўваць нармальна закрытую канфігурацыю, калі ток павінен цячы большую частку часу, і вы хочаце спыніць яго толькі час ад часу.
Выкарыстоўвайце нармальна адкрытую канфігурацыю, калі вы хочаце, каб ток час ад часу працякаў (напрыклад,ample, уключыць іншamp часам).
Выбар блока харчаванняБазавы стартавы набор LAFVIN ESP32 - выбар крыніцы харчаванняДругі набор кантактаў складаецца з кантактаў GND, VCC і JD-VCC.
Вывад JD-VCC сілкуе электрамагніт рэле. Звярніце ўвагу, што модуль мае перамычку, якая злучае кантакты VCC і JD-VCC; адзін, паказаны тут, жоўты, але ваш можа быць іншага колеру.
Калі перамычка надзета, кантакты VCC і JD-VCC злучаны. Гэта азначае, што электрамагніт рэле сілкуецца непасрэдна ад штыфта харчавання ESP32, таму модуль рэле і ланцугі ESP32 фізічна не ізаляваны адзін ад аднаго.
Без перамычкі неабходна забяспечыць незалежную крыніцу харчавання для харчавання электрамагніта рэле праз штыфт JD-VCC. Гэтая канфігурацыя фізічна ізалюе рэле ад ESP32 з дапамогай убудаванай у модуль оптапары, што прадухіляе пашкоджанне ESP32 у выпадку скокаў электрычнага току.
СхемаLAFVIN ESP32 Basic Starter Kit - СхемаПапярэджанне: Выкарыстанне высокай абtagБлокі сілкавання могуць нанесці сур'ёзныя траўмы.
Такім чынам, 5-міліметровыя святлодыёды выкарыстоўваюцца замест высокага аб'ёму харчаванняtagе цыбуліны ў эксперыменце. Калі вы не знаёмыя з mains voltage папытаеце таго, хто павінен вам дапамагчы. Падчас праграмавання ESP або падключэння ланцуга пераканайцеся, што ўсе прылады адключаны ад электрасеткіtage.LAFVIN ESP32 Basic Starter Kit - сеткавы аб'ёмtageЎстаноўка бібліятэкі для ESP32
Каб пабудаваць гэта web сервер, мы выкарыстоўваем ESPAsyncWebБібліятэка сервера і бібліятэка AsyncTCP.
Ўстаноўка ESPAsyncWebСерверная бібліятэка
Выканайце наступныя дзеянні, каб усталяваць ESPAsyncWebСервер бібліятэка:

  1. Націсніце тут, каб спампаваць ESPAsyncWebСерверная бібліятэка. Вы павінны былі
    папку .zip у папцы "Спампоўкі".
  2. Распакуйце папку .zip, і вы павінны атрымаць ESPAsyncWebТэчка Server-master
  3. Перайменуйце папку з ESPAsyncWebСервер-майстар для ESPAsyncWebСервер
  4. Перамясціце ESPAsyncWebТэчка сервера ў тэчку ўсталявальных бібліятэк Arduino IDE

Акрамя таго, у вашай Arduino IDE вы можаце перайсці ў Sketch > Include
Бібліятэка > Дадаць бібліятэку .ZIP… і выберыце бібліятэку, якую вы толькі што спампавалі.
Усталёўка бібліятэкі AsyncTCP для ESP32
The ESPAsyncWebСервер бібліятэка патрабуе Асінхронны TCP бібліятэка на працу. Выконвайце
наступныя крокі для ўстаноўкі гэтай бібліятэкі:

  1. Націсніце тут, каб спампаваць бібліятэку AsyncTCP. У тэчцы "Спампоўкі" павінна быць папка .zip
  2. Распакуйце папку .zip, і вы павінны атрымаць папку AsyncTCP-master
    1. Перайменуйце папку з AsyncTCP-master на AsyncTCP
    3. Перамясціце тэчку AsyncTCP у тэчку ўстаноўкі бібліятэк Arduino IDE
    4. Нарэшце, зноў адкрыйце Arduino IDE

Акрамя таго, у вашай Arduino IDE вы можаце перайсці ў Sketch > Include
Бібліятэка > Дадаць бібліятэку .ZIP… і выберыце бібліятэку, якую вы толькі што спампавалі.
Код
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягнуць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDE
Пасля ўстаноўкі неабходных бібліятэк адкрыйце код Project_7_ESP32_Relay_Web_Server.ino ў IDE arduino.
Перш чым загрузіць код, не забудзьцеся ўставіць свае сеткавыя ўліковыя даныя, каб ESP мог падключыцца да лакальнай сеткі.LAFVIN ESP32 Basic Starter Kit - лакальная сеткаДэманстрацыя
Пасля ўнясення неабходных змяненняў загрузіце код у свой ESP32. Інструкцыі па загрузцы кода.
Адкрыйце паслядоўны манітор на хуткасці 115200 бод і націсніце кнопку ESP32 EN, каб атрымаць яго IP-адрас. Затым адкрыйце браўзер у лакальнай сетцы і ўвядзіце IP-адрас ESP32, каб атрымаць доступ да web сервер.
Адкрыйце паслядоўны манітор на хуткасці 115200 бод і націсніце кнопку ESP32 EN, каб атрымаць яго IP-адрас. Затым адкрыйце браўзер у лакальнай сетцы і ўвядзіце IP-адрас ESP32, каб атрымаць доступ да web сервер.Базавы стартавы набор LAFVIN ESP32 - web серверЗаўвага: Ваш браўзер і ESP32 павінны быць падлучаны да адной лакальнай сеткі.
Вы павінны атрымаць наступнае з дзвюма кнопкамі, роўнай колькасці рэле, якое вы вызначылі ў сваім кодзе.LAFVIN ESP32 Basic Starter Kit - смартфонЦяпер вы можаце выкарыстоўваць кнопкі для кіравання рэле з дапамогай смартфона.LAFVIN ESP32 Basic Starter Kit - смартфон 1

Project_8_Output_State_Synchronization_ Web_Сервер

Гэты праект паказвае, як кіраваць выхадамі ESP32 або ESP8266 з дапамогай a web сервер і фізічная кнопка адначасова. Стан выхаду абнаўляецца на web незалежна ад таго, зменена яна з дапамогай фізічнай кнопкі або web сервер.
Праект скончаныview
Давайце коратка паглядзім, як працуе праект.Базавы стартавы набор LAFVIN ESP32 - праект скончаныviewESP32 або ESP8266 размяшчае a web сервер, які дазваляе кантраляваць стан вываду;

  • Бягучы стан вываду адлюстроўваецца на web сервер;
  • ESP таксама падлучаны да фізічнай кнопкі, якая кіруе тым жа выхадам;
  • Калі вы змяняеце стан вываду з дапамогай фізічнай кнопкі puhs, яго бягучы стан таксама абнаўляецца на web сервер.

Такім чынам, гэты праект дазваляе вам кіраваць адным і тым жа выхадам з дапамогай a web сервер і кнопка адначасова. Кожны раз, калі стан вываду змяняецца, web сервер абноўлены.
Неабходныя дэталі
Вось спіс частак, неабходных для стварэння схемы:

  • Плата ESP32 DEVKIT V1
  • 5 мм святлодыёд
  • Рэзістар 220 Ом
  • Кнопка
  • Рэзістар 10 кОм
  • Макетная дошка
  • Перамычкі

СхемаБазавы стартавы набор LAFVIN ESP32 - схема 1Ўстаноўка бібліятэкі для ESP32
Каб пабудаваць гэта web сервер, мы выкарыстоўваем ESPAsyncWebБібліятэка сервера і бібліятэка AsyncTCP. (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага кроку.)
Ўстаноўка ESPAsyncWebСерверная бібліятэка
Выканайце наступныя дзеянні, каб усталяваць ESPAsyncWebСерверная бібліятэка:

  1. Націсніце тут, каб спампаваць ESPAsyncWebСерверная бібліятэка. Вы павінны былі
    папку .zip у папцы "Спампоўкі".
  2. Распакуйце папку .zip, і вы павінны атрымаць ESPAsyncWebТэчка Server-master
  3. Перайменуйце папку з ESPAsyncWebСервер-майстар для ESPAsyncWebСервер
  4. Перамясціце ESPAsyncWebТэчка сервера ў тэчку ўсталявальных бібліятэк Arduino IDE
    Акрамя таго, у вашай Arduino IDE вы можаце перайсці ў Sketch > Include
    Бібліятэка > Дадаць бібліятэку .ZIP… і выберыце бібліятэку, якую вы толькі што спампавалі.

Усталёўка бібліятэкі AsyncTCP для ESP32
ESPAsyncWebДля працы сервернай бібліятэкі патрабуецца бібліятэка AsyncTCP. Каб усталяваць гэтую бібліятэку, выканайце наступныя дзеянні:

  1. Націсніце тут, каб спампаваць бібліятэку AsyncTCP. У тэчцы "Спампоўкі" павінна быць папка .zip
  2. Распакуйце папку .zip, і вы павінны атрымаць папку AsyncTCP-master
  3. Перайменуйце папку з AsyncTCP-master на AsyncTCP
  4. Перамясціце тэчку AsyncTCP у тэчку ўстаноўкі бібліятэк Arduino IDE
  5. Нарэшце, зноў адкрыйце Arduino IDE
    Акрамя таго, у вашай Arduino IDE вы можаце перайсці ў Sketch > Include
    Бібліятэка > Дадаць бібліятэку .ZIP… і выберыце бібліятэку, якую вы толькі што спампавалі.

Код
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягнуць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDE
Пасля ўстаноўкі неабходных бібліятэк адкрыйце код
Project_8_Output_State_Synchronization_Web_Server.ino ў IDE arduino.
Перш чым загрузіць код, не забудзьцеся ўставіць свае сеткавыя ўліковыя даныя, каб ESP мог падключыцца да лакальнай сеткі.Базавы стартавы набор LAFVIN ESP32 - Код

Як працуе Кодэкс

Стан кнопкі і стан вываду
Пераменная ledState захоўвае стан выхаду святлодыёда. Па змаўчанні, калі web сервер запускаецца, ён НІЗКІ.Базавы стартавы набор LAFVIN ESP32 - код працуе

ButtonState і lastButtonState выкарыстоўваюцца для вызначэння таго, была націснутая кнопка ці не.LAFVIN ESP32 Basic Starter Kit - быў націснутыКнопка (web сервер)
Мы не ўключылі HTML для стварэння кнопкі ў зменнай index_html.
Гэта таму, што мы хочам мець магчымасць змяняць яго ў залежнасці ад бягучага стану святлодыёда, які таксама можна змяніць з дапамогай кнопкі.
Такім чынам, мы стварылі запаўняльнік для кнопкі %BUTTONPLACEHOLDER%, які будзе заменены тэкстам HTML для стварэння кнопкі пазней у кодзе (гэта робіцца ў функцыі processor()).LAFVIN ESP32 Basic Starter Kit - быў націснуты 1працэсар()
Функцыя processor() замяняе любыя запаўняльнікі ў тэксце HTML фактычнымі значэннямі. Па-першае, ён правярае, ці ёсць у тэкстах HTML
запаўняльнікі %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - працэсарЗатым выклічце функцыю theoutputState(), якая вяртае бягучы стан вываду. Мы захоўваем яго ў зменнай outputStateValue.LAFVIN ESP32 Basic Starter Kit - outputStateПасля гэтага выкарыстоўвайце гэтае значэнне, каб стварыць тэкст HTML для адлюстравання кнопкі ў правільным стане:LAFVIN ESP32 Basic Starter Kit - код 4Запыт HTTP GET на змяненне стану вываду (JavaScript)
Калі вы націскаеце кнопку, выклікаецца функцыя thetoggleCheckbox(). Гэтая функцыя будзе рабіць запыт на розныя URLs, каб уключыць або выключыць святлодыёд.LAFVIN ESP32 Basic Starter Kit - JavaScriptКаб уключыць святлодыёд, ён робіць запыт на /update?state=1 URL:LAFVIN ESP32 Basic Starter Kit - элемент.праверанаУ адваротным выпадку ён робіць запыт на /update?state=0 URL.
Запыт HTTP GET на абнаўленне стану (JavaScript)
Каб абнаўляць стан вываду на web сервера, мы выклікаем наступную функцыю, якая робіць новы запыт у /state URL кожную секунду.LAFVIN ESP32 Basic Starter Kit - Стан абнаўленняБазавы стартавы набор LAFVIN ESP32 - стан абнаўлення 1Апрацоўваць запыты
Затым нам трэба разабрацца з тым, што адбываецца, калі ESP32 або ESP8266 атрымлівае запыты на гэтыя URLs.
Калі запыт атрыманы на корань /URL, мы адпраўляем старонку HTML, а таксама працэсар.LAFVIN ESP32 Basic Starter Kit - Апрацоўка запытаўLAFVIN ESP32 Basic Starter Kit - Апрацоўка запытаў 1Наступныя радкі правяраюць, ці атрымалі вы запыт на /update?state=1 або /update?state=0 URL і змяняе ledState адпаведна.LAFVIN ESP32 Basic Starter Kit - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamКалі запыт атрыманы ў /state URL, мы адпраўляем бягучы стан вываду:LAFVIN ESP32 Basic Starter Kit - выхадны станцыкл ()
У loop() мы ліквідуем націск кнопкі і ўключаем або выключаем святлодыёд у залежнасці ад значэння ledState зменная.LAFVIN ESP32 Basic Starter Kit - цыкл 1Дэманстрацыя
Загрузіце код на плату ESP32. Загрузіце даведачныя дзеянні па коду.
Затым адкрыйце паслядоўны манітор на хуткасці 115200 бод. Націсніце кнопку EN/RST на борце, каб атрымаць IP-адрас.Базавы стартавы набор LAFVIN ESP32 - дэманстрацыяАдкрыйце браўзер у лакальнай сетцы і ўвядзіце IP-адрас ESP. Вы павінны мець доступ да web сервер, як паказана ніжэй.
Заўвага: Ваш браўзер і ESP32 павінны быць падлучаны да адной лакальнай сеткі.LAFVIN ESP32 Basic Starter Kit - браўзерВы можаце пераключыць кнопку на web сервер, каб уключыць святлодыёд.Базавы стартавы набор LAFVIN ESP32 - web 1 серверВы таксама можаце кіраваць тым жа святлодыёдам з дапамогай фізічнай кнопкі. Яго стан заўсёды будзе аўтаматычна абнаўляцца на web сервер.

Праект 9 ESP32 DHT11 Web Сервер

У гэтым праекце вы даведаецеся, як стварыць асінхронны ESP32 web сервер з DHT11, які адлюстроўвае тэмпературу і вільготнасць з дапамогай Arduino IDE.
Перадумовы
The web сервер, які мы пабудуем, аўтаматычна абнаўляе паказанні без неабходнасці абнаўлення web старонка.
З дапамогай гэтага праекта вы даведаецеся:

  • Як счытваць тэмпературу і вільготнасць з датчыкаў DHT;
  • Стварыце асінхронны web сервер з дапамогай ESPAsyncWebСерверная бібліятэка;
  • Абнаўляць паказанні датчыка аўтаматычна без неабходнасці абнаўлення web старонка.

Асінхронны Web Сервер
Каб пабудаваць web сервер, які мы будзем выкарыстоўваць ESPAsyncWebСерверная бібліятэка які забяспечвае просты спосаб стварэння асінхроннага web сервер. Пабудова асінхроннага web Сервер мае некалькі дадаткаўtages, як згадваецца на старонцы бібліятэкі GitHub, напрыклад:

  • «Апрацоўваць больш чым адно злучэнне адначасова»;
  • «Калі вы адпраўляеце адказ, вы адразу ж гатовыя апрацоўваць іншыя злучэнні, пакуль сервер клапоціцца аб адпраўцы адказу ў фонавым рэжыме»;
  • «Просты механізм апрацоўкі шаблонаў для працы з шаблонамі»;

Неабходныя дэталі
Каб выканаць гэты падручнік, вам спатрэбяцца наступныя часткі:

  • Плата развіцця ESP32
  • Модуль DHT11
  • Макетная дошка
  • Перамычкі

СхемаБазавы стартавы набор LAFVIN ESP32 - схема 2Ўстаноўка бібліятэк
Вам неабходна ўсталяваць пару бібліятэк для гэтага праекта:

Устаноўка бібліятэкі датчыкаў DHT
Каб счытваць з датчыка DHT з дапамогай Arduino IDE, вам трэба ўсталяваць Бібліятэка датчыкаў DHT. Выканайце наступныя дзеянні, каб усталяваць бібліятэку.

  1. Націсніце тут, каб загрузіць бібліятэку датчыка DHT. У тэчцы "Спампоўкі" павінна быць папка .zip
  2. Распакуйце папку .zip, і вы павінны атрымаць тэчку DHT-sensor-library-master
  3. Перайменуйце папку з DHT-sensor-library-master у DHT_sensor
  4. Перамясціце тэчку DHT_sensor у тэчку ўстаноўкі бібліятэк Arduino IDE
  5. Нарэшце, зноў адкрыйце Arduino IDE

Ўстаноўка драйвера Adafruit Unified Sensor
Вам таксама неабходна ўсталяваць Adafruit Unified Sensor Driver Бібліятэка для працы з датчыкам DHT. Выканайце наступныя дзеянні, каб усталяваць бібліятэку.

  1. Націсніце тут, каб загрузіць бібліятэку Adafruit Unified Sensor. У тэчцы "Спампоўкі" павінна быць папка .zip
  2. Распакуйце папку .zip, і вы павінны атрымаць папку Adafruit_sensor-master
  3. Перайменуйце папку з Adafruit_sensor-master у Adafruit_sensor
  4. Перамясціце тэчку Adafruit_sensor у тэчку ўсталявальных бібліятэк Arduino IDE
  5. Нарэшце, зноў адкрыйце Arduino IDE

Ўстаноўка ESPAsyncWebСерверная бібліятэка

Выканайце наступныя дзеянні, каб усталяваць ESPAsyncWebСервер бібліятэка:

  1. Націсніце тут, каб спампаваць ESPAsyncWebСерверная бібліятэка. Вы павінны былі
    папку .zip у папцы "Спампоўкі".
  2. Распакуйце папку .zip, і вы павінны
    атрымаць ESPAsyncWebТэчка Server-master
  3. Перайменуйце папку з ESPAsyncWebСервер-майстар для ESPAsyncWebСервер
  4. Перамясціце ESPAsyncWebТэчка сервера ў тэчку ўсталявальных бібліятэк Arduino IDE

Устаноўка асінхроннай бібліятэкі TCP для ESP32
The ESPAsyncWebСервер бібліятэка патрабуе Асінхронны TCP бібліятэка на працу. Каб усталяваць гэтую бібліятэку, выканайце наступныя дзеянні:

  1. Націсніце тут, каб спампаваць бібліятэку AsyncTCP. У тэчцы "Спампоўкі" павінна быць папка .zip
  2. Распакуйце папку .zip, і вы павінны атрымаць папку AsyncTCP-master
  3. Перайменуйце папку з AsyncTCP-master на AsyncTCP
  4. Перамясціце тэчку AsyncTCP у тэчку ўстаноўкі бібліятэк Arduino IDE
  5. Нарэшце, зноў адкрыйце Arduino IDE

Код
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягнуць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDE
Пасля ўстаноўкі неабходных бібліятэк адкрыйце код
Праект_9_ESP32_DHT11_Web_Server.ino ў IDE arduino.
Перш чым загрузіць код, не забудзьцеся ўставіць свае сеткавыя ўліковыя даныя, каб ESP мог падключыцца да лакальнай сеткі.Базавы стартавы набор LAFVIN ESP32 - КодЯк працуе Кодэкс
У наступных параграфах мы растлумачым, як працуе код. Працягвайце чытаць, калі хочаце даведацца больш, або перайдзіце ў раздзел "Дэманстрацыя", каб убачыць канчатковы вынік.
Імпарт бібліятэк
Спачатку імпартуйце неабходныя бібліятэкі. Wi-Fi, ESPAsyncWebСервер і ESPAsyncTCP неабходны для зборкі web сервер. Бібліятэкі Adafruit_Sensor і DHT неабходныя для чытання з датчыкаў DHT11 або DHT22.LAFVIN ESP32 Basic Starter Kit - Імпарт бібліятэкLAFVIN ESP32 Basic Starter Kit - Як працуе кодВызначэнне зменных
Вызначце GPIO, да якога падключаны кантакт дадзеных DHT. У гэтым выпадку ён падключаны да GPIO 4.LAFVIN ESP32 Basic Starter Kit - Вызначэнне зменныхЗатым выберыце тып датчыка DHT, які вы выкарыстоўваеце. У нашай былойample, мы выкарыстоўваем DHT22. Калі вы выкарыстоўваеце іншы тып, вам проста трэба раскаментаваць свой датчык і закаментаваць усе астатнія.LAFVIN ESP32 Basic Starter Kit - Вызначэнне зменных 1

Стварыце асобнік аб'екта DHT з тыпам і пін-кодам, якія мы вызначылі раней.LAFVIN ESP32 Basic Starter Kit - Вызначэнне зменных 2Стварыце AsyncWebАб'ект сервера на порце 80.LAFVIN ESP32 Basic Starter Kit - Вызначэнне зменных 3Прачытайце функцыі тэмпературы і вільготнасці
Мы стварылі дзве функцыі: адна для счытвання тэмпературы. Мы стварылі дзве функцыі: адна для счытвання тэмпературы (readDHTTemperature()), а другая для счытвання вільготнасці (readDHTHumidity()).LAFVIN ESP32 Basic Starter Kit - readDHTHhumidityLAFVIN ESP32 Basic Starter Kit - паказанні датчыкаАтрымаць паказанні датчыка так жа проста, як выкарыстоўваць Атрымаць паказанні датчыка так жа проста, як выкарыстоўваць метады readTemperature() і readHumidity() для аб'екта dht.LAFVIN ESP32 Basic Starter Kit - аб'ектУ нас таксама ёсць умова, якая вяртае два працяжнікі (–), калі датчык не можа атрымаць паказанні.LAFVIN ESP32 Basic Starter Kit - паказанніПаказанні вяртаюцца ў выглядзе радка. Каб пераўтварыць float у радок, выкарыстоўвайце функцыю String().LAFVIN ESP32 Basic Starter Kit - StringПа змаўчанні мы чытаем тэмпературу ў градусах Цэльсія. Каб атрымаць тэмпературу ў градусах па Фарэнгейту, закаменціруйце тэмпературу па Цэльсію і раскаментуйце тэмпературу па Фарэнгейту, каб у вас было наступнае:Базавы стартавы набор LAFVIN ESP32 - ФарэнгейтLAFVIN ESP32 Basic Starter Kit - Фарэнгейт 1Загрузіце код
Цяпер загрузіце код у свой ESP32. Упэўніцеся, што ў вас выбраны правільныя плата і COM-порт. Запампуйце даведачны код.
Пасля загрузкі адкрыйце паслядоўны манітор на хуткасці 115200 бод. Націсніце кнопку скіду ESP32. IP-адрас ESP32 павінен быць надрукаваны ў паслядоўным нумары манітор.Базавы стартавы набор LAFVIN ESP32 - загрузіце кодДэманстрацыя
Адкрыйце браўзер і ўвядзіце IP-адрас ESP32. Ваша web сервер павінен адлюстроўваць апошнія паказанні датчыка.
Заўвага: Ваш браўзер і ESP32 павінны быць падлучаны да адной лакальнай сеткі.
Звярніце ўвагу, што паказанні тэмпературы і вільготнасці абнаўляюцца аўтаматычна без неабходнасці абнаўлення web старонка.LAFVIN ESP32 Basic Starter Kit - Дэманстрацыя 1

Праект_10_ESP32_OLED_дысплей

Гэты праект паказвае, як выкарыстоўваць 0.96-цалевы OLED-дысплей SSD1306 з ESP32 з дапамогай Arduino IDE.
Прадстаўляем 0.96-цалевы OLED-дысплей
The OLED-дысплей у гэтым уроку мы будзем выкарыстоўваць мадэль SSD1306: аднакаляровы 0.96-цалевы дысплей з 128×64 пікселяў, як паказана на наступным малюнку.LAFVIN ESP32 Basic Starter Kit - OLED-дысплейOLED-дысплей не патрабуе падсвятлення, што забяспечвае вельмі добры кантраст у цёмным асяроддзі. Акрамя таго, яго пікселі спажываюць энергію, толькі калі яны ўключаны, таму OLED-дысплей спажывае менш энергіі ў параўнанні з іншымі дысплеямі.
Паколькі OLED-дысплей выкарыстоўвае пратакол сувязі I2C, падключэнне вельмі простае. Вы можаце выкарыстоўваць наступную табліцу ў якасці спасылкі.

Штыфт OLED ESP32
він 3.3В
GND GND
SCL GPIO 22
ПДР GPIO 21

СхемаLAFVIN ESP32 Basic Starter Kit - СхемаУсталёўка OLED-бібліятэкі SSD1306 – ESP32
Для кіравання OLED-дысплеем з дапамогай ESP32 даступна некалькі бібліятэк.
У гэтым уроку мы будзем выкарыстоўваць дзве бібліятэкі Adafruit: Бібліятэка Adafruit_SSD1306 і Бібліятэка Adafruit_GFX.
Каб усталяваць гэтыя бібліятэкі, выканайце наступныя дзеянні.

  1. Адкрыйце Arduino IDE і перайдзіце да Sketch > Include Library > Manage Libraries. Павінен адкрыцца дыспетчар бібліятэкі.
  2. Увядзіце «SSD1306» у поле пошуку і ўсталюйце бібліятэку SSD1306 ад Adafruit.LAFVIN ESP32 Basic Starter Kit - OLEDLibrary–
  3. Пасля ўстаноўкі бібліятэкі SSD1306 ад Adafruit увядзіце «GFX» у поле пошуку і ўсталюйце бібліятэку.LAFVIN ESP32 Basic Starter Kit - бібліятэка
  4. Пасля ўстаноўкі бібліятэк перазапусціце Arduino IDE.

Код
Пасля ўстаноўкі неабходных бібліятэк адкрыйце Project_10_ESP32_OLED_Display.ino ў IDE arduino. код
Мы запраграмуем ESP32 з дапамогай Arduino IDE, таму пераканайцеся, што ў вас усталяваны дадатковы кампанент ESP32, перш чым працягваць: (Калі вы ўжо зрабілі гэты крок, вы можаце перайсці да наступнага.)
Устаноўка надбудовы ESP32 у Arduino IDELAFVIN ESP32 Basic Starter Kit - Код 1LAFVIN ESP32 Basic Starter Kit - Код 2LAFVIN ESP32 Basic Starter Kit - Код 3Як працуе Кодэкс
Імпарт бібліятэк
Спачатку трэба імпартаваць неабходныя бібліятэкі. Бібліятэка Wire для выкарыстання I2C і бібліятэкі Adafruit для запісу на дысплей: Adafruit_GFX і Adafruit_SSD1306.Базавы стартавы набор LAFVIN ESP32 - Код працуе 1Базавы стартавы набор LAFVIN ESP32 - Код працуе 2Ініцыялізуйце OLED-дысплей
Затым вы вызначаеце шырыню і вышыню OLED. У гэтым эксample, мы выкарыстоўваем OLED-дысплей 128×64. Калі вы выкарыстоўваеце іншыя памеры, вы можаце змяніць гэта ў зменных SCREEN_WIDTH і SCREEN_HEIGHT.LAFVIN ESP32 Basic Starter Kit - OLED-дысплейЗатым ініцыялізуйце аб'ект адлюстравання з шырынёй і вышынёй, вызначанымі раней з дапамогай пратаколу сувязі I2C (&Wire).LAFVIN ESP32 Basic Starter Kit - пратакол сувязіПараметр (-1) азначае, што ваш OLED-дысплей не мае штыфта RESET. Калі ваш OLED-дысплей мае штыфт RESET, ён павінен быць падлучаны да GPIO. У такім выпадку вы павінны перадаць нумар GPIO у якасці параметра.
У setup() ініцыялізуйце паслядоўны манітор на хуткасці перадачы 115200 бод для мэт адладкі.LAFVIN ESP32 Basic Starter Kit - мэтыІніцыялізуйце OLED-дысплей метадам begin() наступным чынам:LAFVIN ESP32 Basic Starter Kit - display.beginLAFVIN ESP32 Basic Starter Kit - Serial.printlnГэты фрагмент таксама друкуе паведамленне на паслядоўным маніторы, калі мы не можам падключыцца да дысплея.

LAFVIN ESP32 Basic Starter Kit - Serial.println 1Калі вы выкарыстоўваеце іншы OLED-дысплей, вам можа спатрэбіцца змяніць OLED-адрас. У нашым выпадку адрас - 0x3C.LAFVIN ESP32 Basic Starter Kit - адрасПасля ініцыялізацыі дысплея дадайце дзве секунды затрымкі, каб у OLED было дастаткова часу для ініцыялізацыі перад запісам тэксту:LAFVIN ESP32 Basic Starter Kit - затрымкаАчысціць дысплей, усталяваць памер шрыфта, колер і напісаць тэкст
Пасля ініцыялізацыі дысплея ачысціце буфер дысплея метадам clearDisplay():LAFVIN ESP32 Basic Starter Kit - дысплей

Перш чым пісаць тэкст, вам трэба ўсталяваць памер тэксту, колер і месца, дзе тэкст будзе адлюстроўвацца на OLED.
Усталюйце памер шрыфта з дапамогай метаду setTextSize():LAFVIN ESP32 Basic Starter Kit - дысплей 1Усталюйце колер шрыфта метадам setTextColor():
WHITE задае белы шрыфт і чорны фон.
Вызначце месца пачатку тэксту з дапамогай метаду setCursor(x,y). У гэтым выпадку мы ўсталёўваем пачатак тэксту ў каардынатах (0,0) - у левым верхнім куце.LAFVIN ESP32 Basic Starter Kit - setTextColor 1Нарэшце, вы можаце адправіць тэкст на дысплей з дапамогай метаду println() наступным чынамLAFVIN ESP32 Basic Starter Kit - код 5Затым вам трэба выклікаць метад display(), каб сапраўды адлюстраваць тэкст на экране.LAFVIN ESP32 Basic Starter Kit - дысплей

Бібліятэка Adafruit OLED дае карысныя метады лёгкай пракруткі тэксту.

  • startscrollright(0x00, 0x0F): пракручваць тэкст злева направа
  • startscrollleft(0x00, 0x0F): пракручваць тэкст справа налева
  • startscrolldiagright(0x00, 0x07): пракручваць тэкст з левага ніжняга кута ў правы верхні вугал startscrolldiagleft(0x00, 0x07): пракручваць тэкст з правага ніжняга вугла ў левы верхні вугал

Загрузіце код
Цяпер загрузіце код у свой ESP32. Інструкцыі па загрузцы кода.
Пасля загрузкі кода на OLED будзе адлюстроўвацца тэкст, які пракручваецца.LAFVIN ESP32 Basic Starter Kit - пракрутка тэкстуЛагатып LAFVIN

Дакументы / Рэсурсы

Базавы стартавы набор LAFVIN ESP32 [pdfІнструкцыя па эксплуатацыі
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Стартавы камплект

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *