LAFVIN логотибиESP32 Негизги Стартер
Комплект

Packing List

LAFVIN ESP32 Basic Starter Kit - PackingList

ESP32 киришүү

ESP32 үчүн жаңыбы? Ушул жерден баштаңыз! ESP32 - бул Espressif тарабынан иштелип чыккан, Wi-Fi жана Bluetooth зымсыз мүмкүнчүлүктөрүн жана эки ядролуу процессорду камтыган Чиптеги (SoC) микроконтроллерлердин бир катар арзан жана аз кубаттуулугу. Эгер сиз ESP8266 менен тааныш болсоңуз, ESP32 анын мураскери болуп саналат жана көптөгөн жаңы функцияларды камтыйт.LAFVIN ESP32 Basic Starter Kit - ESP32 IntroductionESP32 спецификациялары
Эгер сиз бир аз көбүрөөк техникалык жана конкреттүү болгуңуз келсе, ESP32нин төмөнкү деталдуу мүнөздөмөлөрүн карап чыга аласыз (булак: http://esp32.net/) - кененирээк маалымат алуу үчүн, маалымат баракчасын текшерүү):

  • Зымсыз байланыш WiFi: HT150.0 менен 40 Мбит/сек маалымат ылдамдыгы
  • Bluetooth: BLE (Bluetooth Low Energy) жана Bluetooth Classic
  • Процессор: Tensilica Xtensa Dual-Core 32-бит LX6 микропроцессору, 160 же 240 МГц жыштыкта ​​иштейт
  • Эстутум:
  • ROM: 448 КБ (жүктөө жана негизги функциялар үчүн)
  • SRAM: 520 КБ (маалыматтар жана нускамалар үчүн)
  • RTC fas SRAM: 8 КБ (терең уйку режиминен RTC жүктөө учурунда маалыматтарды сактоо жана негизги CPU үчүн)
  • RTC жай SRAM: 8КБ (терең уйку режиминде ко-процессорго жетүү үчүн) eFuse: 1 Кбит (анын ичинен 256 бит система үчүн колдонулат (MAC дареги жана чиптин конфигурациясы) жана калган 768 бит кардарлардын тиркемелери үчүн сакталган, анын ичинде Flash-шифрлөө жана чип-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 модулу)

Төмөнкү кубаттуулук: ADC конверсияларын дагы эле колдоно ала турганыңызды камсыздайт, мисалыampле, терең уйку учурунда.
Перифериялык киргизүү/чыгарма:

  • DMA менен перифериялык интерфейс, анын ичинде сыйымдуулук тийүү
  • ADCs (Аналогдук-санариптик конвертер)
  • DACs (санариптик-аналогдук конвертер)
  • I²C (Inter-Integrated Circuit)
  • UART (Универсалдуу асинхрондук кабылдагыч/өткөргүч)
  • SPI (сериялык перифериялык интерфейс)
  • I²S (Integrated Interchip Sound)
  • RMII (Кыскартылган медиа-көз карандысыз интерфейс)
  • PWM (импульстук кеңдик модуляциясы)

Коопсуздук: AES жана SSL/TLS үчүн аппараттык акселераторлор

ESP32 өнүктүрүү такталары

ESP32 жылаңач ESP32 чипине тиешелүү. Бирок, "ESP32" термини ESP32 иштеп чыгуу такталарына карата да колдонулат. ESP32 жылаңач чиптерин колдонуу оңой же практикалык эмес, айрыкча үйрөнүүдө, тестирлөөдө жана прототиптөөдө. Көпчүлүк учурда, сиз ESP32 иштеп чыгуу тактасын колдонгуңуз келет.
Биз шилтеме катары ESP32 DEVKIT V1 тактасын колдонобуз. Төмөнкү сүрөттө 32 GPIO пиндери бар ESP1 DEVKIT V30 тактасы көрсөтүлгөн.LAFVIN ESP32 Basic Starter Kit - ESP32 Development BoardsТехникалык мүнөздөмөлөр – ESP32 DEVKIT V1
Төмөнкү таблица ESP32 DEVKIT V1 DOIT тактасынын өзгөчөлүктөрүн жана спецификациясын көрсөтөт:

Өзөктөрдүн саны 2 (эки өзөктүү)
Wi-Fi 2.4 ГГц 150 Мбит/сек чейин
Bluetooth BLE (Bluetooth Low Energy) жана эски Bluetooth
Архитектура 32 бит
Сааттын жыштыгы 240 МГц чейин
RAM 512 KB
Pins 30 (үлгүгө жараша)
Перифериялык түзүлүштөр Симптомдук тийүү, ADC (аналогдон санарипке конвертерге), DAC (санариптен аналогго конвертерге), 12C (интегралдык микросхема), UART (универсалдуу асинхрондук кабыл алгыч/өткөргүч), CAN 2.0 (контроллер аймагы тармагын), SPI (сериялык перифериялык интерфейс) , 12S (Интеграцияланган Inter-IC
Үн), RMII (Reduced Media-Independent Interface), PWM (импульстун кеңдигин модуляциялоо) жана башкалар.
Камтылган баскычтар RESET жана BOOT баскычтары
Камтылган LED орнотулган көк LED GPIO2 менен туташтырылган; тактанын иштетилип жатканын көрсөткөн кызыл LED орнотулган
USB-ден UART
көпүрө
CP2102

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITАл microUSB интерфейси менен келет, аны сиз кодду жүктөө же кубаттуулукту колдонуу үчүн тактаны компьютериңизге туташтыруу үчүн колдоно аласыз.
Ал сериялык интерфейсти колдонуу менен COM порту аркылуу компьютериңиз менен байланышуу үчүн CP2102 чипти (USB - UART) колдонот. Дагы бир популярдуу чип CH340 болуп саналат. Бортуңуздагы USB-UART чип конвертери эмне экенин текшериңиз, анткени компьютериңиз такта менен байланыша алышы үчүн керектүү драйверлерди орнотушуңуз керек болот (бул тууралуу көбүрөөк маалымат кийинчерээк бул колдонмодо).
Бул такта ошондой эле тактаны кайра күйгүзүү үчүн RESET баскычы (EN деп белгилениши мүмкүн) жана тактаны жаркылдаган режимге коюу үчүн BOOT баскычы (кодду алуу үчүн жеткиликтүү) менен келет. Кээ бир такталарда BOOT баскычы жок болушу мүмкүн экенин эске алыңыз.
Ал ошондой эле ички GPIO 2ге туташтырылган көк LED менен келет. Бул LED визуалдык физикалык натыйжаларды берүү үчүн мүчүлүштүктөрдү оңдоо үчүн пайдалуу. Ошондой эле тактага кубат бергенде күйүп турган кызыл LED бар.LAFVIN ESP32 Basic Starter Kit -boardESP32 Pinout
ESP32 перифериялык түзүлүштөр төмөнкүлөрдү камтыйт:

  • 18 Аналогдук-санариптик конвертер (ADC) каналдары
  • 3 SPI интерфейси
  • 3 UART интерфейси
  • 2 I2C интерфейси
  • 16 PWM чыгаруу каналдары
  • 2 санариптик-аналогдук конвертер (DAC)
  • 2 I2S интерфейси
  • 10 Capacitive сезүүчү GPIOs

ADC (аналогдук-санариптик конвертер) жана DAC (санариптиктен аналогдук конвертерге) өзгөчөлүктөрү белгилүү статикалык пиндерге дайындалган. Бирок, сиз кайсы пиндер UART, I2C, SPI, PWM ж. Бул ESP32 чипинин мультиплекстөө өзгөчөлүгүнөн улам мүмкүн.
Сиз программалык камсыздоодо пиндердин касиеттерин аныктай алсаңыз да, төмөнкү сүрөттө көрсөтүлгөндөй демейки боюнча дайындалган пиндер бар.LAFVIN ESP32 Basic Starter Kit - ESP32 PinoutКошумчалай кетсек, аларды белгилүү бир долбоорго ылайыктуу же ылайыктуу кылган өзгөчө өзгөчөлүктөрү бар төөнөгүчтөр бар. Төмөнкү таблицада кандай төөнөгүчтөрдү киргизүү, чыгаруу катары колдонуу эң жакшы жана кайсынысынан этият болуу керектиги көрсөтүлгөн.
Жашыл түс менен белгиленген төөнөгүчтөр колдонууга жарайт. Сары түс менен белгиленгендерди колдонууга болот, бирок көңүл бурушуңуз керек, анткени алар жүктөөдө күтүүсүз болушу мүмкүн. Кызыл менен белгиленген төөнөгүчтөрдү киргизүү же чыгуу катары колдонуу сунушталбайт.

GP IO Киргизүү Чыгуу Эскертүүлөр
0 тартты OK жүктөөдө PWM сигналын чыгарат, жаркылдоо режимине кирүү үчүн LOW болушу керек
1 TX пин OK жүктөөдө мүчүлүштүктөрдү оңдоо
2 OK OK борттогу LED менен туташтырылган, жарк этүүчү режимге өтүү үчүн сүзүүчү же LOW болушу керек
3 OK RX пин ЖОГОРКУ жүктөөдө
4 OK OK
5 OK OK жүктөөдө PWM сигналын чыгарат, боо пин
12 OK OK жүктөө төөнөгүчтү бийик тартса иштебей калат
13 OK OK
14 OK OK жүктөөдө PWM сигналын чыгарат
15 OK OK жүктөөдө PWM сигналын чыгарат, боо пин
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 иштеп чыгуу такталарында көрүнөт. Бирок, бул төөнөгүчтөр ESP-WROOM-32 чипиндеги интегралдык SPI жарыгына туташтырылган жана башка колдонуу үчүн сунушталбайт. Ошондуктан, бул төөнөгүчтөрдү долбоорлоруңузда колдонбоңуз:

  • 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 сенсордук GPIOs
ESP32 10 ички сыйымдуулук сенсорлору бар. Булар адамдын териси сыяктуу электрдик заряды бар нерселердин өзгөрүшүн сезе алат. Ошентип, алар манжа менен GPIOларга тийгенде пайда болгон вариацияларды аныктай алышат. Бул төөнөгүчтөрдү сыйымдуулукка оңой бириктирип, механикалык баскычтарды алмаштырса болот. Capacitive сенсордук төөнөгүчтөрдү 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)

Аналогдук санариптик алмаштыргыч (ADC)
ESP32де 18 x 12 бит ADC киргизүү каналдары бар (ESP8266да 1x 10 бит ADC гана бар). Булар ADC жана тиешелүү каналдар катары колдонула турган 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)

Эскертүү: Wi-Fi колдонулганда ADC2 пиндерин колдонууга болбойт. Ошентип, эгер сиз Wi-Fi колдонуп жатсаңыз жана ADC2 GPIO'дон бааны алууда кыйынчылыкка туш болуп жатсаңыз, анын ордуна ADC1 GPIO колдонууну ойлонушуңуз мүмкүн. Бул сиздин көйгөйүңүздү чечиши керек.
ADC киргизүү каналдары 12 биттик чечимге ээ. Бул 0дөн 4095ке чейинки аналогдук көрсөткүчтөрдү ала аласыз дегенди билдирет, анда 0 0V жана 4095тен 3.3Vга туура келет. Сиз ошондой эле код жана ADC диапазону боюнча каналдарыңыздын чечилиштерин орното аласыз.
ESP32 ADC пиндеринин сызыктуу жүрүм-туруму жок. Балким, сиз 0 жана 0.1 В же 3.2 жана 3.3 В ортосунда айырмалай албай каласыз. ADC пиндерин колдонууда муну эстен чыгарбоо керек. Сиз төмөнкү сүрөттө көрсөтүлгөнгө окшош жүрүм-турумду аласыз.LAFVIN ESP32 Basic Starter Kit - жүрүм-турумСанариптиктен аналогго конвертер (DAC)
Санариптик сигналдарды аналогдук томго айландыруу үчүн ESP2де 8 x 32 бит DAC каналдары барtage сигналдын чыгышы. Булар DAC каналдары:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIOs
ESP32де RTC GPIO колдоосу бар. RTC аз кубаттуулуктагы подсистемасына багытталган GPIO'лорду ESP32 терең уйку режиминде болгондо колдонсо болот. Бул RTC GPIOs Ultra Low болгондо ESP32ди терең уйкудан ойготуу үчүн колдонулушу мүмкүн
Кубат (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)

PWM
ESP32 LED PWM контроллерунда 16 көз карандысыз канал бар, аларды ар кандай касиеттерге ээ PWM сигналдарын түзүү үчүн конфигурациялоого болот. Чыгуу катары иштей турган бардык пиндер PWM пиндери катары колдонулушу мүмкүн (GPIO 34-39 PWM түзө албайт).
PWM сигналын коюу үчүн коддо бул параметрлерди аныктоо керек:

  • Сигналдын жыштыгы;
  • Милдеттүү цикл;
  • PWM каналы;
  • Сигнал чыгаргыңыз келген GPIO.

I2C
ESP32де эки I2C каналы бар жана каалаган пинди SDA же SCL катары коюуга болот. Arduino IDE менен ESP32ди колдонгондо, демейки I2C пиндери:

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

Эгерде сиз зым китепканасын колдонууда башка пиндерди колдонгуңуз келсе, сиз жөн гана чалышыңыз керек:
Wire.begin(SDA, SCL);
SPI
Демейки боюнча, SPI үчүн пин картасы:

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

Үзгүлтүктөр
Бардык GPIO'ларды үзгүлтүксүз конфигурациялоого болот.
Боо төөнөгүчтөрү
ESP32 чипинде төмөнкү төөнөгүчтөр бар:

  • GPIO 0 (жүктөө режимине кирүү үчүн LOW болушу керек)
  • GPIO 2 (жүктөө учурунда калкып турушу керек же LOW болушу керек)
  • GPIO 4
  • GPIO 5 (жүктөө учурунда ЖОГОРКУ болушу керек)
  • GPIO 12 (жүктөө учурунда LOW болушу керек)
  • GPIO 15 (жүктөө учурунда ЖОГОРКУ болушу керек)

Булар ESP32ди жүктөгүчкө же жаркыраган режимге коюу үчүн колдонулат. USB/Сериялык орнотулган иштеп чыгуу такталарынын көпчүлүгүндө бул пиндердин абалы жөнүндө кабатырлануунун кереги жок. Башкарма төөнөгүчтөрдү жаркылдоо же жүктөө режими үчүн туура абалга келтирет. ESP32 жүктөө режимин тандоо боюнча көбүрөөк маалыматты бул жерден тапса болот.
Бирок, эгерде сизде ал пиндерге туташтырылган перифериялык түзүлүштөр болсо, жаңы кодду жүктөө, ESP32ди жаңы микропрограмма менен жаркыруу же тактаны баштапкы абалга келтирүүдө кыйынчылыктар болушу мүмкүн. Эгер сизде боо төөнөгүчтөрүнө туташтырылган кээ бир перифериялык түзүлүштөрүңүз болсо жана сиз кодду жүктөөдө же ESP32ди жаркылдатууда кыйынчылыкка туш болуп жатсаңыз, анда ал перифериялык түзүлүштөр ESP32нин туура режимге өтүшүнө жолтоо болуп жаткандыктан болушу мүмкүн. Сизди туура багытка багыттоо үчүн Жүктөө режимин тандоо документтерин окуңуз. Баштапкы абалга келтиргенден, жаркылдагандан же жүктөөдөн кийин, ал пиндер күтүлгөндөй иштейт.
Жүктөөдө ЖОГОРУ төөнөгүчтөр
Кээ бир GPIO'лор жүктөө же баштапкы абалга келтирүү учурунда абалын ЖОГОРКУ абалга өзгөртүшөт же PWM сигналдарын чыгарышат.
Бул, эгерде сизде бул GPIO'ларга туташкан чыкмаларыңыз болсо, ESP32 баштапкы абалга келтирилгенде же жүктөлгөндө күтүүсүз натыйжаларды аласыз дегенди билдирет.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6дан GPIO 11ге чейин (ESP32 интеграцияланган SPI флеш эс тутумуна туташкан – колдонуу сунушталбайт).
  • GPIO 14
  • GPIO 15

Иштетүү (EN)
Иштетүү (EN) - 3.3V жөнгө салгычтын иштетүү пини. Ал тартылды, андыктан 3.3V жөнгө салгычты өчүрүү үчүн жерге туташтырыңыз. Бул ESP32ди кайра иштетүү үчүн баскычка туташтырылган бул пинди колдоно аласыз дегенди билдирет, мисалыample.
GPIO агымы тартылды
GPIO үчүн алынган абсолюттук максималдуу ток ESP40 маалымат баракчасындагы "Сунушталган иштөө шарттары" бөлүмүнө ылайык 32мА.
ESP32 Камтылган Холл эффектинин сенсору
ESP32 ошондой эле анын айланасындагы магнит талаасындагы өзгөрүүлөрдү аныктаган орнотулган зал эффектиси сенсоруна ээ.
ESP32 Arduino IDE
Arduino IDE үчүн ESP32ди Arduino IDE жана анын программалоо тили аркылуу программалоого мүмкүндүк берүүчү кошумча бар. Бул окуу куралында сиз Windows, Mac OS X же Linux колдонуп жатсаңыз да, ESP32 тактасын Arduino IDEге кантип орнотууну көрсөтөбүз.
Пререквизиттер: 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 программалык бетинде ылдый сыдырышыңыз керек.
Arduino IDEде ESP32 кошумчасын орнотуу
ESP32 тактасын Arduino IDEиңизге орнотуу үчүн, төмөнкү көрсөтмөлөрдү аткарыңыз:

  1. Arduino IDE'иңизге өтүңүз File> ПараметрлерLAFVIN ESP32 Basic Starter Kit - Preferences
  2. Төмөнкүлөрдү “Кошумча башкармалыктын менеджери URLs" талаасы:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Андан кийин, "OK" баскычын чыкылдатыңыз:LAFVIN ESP32 Basic Starter Kit - “OK” баскычыЭскертүү: эгер сизде ESP8266 такталары бар болсо URL, сиз ажырата аласыз URLс үтүр менен төмөнкүдөй:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Башкаргыч тактасын ачыңыз. Куралдар > Такта > Башкаргычка өтүңүз…LAFVIN ESP32 Basic Starter Kit - EspressifИздөө ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Basic Starter Kit - EspressifДал ушул. Ал бир нече секунддан кийин орнотулушу керек.LAFVIN ESP32 Basic Starter Kit - орнотулган

Сыноо кодун жүктөө

ESP32 тактасын компьютериңизге сайыңыз. Сиздин Arduino IDE ачык менен, бул кадамдарды аткарыңыз:

  1. Куралдар > Такта менюсунан тактаңызды тандаңыз (менин учурда бул ESP32 DEV модулу)LAFVIN ESP32 Basic Starter Kit - Куралдар тактасы
  2. Портту тандаңыз (эгерде сиз Arduino IDEде COM портун көрбөй жатсаңыз, CP210x USB to UART Bridge VCP драйверлерин орнотуу керек):LAFVIN ESP32 Basic Starter Kit - UART Bridge
  3. Төмөнкү эксти ачыңызampле астында File > Мисamples > 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. Arduino IDEдеги Жүктөө баскычын басыңыз. Код түзүлүп, тактаңызга жүктөлгөнгө чейин бир нече секунд күтө туруңуз.LAFVIN ESP32 Basic Starter Kit - такта
  6. Эгер баары күтүлгөндөй болсо, "Жүктөө бүттү" дегенди көрүшүңүз керек. билдирүү.LAFVIN ESP32 Basic Starter Kit - Жүктөп бүттү
  7. Arduino IDE сериялык мониторду 115200 ылдамдыкта ачыңыз:LAFVIN ESP32 Basic Starter Kit - Монитор
  8. ESP32 борттогу Иштетүү баскычын басыңыз жана сиз ESP32нин жанында жеткиликтүү тармактарды көрүшүңүз керек:LAFVIN ESP32 Basic Starter Kit - Иштетүү баскычы

Проблемаларды чечүү

Эгер сиз ESP32ге жаңы эскизди жүктөөгө аракет кылсаңыз жана сиз бул ката билдирүүсүн алсаңыз: "Өтө маанилүү ката кетти: ESP32ге туташпай калды: Убактысы бүттү... Туташуу...". Бул сиздин ESP32 жаркылдоо/жүктөө режиминде эмес дегенди билдирет.
Туура тактанын атын жана COM por тандалгандан кийин, бул кадамдарды аткарыңыз:
ESP32 тактаңыздагы "BOOT" баскычын басып туруңузLAFVIN ESP32 Basic Starter Kit - "BOOT"

  • Эскизиңизди жүктөө үчүн Arduino IDEдеги "Жүктөө" баскычын басыңыз:LAFVIN ESP32 Basic Starter Kit - ICON 6
  • "Туташуу..." дегенди көргөндөн кийин. Arduino IDEдеги билдирүүңүздү "BOOT" баскычынан бошотуңуз:LAFVIN ESP32 Basic Starter Kit - “Жүктөө бүттү
  • Андан кийин, сиз "Жүктөө аяктады" деген билдирүүнү көрүшүңүз керек
    Дал ушул. Сиздин ESP32 жаңы эскизди иштетиши керек. ESP32ди өчүрүп күйгүзүү жана жаңы жүктөлгөн эскизди иштетүү үчүн “ИШТҮҮ” баскычын басыңыз.
    Ошондой эле жаңы эскизди жүктөгүңүз келген сайын ошол баскычтын ырааттуулугун кайталашыңыз керек болот.

Долбоор 1 ESP32 Inputs Outputs

Бул баштоо колдонмосунда сиз Arduino IDE менен ESP32 аркылуу баскычты которгуч сыяктуу санариптик киргизүүлөрдү кантип окууну жана LED сыяктуу санарип чыгууларды башкарууну үйрөнөсүз.
Пререквизиттер
Arduino IDE аркылуу ESP32ди программалайбыз. Ошентип, улантуудан мурун сизде ESP32 такталарынын кошумчасы орнотулганын текшериңиз:

  • Arduino IDEде ESP32 кошумчасын орнотуу

ESP32 Control Digital Outputs
Биринчиден, сиз көзөмөлдөгүңүз келген GPIOну OUTPUT катары коюшуңуз керек. pinMode() функциясын төмөнкүдөй колдонуңуз:
pinMode(GPIO, OUTPUT);
Санарип чыгууну башкаруу үчүн сиз жөн гана аргумент катары кабыл алган digitalWrite() функциясын, сиз айтып жаткан GPIO (int саны) жана ЖОГОРКУ же ТӨМҮГҮ абалды колдонушуңуз керек.
digitalWrite(GPIO, STATE);
Бардык GPIOs 6дан 11ге чейинки GPIOs (интегралдык SPI жаркына туташкан) жана GPIOs 34, 35, 36 жана 39 (киргизүү гана GPIOs) кошпогондо чыгаруу катары колдонулушу мүмкүн;
ESP32 GPIO жөнүндө көбүрөөк билүү: ESP32 GPIO маалымдама колдонмосу
ESP32 Санарип киргизүүлөрдү окуу
Биринчиден, pinMode() функциясын колдонуп, INPUT катары окугуңуз келген GPIOну төмөнкүдөй орнотуңуз:
pinMode(GPIO, INPUT);
Санарип киргизүүнү окуу үчүн, баскыч сыяктуу, сиз аргумент катары кабыл алган digitalRead() функциясын колдоносуз, сиз айтып жаткан GPIO (int саны).
digitalRead(GPIO);
GPIO 32дан 6ге чейин (интегралдык SPI жарыгына туташкан) тышкары, бардык ESP11 GPIOs киргизүү катары колдонулушу мүмкүн.
ESP32 GPIO жөнүндө көбүрөөк билүү: ESP32 GPIO маалымдама колдонмосу
Долбоор Example
Санариптик киргизүүлөрдү жана санарип чыгууларды кантип колдонууну көрсөтүү үчүн, биз жөнөкөй долбоорду курабызampбаскычы жана LED менен. Биз баскычтын абалын окуйбуз жана төмөнкү сүрөттө көрсөтүлгөндөй LEDди күйгүзөбүз.LAFVIN ESP32 Basic Starter Kit - Project Example

Бөлүктөр талап кылынат
Бул жерде схеманы куруу үчүн керек болгон бөлүктөрүнүн тизмеси:

  • ESP32 DEVKIT V1
  • 5 мм LED
  • 220 Ом каршылыгы
  • Pushbutton
  • 10k Ohm каршылык
  • Breadboard
  • Секирүүчү зымдар

Схематикалык диаграмма
Улантуудан мурун, сиз LED жана баскыч баскычы менен схеманы чогултушуңуз керек.
Биз LEDди GPIO 5ке жана баскычты GPIOго туташтырабыз 4.LAFVIN ESP32 Basic Starter Kit - Схематикалык диаграммаCode
Project_1_ESP32_Inputs_Outputs.ino кодун arduino IDEде ачыңызLAFVIN ESP32 Basic Starter Kit - CodeLAFVIN ESP32 Негизги Стартер комплект - Код 1Кодекс кантип иштейт
Төмөнкү эки сапта сиз пиндерди дайындоо үчүн өзгөрмөлөрдү түзөсүз:

LAFVIN ESP32 Basic Starter Kit - Code WorksБаскыч GPIO 4 менен туташтырылган жана LED GPIO 5ке туташкан. Arduino IDEди ESP32 менен колдонууда 4 GPIO 4 жана 5 GPIO 5ке туура келет.
Андан кийин, баскычтын абалын кармап туруу үчүн өзгөрмө түзөсүз. Демейки боюнча, ал 0 (басылган эмес).
int buttonState = 0;
Орнотууда() сиз баскычты INPUT катары, ал эми LEDди ЧЫГУУ катары инициализациялайсыз.
Ал үчүн сиз айтып жаткан пинди кабыл алган pinMode() функциясын жана режимди колдоносуз: INPUT же OUTPUT.
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Loop() бул жерде сиз баскычтын абалын окуп, LEDди ошого жараша орнотосуз.
Кийинки сапта сиз баскычтын абалын окуп, аны buttonState өзгөрмөсүндө сактайсыз.
Мурда көргөнүбүздөй, сиз digitalRead() функциясын колдоносуз.
buttonState = DigitalRead(buttonPin);
Төмөнкү if оператору баскычтын абалы ЖОГОРКУ экенин текшерет. Эгер ошондой болсо, ал аргумент катары ledPin жана ЖОГОРКУ абалын кабыл алган digitalWrite() функциясынын жардамы менен LEDди күйгүзөт.
эгерде (buttonState == HIGH)LAFVIN ESP32 Basic Starter Kit - Code Works 1Эгерде баскычтын абалы ЖОГОРКУ эмес болсо, сиз LEDди өчүрөсүз. DigitalWrite() функциясына экинчи аргумент катары LOW коюңуз.LAFVIN ESP32 Basic Starter Kit - digitalWriteКод жүктөлүүдө
Жүктөө баскычын чыкылдатуудан мурун, Куралдар > Тактайга өтүп, тактаны тандаңыз: DOIT ESP32 DEVKIT V1 тактасын.
Куралдар > Портко өтүңүз жана ESP32 туташкан COM портун тандаңыз. Андан кийин, жүктөө баскычын басып, "Жүктөө аяктады" деген билдирүүнү күтүңүз.LAFVIN ESP32 Basic Starter Kit - ICON 7Эскертүү: Мүчүлүштүктөрдү оңдоо терезесинде көп чекиттерди (туташуу…__…__) жана “ESP32ге туташуу ишке ашкан жок: пакеттин башын күтүүдө убакыт бүттү” билдирүүсүн көрсөңүз, анда сиз ESP32 борттогу BOOT баскычын басышыңыз керек дегенди билдирет. чекиттерден кийин баскычты басыңыз
пайда боло баштоо.Кыйынчылыктарды чечүү

Демонстрация

Кодду жүктөп бергенден кийин, схемаңызды текшериңиз. Баскычты басканда LED жарык күйүп турушу керек:LAFVIN ESP32 Basic Starter Kit - ДемонстрацияАны чыгарганда өчүрүңүз:LAFVIN ESP32 Basic Starter Kit - күйгүзүү

Долбоор 2 ESP32 Аналогдук киргизүүлөр

Бул долбоор Arduino IDE аркылуу ESP32 менен аналогдук киргизүүлөрдү кантип окууну көрсөтөт.
Аналогдук окуу потенциометрлер же аналогдук сенсорлор сыяктуу өзгөрүлмө резисторлордун маанилерин окуу үчүн пайдалуу.
Аналогдук киргизүүлөр (ADC)
ESP32 менен аналогдук маанини окуу ар кандай көлөмдү өлчөй аласыз дегенди билдиретtag0 В жана 3.3 В ортосундагы деңгээлдер.
ТомtagАндан кийин өлчөнгөн e 0 жана 4095 ортосундагы мааниге ыйгарылат, мында 0 В 0гө, ал эми 3.3 В 4095ке туура келет.tage 0 V жана 3.3 V ортосундагы тиешелүү маани ортосунда берилет.LAFVIN ESP32 Basic Starter Kit - Аналогдук киргизүүлөрADC сызыктуу эмес
Идеалында, сиз ESP32 ADC пиндерин колдонуп жатканда сызыктуу жүрүм-турумду күтөсүз.
Бирок, андай болбойт. Сиз төмөнкү диаграммада көрсөтүлгөндөй жүрүм-турумду аласыз:LAFVIN ESP32 Basic Starter Kit - сызыктуу эмесБул жүрүм сиздин ESP32 3.3 В 3.2 В айырмалай албайт дегенди билдирет.
Сиз эки том үчүн бирдей мааниге ээ болосузtages: 4095.
Ушундай эле нерсе өтө төмөн көлөм үчүн да болотtage маанилери: 0 V жана 0.1 V үчүн сиз бирдей мааниге ээ болосуз: 0. ESP32 ADC пиндерин колдонууда муну эстен чыгарбашыңыз керек.
analogRead() функциясы
Arduino IDE аркылуу ESP32 менен аналогдук киргизүүнү окуу analogRead() функциясын колдонуу сыяктуу жөнөкөй. Бул аргумент катары кабыл алат, сиз окугуңуз келген GPIO:
analogRead(GPIO);
DEVKIT V15 тактасында 1 гана бар (30 GPIO менен версия).
ESP32 тактаңызды кармап, ADC төөнөгүчтөрүн табыңыз. Булар төмөндөгү сүрөттө кызыл чек менен белгиленген.LAFVIN ESP32 Basic Starter Kit - чекБул аналогдук киргизүү төөнөгүчтөрү 12 биттик чечимге ээ. Бул аналогдук киргизүүнү окуганда анын диапазону 0дөн 4095ке чейин өзгөрүшү мүмкүн дегенди билдирет.
Эскертүү: Wi-Fi колдонулганда ADC2 пиндерин колдонууга болбойт. Ошентип, эгер сиз Wi-Fi колдонуп жатсаңыз жана ADC2 GPIO'нун маанисин алууда кыйынчылыкка туш болуп жатсаңыз, анын ордуна ADC1 GPIO колдонууну ойлонушуңуз мүмкүн, бул сиздин көйгөйүңүздү чечиши керек.
Баары бири-бири менен кандай байланышта экенин көрүү үчүн, биз жөнөкөй экс жасайбызampпотенциометрден аналогдук маанини окуу.
Бөлүктөр талап кылынат
Бул үчүн эксample, сизге төмөнкү бөлүктөр керек:

  • ESP32 DEVKIT V1 тактасы
  • Potentiometer
  • Breadboard
  • Секирүүчү зымдар

БУУнун
ESP32ге потенциометрди зым менен кошуңуз. Потенциометрдин ортоңку пин GPIO 4 менен туташтырылышы керек. Шилтеме катары төмөнкү схемалык диаграмманы колдонсоңуз болот.LAFVIN ESP32 Basic Starter Kit - СхематикалыкCode
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотуу
Project_2_ESP32_Inputs_Outputs.ino кодун arduino IDEде ачыңызLAFVIN ESP32 Негизги Стартер комплект - Код 2Бул код жөн гана потенциометрден маанилерди окуйт жана ал баалуулуктарды Сериялык монитордо басып чыгарат.
Коддо сиз потенциометр туташтырылган GPIOну аныктоо менен баштайсыз. Бул эксample, GPIO 4.LAFVIN ESP32 Basic Starter Kit - мисampleОрнотууда() 115200 ылдамдыкта сериялык байланышты инициализациялаңыз.LAFVIN ESP32 Basic Starter Kit - мисample 1Loop()да potPinден аналогдук киргизүүнү окуу үчүн analogRead() функциясын колдонуңуз.LAFVIN ESP32 Basic Starter Kit - мисample 2Акырында, сериялык монитордогу потенциометрден окулган маанилерди басып чыгарыңыз.LAFVIN ESP32 Basic Starter Kit - мисample 3ESP32ге берилген кодду жүктөп бериңиз. Куралдар менюсунда туура такта жана COM порту тандалганын текшериңиз.
Эксample
Кодду жүктөгөндөн жана ESP32 баштапкы абалга келтирүү баскычын басканда, 115200 берүү ылдамдыгы менен Сериялык мониторду ачыңыз. Потенциометрди буруп, маанилердин өзгөрүп жатканын көрүңүз.Сиз ала турган максималдуу маани 4095 жана минималдуу маани 0.LAFVIN ESP32 Basic Starter Kit -максималдуу маани

Орнотуу

Бул макалада сиз Arduino IDE менен ESP32 аркылуу аналогдук киргизүүлөрдү кантип окууну үйрөндүңүз. Кыскача айтканда:

  • ESP32 DEVKIT V1 DOIT тактасында (30 төөнөгүчтүү версия) 15 ADC пиндери бар, сиз аналогдук киргизүүлөрдү окуу үчүн колдоно аласыз.
  • Бул төөнөгүчтөрдүн 12 биттик чечими бар, демек сиз 0дөн 4095ке чейинки маанилерди ала аласыз.
  • Arduino IDEде маанини окуу үчүн, сиз жөн гана analogRead() функциясын колдоносуз.
  • ESP32 ADC пиндеринин сызыктуу жүрүм-туруму жок. Балким, сиз 0 жана 0.1 В же 3.2 жана 3.3 В ортосунда айырмалай албай каласыз. ADC пиндерин колдонууда муну эстен чыгарбоо керек.

Долбоор 3 ESP32 PWM(Аналогдук чыгаруу)

Бул окуу куралында биз Arduino IDE аркылуу ESP32 менен PWM сигналдарын кантип жаратууну көрсөтөбүз. Экс катарыample биз ESP32нин LED PWM контроллерин колдонуп, LEDди өчүрүүчү жөнөкөй схеманы курабыз.LAFVIN ESP32 Basic Starter Kit - AnalogOutputESP32 LED PWM контроллери
ESP32де 16 көз карандысыз каналы бар LED PWM контроллери бар, аны ар кандай касиеттерге ээ PWM сигналдарын түзүү үчүн конфигурациялоого болот.
Arduino IDE аркылуу PWM менен LEDди өчүрүү үчүн төмөнкү кадамдарды аткарышыңыз керек:

  1. Биринчиден, сиз PWM каналын тандап алышыңыз керек. 16дөн 0ке чейин 15 канал бар.
  2. Андан кийин, сиз PWM сигнал жыштыгын орнотуу керек. LED үчүн 5000 Гц жыштыгын колдонуу жакшы.
  3. Сиз ошондой эле сигналдын иштөө циклинин резолюциясын коюшуңуз керек: сизде 1ден 16 битке чейин токтомдор бар. Биз 8 биттик резолюцияны колдонобуз, демек сиз LED жарыктыгын 0дөн 255ке чейинки маанини колдонуп башкара аласыз.
  4.  Андан кийин, сигнал кайсы GPIO же GPIO үчүн көрсөтүлөрүн көрсөтүшүңүз керек. Бул үчүн сиз төмөнкү функцияны колдоносуз:
    ledcAttachPin(GPIO, канал)
    Бул функция эки аргументти кабыл алат. Биринчиси сигналды чыгара турган GPIO, экинчиси сигналды жаратуучу канал.
  5. Акыр-аягы, PWM аркылуу LED жарыктыгын көзөмөлдөө үчүн, сиз төмөнкү функцияны колдоносуз:

ledcWrite(канал, милдет цикли)
Бул функция аргумент катары PWM сигналын жаратуучу каналды жана милдет циклин кабыл алат.
Бөлүктөр талап кылынат
Бул окуу куралын аткаруу үчүн сизге бул бөлүктөр керек:

  • ESP32 DEVKIT V1 тактасы
  • 5мм LED
  • 220 Ом каршылыгы
  •  Breadboard
  • Секирүүчү зымдар

БУУнун
Төмөнкү схемалык диаграммадагыдай LEDди ESP32ге зым менен кошуңуз. LED GPIO туташтырылышы керек 4.LAFVIN ESP32 Basic Starter Kit - СхематикалыкЭскертүү: сиз каалаган төөнөгүчтү колдоно аласыз, эгерде ал чыгаруу катары иштей алат. Чыгуу катары иштей турган бардык пиндер PWM пиндери катары колдонулушу мүмкүн. ESP32 GPIOs жөнүндө көбүрөөк маалымат алуу үчүн, окуңуз: ESP32 Pinout Шилтемеси: Кайсы GPIO пиндерин колдонушуңуз керек?
Code
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотуу
Project_3_ESP32_PWM.ino кодун arduino IDEде ачыңызLAFVIN ESP32 Негизги Стартер комплект - Код 3LAFVIN ESP32 Негизги Стартер комплект - Код 4Сиз LED тиркелген пинди аныктоо менен баштайсыз. Бул учурда LED GPIO 4 тиркелет.LAFVIN ESP32 Негизги Стартер комплект - Код 5Андан кийин, сиз PWM сигналынын касиеттерин орнотуңуз. Сиз 5000 Гц жыштыгын аныктап, сигналды түзүү үчүн 0 каналын тандап, 8 биттик резолюцияны орнотосуз. Сиз ар кандай PWM сигналдарын түзүү үчүн, булардан башка касиеттерди тандай аласыз.LAFVIN ESP32 Негизги Стартер комплект - Код 6Setup()да сиз аргумент катары кабыл алган ledcSetup() функциясын колдонуп, LED PWMди мурда аныктаган касиеттери менен конфигурациялашыңыз керек, ал аргумент катары, ledChannel, жыштык жана резолюцияны төмөнкүдөй кабыл алат:LAFVIN ESP32 Негизги Стартер комплект - Код 8Андан кийин, сиз сигналды ала турган GPIOну тандап алышыңыз керек. Ал үчүн ledcAttachPin() функциясын колдонуңуз, ал аргумент катары сигналды алгыңыз келген GPIO жана сигналды жаратуучу каналды кабыл алат. Бул эксample, биз GPIO 4ке туура келген ledPin GPIO сигналын алабыз. Сигнал жаратуучу канал ledChannel, ал 0 каналына туура келет.LAFVIN ESP32 Негизги Стартер комплект - Код 9Циклде сиз LED жарыктыгын жогорулатуу үчүн иштөө циклин 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 эмес, сигналды жаратуучу каналды колдонорубузга көңүл буруңуз.

Эксample

Кодду ESP32ге жүктөңүз. Туура такта жана COM порту тандалганын текшериңиз. Сиздин схемаңызды караңыз. Жарыктыкты көбөйтүүчү жана азайтуучу жарык диоду болушу керек.LAFVIN ESP32 Basic Starter Kit - Эксample

Долбоор 4 ESP32 PIR Motion Sensor

Бул долбоор PIR кыймыл сенсорунун жардамы менен ESP32 менен кыймылды кантип аныктоону көрсөтөт. Кыймыл аныкталганда сигнал сигналын берет жана алдын ала белгиленген убакытка (мисалы, 4 секунда) эч кандай кыймыл байкалбаганда сигналды токтотот.
HC-SR501 Motion Sensor кантип иштейт
.LAFVIN ESP32 Basic Starter Kit - Motion Sensor иштейтHC-SR501 сенсорунун иштөө принциби кыймылдуу объекттеги инфракызыл нурлануунун өзгөрүшүнө негизделген. HC-SR501 сенсору тарабынан аныкталышы үчүн объект эки талапка жооп бериши керек:

  • Объект инфракызыл жолду чыгарып жатат.
  • Объект кыймылдап же титиреп жатат

Ошентип:
Эгерде объект инфракызыл нурларды чыгарып, бирок кыймылдабаса (мисалы, адам кыймылдабай туруп калса), ал сенсор тарабынан аныкталбайт.
Эгерде объект кыймылдап, бирок инфракызыл нурларды чыгарбаса (мисалы, робот же унаа), ал сенсор тарабынан АНЫКТАЛБАЙТ.
Таймерлерди тааныштыруу
Бул эксample биз таймерлерди да киргизебиз. Кыймыл аныкталгандан кийин LED алдын ала белгиленген секунданын ичинде күйүп турушун каалайбыз. Кодуңузду бөгөттөп, белгилүү бир секунданын ичинде башка эч нерсе кылууга мүмкүндүк бербеген delay() функциясын колдонуунун ордуна, биз таймерди колдонушубуз керек.LAFVIN ESP32 Basic Starter Kit - Таймерлерди киргизүүdelay() функциясы
Delay() функциясы менен тааныш болушуңуз керек, анткени ал кеңири колдонулат. Бул функцияны колдонуу абдан жөнөкөй. Ал аргумент катары бир int санын кабыл алат.
Бул сан программа коддун кийинки сабына өткөнгө чейин күтө турган убакытты миллисекунд менен билдирет.LAFVIN ESP32 Basic Starter Kit - кодСиз кечиктиргениңизде(1000) программаңыз ошол сапта 1 секундга токтойт.
delay() бөгөттөөчү функция. Бөгөттөө функциялары программанын ошол тапшырма аткарылмайынча башка эч нерсе кылуусуна жол бербейт. Эгер сизге бир эле учурда бир нече тапшырма керек болсо, delay() функциясын колдоно албайсыз.
Көпчүлүк долбоорлор үчүн кечиктирүүлөрдү колдонуудан алыс болуп, анын ордуна таймерлерди колдонушуңуз керек.
millis() функциясы
millis() деп аталган функцияны колдонуп, программа биринчи жолу башталгандан бери өткөн миллисекунддардын санын кайтара аласыз.LAFVIN ESP32 Basic Starter Kit - программа биринчи жолу башталдыБул функция эмне үчүн пайдалуу? Анткени кандайдыр бир математиканы колдонуу менен, кодуңузду бөгөттөбөй туруп, канча убакыт өткөнүн оңой текшере аласыз.
Бөлүктөр талап кылынат
Бул окуу куралын аткаруу үчүн сизге төмөнкү бөлүктөр керек

  • ESP32 DEVKIT V1 тактасы
  • PIR кыймыл сенсору (HC-SR501)
  • Active Buzzer
  • Секирүүчү зымдар
  • Breadboard

БУУнунLAFVIN ESP32 Негизги Стартер комплекти - Схема 1Эскертүү: жумушчу томtagHC-SR501дин e - 5V. Аны иштетүү үчүн Vin пинди колдонуңуз.
Code
Бул окуу куралын улантуудан мурун Arduino IDEиңизге ESP32 кошумчасы орнотулган болушу керек. ESP32ди Arduino IDEге орнотуу үчүн төмөнкү окуу куралдарынын бирин аткарыңыз, эгер сиз буга чейин орното элек болсоңуз. (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотуу
Project_4_ESP32_PIR_Motion_Sensor.ino кодун arduino IDEде ачыңыз.
Демонстрация
Кодду ESP32 тактаңызга жүктөңүз. Туура такта жана COM порту тандалганын текшериңиз. Кодду жүктөө кадамдары.
Сериялык мониторду 115200 ылдамдыкта ачыңыз.LAFVIN ESP32 Негизги Стартер комплекти - Демонстрация 1Колуңузду PIR сенсорунун алдына жылдырыңыз. Сигнал күйгүзүлүшү керек жана кабар Сериялык монитордо "Кыймыл аныкталды! Сигнал сигналы" деп басылып чыгат.
4 секунддан кийин сигнал өчүшү керек.LAFVIN ESP32 Basic Starter Kit - сигнализация

Project 5 ESP32 Switch Web Server

Бул долбоордо сиз өз алдынча түзөсүз web Arduino IDE программалоо чөйрөсүн колдонуп чыгууларды (эки LED) башкарган ESP32 менен сервер. The web сервер мобилдик жооп берет жана жергиликтүү тармактагы браузер катары каалаган түзмөк менен кирүүгө болот. Биз сизге кантип түзүүнү көрсөтөбүз web сервер жана коддун кадам-кадам кантип иштеши.
Долбоор бүттүview
Түздөн-түз долбоорго барардан мурун, биздин эмнени белгилеп алуу маанилүү web сервер жасайт, андыктан кадамдарды кийинчерээк аткаруу оңой болот.

  • The web сиз кура турган сервер ESP32 GPIO 26 жана GPIO 27ге туташтырылган эки LEDди башкарат;
  • Сиз ESP32 кире аласыз web жергиликтүү тармактагы браузерде ESP32 IP дарегин терүү менен серверге;
  • Сиздин баскычтарды басуу менен web серверде сиз ар бир LEDдин абалын заматта өзгөртө аласыз.

Бөлүктөр талап кылынат
Бул окуу куралы үчүн сизге төмөнкү бөлүктөр керек:

  • ESP32 DEVKIT V1 тактасы
  • 2х 5мм LED
  • 2x 200 Ом каршылык
  • Breadboard
  • Секирүүчү зымдар

БУУнун
Схеманы куруу менен баштаңыз. Төмөнкү схемалык диаграммада көрсөтүлгөндөй эки LEDди ESP32ге туташтырыңыз – бир LED GPIO 26га, экинчиси GPIO 27ге туташтырылган.
Эскертүү: Биз ESP32 DEVKIT DOIT тактасын 36 пин менен колдонуп жатабыз. Схеманы монтаждоодон мурун, сиз колдонуп жаткан такта үчүн пинутту текшериңиз.LAFVIN ESP32 Basic Starter Kit - СхематикалыкCode
Бул жерде биз ESP32 түзүүчү кодду беребиз web сервер. Project_5_ESP32_Switch _ кодун ачыңызWeb_Server.ino arduino IDEде, бирок аны азырынча жүктөп бербеңиз. Ал сиз үчүн иштеши үчүн кээ бир өзгөртүүлөрдү киргизишиңиз керек.
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотуу
Сиздин Тармак Каттоо маалыматын орнотуу
Сиз тармактын эсептик дайындары менен төмөнкү саптарды өзгөртүү керек: SSID жана сырсөз. Коддо сиз кайсы жерде өзгөртүүлөрдү киргизүү керектиги жакшы түшүндүрүлгөн.LAFVIN ESP32 Basic Starter Kit - Network CredentialsКод жүктөлүүдө
Эми, сиз кодду жана жана жүктөй аласыз web сервер дароо иштейт.
ESP32ге кодду жүктөө үчүн кийинки кадамдарды аткарыңыз:

  1. ESP32 тактаңызды компьютериңизге сайыңыз;
  2. Arduino IDEде Куралдар > Башкармасында тактаңызды тандаңыз (биздин учурда биз ESP32 DEVKIT DOIT тактасын колдонуп жатабыз);LAFVIN ESP32 Basic Starter Kit - Кодду жүктөө
  3. Куралдар > Порттон COM портун тандаңыз.LAFVIN ESP32 Basic Starter Kit - Tools Port
  4. Arduino IDEдеги Жүктөө баскычын басыңыз жана код компиляцияланып, тактаңызга жүктөлгөнгө чейин бир нече секунд күтө туруңуз.LAFVIN ESP32 Basic Starter Kit - ICON 7
  5. "Жүктөө бүттү" билдирүүсүн күтүңүз.LAFVIN ESP32 Basic Starter Kit - Жүктөп берүү 1 бүттү

ESP IP дарегин табуу
Кодду жүктөгөндөн кийин Сериялык мониторду 115200 ылдамдыгы менен ачыңыз.LAFVIN ESP32 Basic Starter Kit - ESP IP дарегиESP32 EN баскычын басыңыз (кайра коюу). ESP32 Wi-Fiга туташып, ESP IP дарегин Сериялык монитордо чыгарат. Ошол IP даректи көчүрүңүз, анткени сизге ESP32ге кирүү үчүн керек web сервер.LAFVIN ESP32 Basic Starter Kit - web серверкирүү Web Server
кирүү үчүн web серверге кириңиз, браузериңизди ачыңыз, ESP32 IP дарегин чаптаңыз, ошондо сиз төмөнкү баракты көрөсүз.
Эскертүү: Браузериңиз жана ESP32 бир LANга туташкан болушу керек.LAFVIN ESP32 Basic Starter Kit - Жетүү Web ServerСериялык мониторду карасаңыз, фондо эмне болуп жатканын көрө аласыз. ESP жаңы кардардан HTTP сурамын алат (бул учурда сиздин браузериңиз).LAFVIN ESP32 Basic Starter Kit - HTTP сурамыОшондой эле HTTP сурамы жөнүндө башка маалыматты көрө аласыз.
Демонстрация
Эми сиз сынап көрсөңүз болот web сервер туура иштеп жатат. LEDди башкаруу үчүн баскычтарды басыңыз.LAFVIN ESP32 Basic Starter Kit - фонОшол эле учурда, сиз фондо эмне болуп жатканын көрүү үчүн Сериялык мониторду карап көрсөңүз болот. Мисалы үчүнample, GPIO 26 күйгүзүү үчүн баскычты басканда, ESP32 /26/on боюнча суроо-талапты алат URL.LAFVIN ESP32 Basic Starter Kit - URLESP32 бул өтүнүчтү алганда, ал GPIO 26га тиркелген LEDди күйгүзөт жана анын абалын жаңыртат. web бет.LAFVIN ESP32 Basic Starter Kit - 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 Basic Starter Kit - web серверТөмөнкү сап HTTP сурамынын башын сактоо үчүн өзгөрмө түзөт:LAFVIN ESP32 Basic Starter Kit - HTTPrequestАндан кийин, сиз жыйынтыктарыңыздын учурдагы абалын сактоо үчүн көмөкчү өзгөрмөлөрдү түзөсүз. Эгер сиз көбүрөөк жыйынтыктарды кошуп, анын абалын сактап калгыңыз келсе, көбүрөөк өзгөрмөлөрдү түзүшүңүз керек.LAFVIN ESP32 Basic Starter Kit - өзгөрмөлөрОшондой эле ар бир жыйынтыкка GPIO дайындашыңыз керек. Бул жерде биз GPIO 26 жана GPIO 27 колдонуп жатабыз. Сиз каалаган башка ылайыктуу GPIO колдоно аласыз.LAFVIN ESP32 Basic Starter Kit - башка ылайыктуужайгашуу()
Эми орнотууга () киришели. Биринчиден, мүчүлүштүктөрдү оңдоо максатында 115200 ылдамдыкта сериялык байланышты баштайбыз.LAFVIN ESP32 Basic Starter Kit - максаттарыСиз ошондой эле GPIO'ңузду OUTPUT катары аныктап, аларды LOW деп коёсуз.LAFVIN ESP32 Basic Starter Kit - OUTPUT катары GPIOsТөмөнкү саптар WiFi.begin (ssid, пароль) менен Wi-Fi туташуусун баштайт, ийгиликтүү туташууну күтүңүз жана Сериялык монитордо ESP IP дарегин басып чыгарыңыз.LAFVIN ESP32 Basic Starter Kit - СериялыкLAFVIN ESP32 Basic Starter Kit - Серия 1loop()
Loop() ичинде биз жаңы кардар менен байланыш түзгөндө эмне болорун программалайбыз web сервер.
ESP32 ар дайым төмөнкү сап менен келген кардарларды угат:LAFVIN ESP32 Basic Starter Kit - циклКардардан сурам келип түшкөндө, биз келген маалыматтарды сактайбыз. Кийинки while цикли кардар туташып турганда иштей берет. Эмне кылып жатканыңызды так билбесеңиз, коддун төмөнкү бөлүгүн өзгөртүүнү сунуштабайбыз.LAFVIN ESP32 Basic Starter Kit - такLAFVIN ESP32 Basic Starter Kit - так 1LAFVIN ESP32 Basic Starter Kit - так 2If жана else операторлорунун кийинки бөлүмү сиздин кайсы баскыч басылганын текшерет web баракта жана ошого жараша жыйынтыктарды көзөмөлдөйт. Мурда көргөнүбүздөй, биз ар кандай өтүнүч менен кайрылабыз URLs басылган баскычка жараша.LAFVIN ESP32 Basic Starter Kit - баскыч басылдыLAFVIN ESP32 Basic Starter Kit - баскыч басылган 1Мисалы үчүнample, эгер сиз GPIO 26 ON баскычын бассаңыз, ESP32 /26/ON боюнча суроо-талапты алат. URL (биз ал маалыматты Сериялык монитордогу HTTP аталышында көрө алабыз). Ошентип, баш маалымат GET /26/on туюнтмасын камтыганын текшере алабыз. Эгерде ал камтылса, биз output26state өзгөрмөсүн ON кылып өзгөртөбүз, ал эми ESP32 LEDди күйгүзөт.
Бул башка баскычтар үчүн да ушундай иштейт. Демек, эгер сиз көбүрөөк жыйынтыктарды кошкуңуз келсе, коддун бул бөлүгүн аларды кошуу үчүн өзгөртүшүңүз керек.
HTML көрсөтүү web бет
Кийинки нерсе - бул түзүү web бет. ESP32 сиздин браузериңизге HTML кодун түзүү үчүн жооп жөнөтөт web бет.
The web барак клиентке ушул экспрессивдүү client.println() аркылуу жөнөтүлөт. Аргумент катары кардарга жөнөткүңүз келген нерсени киргизишиңиз керек.
Биринчи кезекте биз HTML жөнөтүп жатканыбызды көрсөткөн төмөнкү сапты жөнөтүшүбүз керек.LAFVIN ESP32 Basic Starter Kit - HTML жөнөтүүАндан кийин, төмөнкү сап түзөт web каалаган барак жооп берет web браузер.LAFVIN ESP32 Basic Starter Kit - web браузерАл эми төмөндөгүлөр фавикондо суроо-талаптарды алдын алуу үчүн колдонулат. – Бул линия боюнча кабатырлануунун кереги жок.LAFVIN ESP32 Basic Starter Kit - client.println

Styling the Web Page

Андан кийин, бизде баскычтарды жана баскычтарды стилдөө үчүн бир нече CSS тексти бар web беттин көрүнүшү.
Биз Helvetica шрифтин тандап, блок катары көрсөтүлө турган мазмунду аныктап, борборго тегиздейбиз.LAFVIN ESP32 Basic Starter Kit - Styling the Web PageБиз баскычтарыбызды #4CAF50 түсү, чексиз, ак түстөгү текст жана бул толтуруу менен стилдейбиз: 16px 40px. Биз ошондой эле текстти жасалгалоону эч кимге койдук, шрифттин өлчөмүн, четин жана курсорду көрсөткүчкө аныктайбыз.LAFVIN ESP32 Basic Starter Kit - көрсөткүчБиз ошондой эле экинчи баскычтын стилин аныктайбыз, баскычтын биз мурда аныктаган бардык касиеттери менен, бирок башка түс менен. Бул өчүрүү баскычынын стили болот.LAFVIN ESP32 Basic Starter Kit - client.println 1

орнотуу Web Барактын биринчи аталышы
Кийинки сапта сиз өзүңүздүн биринчи аталышыңызды орното аласыз web бет. Бул жерде бизде "ESP32 Web Server", бирок бул текстти каалаганыңызга өзгөртө аласыз.LAFVIN ESP32 Basic Starter Kit - 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 - Байланышты жабуу

Орнотуу

Бул окуу куралында биз сизге кантип түзүүнү көрсөттүк web ESP32 менен сервер. Биз сизге жөнөкөй эксти көрсөттүкample ал эки LEDди башкарат, бирок идея ошол диоддорду реле же сиз башкаргыңыз келген башка чыгаруу менен алмаштыруу.

Долбоор 6 RGB LED Web Server

Бул долбоордо биз сизге RGB LEDди ESP32 тактасы менен кантип алыстан башкарууну көрсөтөбүз web түс тандоочу менен сервер.
Долбоор бүттүview
Баштоодон мурун, бул долбоор кандай иштээрин карап көрөлү:LAFVIN ESP32 Basic Starter Kit - Долбоор бүттүview

  • ESP32 web сервер түс тандагычты көрсөтөт.
  • Сиз түстү тандаганыңызда, браузериңиз а боюнча сурам берет URL ал тандалган түстүн R, G жана B параметрлерин камтыйт.
  • Сиздин ESP32 өтүнүчтү кабыл алат жана ар бир түс параметри үчүн маанини бөлөт.
  • Андан кийин, ал RGB LEDди башкарган GPIOларга тиешелүү маанидеги PWM сигналын жөнөтөт.

RGB LED кантип иштейт?
Жалпы катод RGB LED-жылы үч LED тең терс байланышты бөлүшөт (катод).LAFVIN ESP32 Basic Starter Kit - RGB LEDs иштейтКантип ар кандай түстөрдү түзүү керек?
RGB LED менен, албетте, кызыл, жашыл жана көк жарыкты чыгара аласыз жана ар бир LEDдин интенсивдүүлүгүн конфигурациялоо менен башка түстөрдү да чыгара аласыз.
Мисалы үчүнample, таза көк жарыкты өндүрүү үчүн сиз көк LEDди эң ​​жогорку интенсивдүүлүккө, ал эми жашыл жана кызыл диоддорду эң төмөнкү интенсивдүүлүккө коюңуз. Ак жарык үчүн сиз үч LEDди тең эң жогорку интенсивдүүлүккө орнотмоксуз.
Түстөрдү аралаштыруу
Башка түстөрдү өндүрүү үчүн үч түстү ар кандай интенсивдүүлүктө айкалыштыра аласыз. Ар бир LED интенсивдүүлүгүн тууралоо үчүн PWM сигналын колдонсоңуз болот.
Светодиоддор бири-бирине абдан жакын болгондуктан, биздин көзүбүз үч түстү өзүнчө эмес, түстөрдүн айкалышынын натыйжасын көрөт.
Түстөрдү кантип айкалыштыруу боюнча түшүнүккө ээ болуу үчүн, төмөнкү диаграмманы караңыз.
Бул эң жөнөкөй түстөрдү аралаштыруу диаграммасы, бирок ал кандайча иштейт жана ар кандай түстөрдү кантип чыгаруу керектиги жөнүндө түшүнүк берет.LAFVIN ESP32 Basic Starter Kit - ар кандай түстөрБөлүктөр талап кылынат
Бул долбоор үчүн сизге төмөнкү бөлүктөр керек:

  • ESP32 DEVKIT V1 тактасы
  • RGB LED
  • 3x 220 Ом резисторлор
  • Секирүүчү зымдар
  • Breadboard

БУУнунLAFVIN ESP32 Basic Starter Kit - СхематикалыкCode
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)

  • Arduino IDEде ESP32 кошумчасын орнотуу

Схеманы чогулткандан кийин, кодду ачыңыз
Project_6_RGB_LED_Web_Server.ino arduino IDEде.
Кодду жүктөөдөн мурун, 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 сурамыR, G жана B тилкелерин башкара турган GPIO үчүн үч өзгөрмө түзүңүз. Бул учурда биз GPIO 13, GPIO 12 жана GPIO 14 колдонуп жатабыз.LAFVIN ESP32 Basic Starter Kit - GPIO керекБул GPIOs PWM сигналдарын чыгарышы керек, андыктан алгач PWM касиеттерин конфигурациялашыбыз керек. PWM сигналынын жыштыгын 5000 Гцге коюңуз. Андан кийин, ар бир түс үчүн PWM каналын бириктириңизLAFVIN ESP32 Basic Starter Kit - ар бир түсАкыр-аягы, PWM каналдарынын резолюциясын 8-битке орнотуңузLAFVIN ESP32 Basic Starter Kit - PWM каналдарыОрнотууда() PWM касиеттерин PWM каналдарына дайындаңызLAFVIN ESP32 Basic Starter Kit - PWM каналдарыPWM каналдарын тиешелүү GPIOларга тиркөөLAFVIN ESP32 Basic Starter Kit - тиешелүү GPIOsТөмөнкү код бөлүмү сиздин түс тандагычты көрсөтөт 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ден декоддолгон маанилер менен PWM сигналдарын түзүңүз. өтүнүч.LAFVIN ESP32 Basic Starter Kit - HTTP сурамы 1Эскертүү: ESP32 менен PWM жөнүндө көбүрөөк билүү: Долбоор 3 ESP32 PWM (Аналогдук чыгаруу)
ESP8266 менен тилкени башкаруу үчүн, биз жөн гана колдонушубуз керек
analogWrite() функциясы HTPP сурамынан декоддолгон маанилер менен PWM сигналдарын түзүү.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Биз сап өзгөрмөсүндө маанилерди алгандыктан, аларды toInt() ыкмасын колдонуп бүтүн сандарга айландырышыбыз керек.
Демонстрация
Тармактын эсептик дайындарын киргизгенден кийин, туура тактаны жана COM портун тандап, кодду ESP32.Upload кодунун шилтеме кадамдарына жүктөңүз.
Жүктөп бергенден кийин Сериялык мониторду 115200 ылдамдыкта ачыңыз жана ESP иштетүү/кайра коюу баскычын басыңыз. Сиз тактанын IP дарегин алышыңыз керек.LAFVIN ESP32 Basic Starter Kit - ошол эле LANБраузериңизди ачып, ESP IP дарегин киргизиңиз. Эми, RGB LED үчүн түс тандоо үчүн түс тандагычты колдонуңуз.
Андан кийин, түс күчүнө кириши үчүн "Түстү өзгөртүү" баскычын басышыңыз керек.LAFVIN ESP32 Basic Starter Kit - RGB LEDRGB LEDди өчүрүү үчүн кара түстү тандаңыз.
Эң күчтүү түстөр (түс тандагычтын жогору жагында) жакшы натыйжаларды бере турган түстөр.LAFVIN ESP32 Basic Starter Kit - жакшы натыйжалар

Долбоор 7 ESP32 реле Web Server

ESP32 менен релени колдонуу AC тиричилик шаймандарын алыстан башкаруунун эң сонун жолу. Бул окуу куралы ESP32 менен релелик модулду кантип башкарууну түшүндүрөт.
Биз релелик модулдун кантип иштээрин, релени ESP32ге кантип туташтыруу керектигин жана web реледи алыстан башкаруу үчүн сервер.
Эстафеталар менен тааныштыруу
Реле - бул электрдик өчүргүч жана башка которгучтар сыяктуу эле, аны күйгүзүп же өчүрүп, ток өтүп же өтпөсө болот. Аны аз көлөмдө башкарууга болотtages, ESP3.3 GPIOs тарабынан берилген 32V сыяктуу жана бизге жогорку көлөмдү башкарууга мүмкүндүк беретtages сыяктуу 12V, 24V же электр кубатыtage (Европада 230 В жана АКШда 120 В).LAFVIN ESP32 Негизги Стартер комплекти - Релелерди киргизүүСол тарабында, жогорку вол туташтыруу үчүн үч розеткалардын эки топтому барtages, жана оң жагындагы төөнөгүчтөр (төмөн томtagд) ESP32 GPIO'ларына туташуу.
Mains Voltage ConnectionsLAFVIN ESP32 Basic Starter Kit - Mains Voltage ConnectionsМурунку сүрөттө көрсөтүлгөн реле модулунун эки туташтыргычы бар, ар биринде үч розетка бар: жалпы (COM), Кадимки жабык (NC) жана Кадимки ачык (NO).

  • COM: сиз көзөмөлдөгүңүз келген токту туташтырыңыз (энергtagжана).
  • NC (Нормалдуу жабык): адатта жабык конфигурация реле демейки боюнча жабык болушун каалаганда колдонулат. NC COM төөнөгүчтөрү туташтырылган, демек сиз ESP32ден реле модулуна схеманы ачып, токтун агымын токтотуу үчүн сигнал жөнөтпөсөңүз, ток агып жатат.
  • ЖОК (Нормалдуу Ачык): адатта ачык конфигурация тескери иштейт: NO жана COM пиндеринин ортосунда эч кандай байланыш жок, ошондуктан ESP32ден схеманы жабуу үчүн сигнал жөнөтмөйүнчө, схема үзүлгөн.

Control PinsLAFVIN ESP32 Basic Starter Kit - Control PinsТөмөн-томtage тарабында төрт төөнөгүч жана үч төөнөгүч топтому бар. Биринчи топтом модулду иштетүү үчүн VCC жана GND, ал эми төмөнкү жана үстүнкү релелерди башкаруу үчүн киргизүү 1 (IN1) жана киргизүү 2 (IN2) турат.
Эгер релелик модулуңузда бир гана канал болсо, сизде бир гана IN пин болот. Эгер сизде төрт канал болсо, сизде төрт IN пин жана башкалар болот.
Сиз IN пиндерине жөнөткөн сигнал реле активдүү же активдүү эмес экенин аныктайт. Киргизүү болжол менен 2V төмөн болгондо реле ишке кирет. Бул сизде төмөнкү сценарийлер болот дегенди билдирет:

  • Адатта жабык конфигурация (NC):
  • ЖОГОРКУ сигнал – ток өтүп жатат
  • LOW сигналы - ток агып келбейт
  • Адатта ачык конфигурация (NO):
  • ЖОГОРКУ сигнал - ток агып келбейт
  • LOW сигнал - агып жаткан ток

Ток көп учурда агып турганда, сиз кадимки жабык конфигурацияны колдонушуңуз керек жана сиз аны кээде гана токтоткуңуз келет.
Токтун маал-маалы менен агып турушун кааласаңыз, кадимки ачык конфигурацияны колдонуңуз (мисалыample, күйгүзүү alamp анда-санда).
Электр булагы тандооLAFVIN ESP32 Basic Starter Kit - Электр булагы тандооЭкинчи төөнөгүч топтому 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 мм LEDs ордуна жогорку камсыз кылуу Voltagэкспериментте электрондук лампалар. Эгер сиз негизги том менен тааныш эмес болсоңузtagсага жардам бере турган бирөөдөн сура. ESPди программалоодо же чынжырыңызды зымдарды туташтырууда баары электр тармагынан ажыратылганын текшериңизtage.LAFVIN ESP32 Basic Starter Kit - mains voltageESP32 үчүн китепкананы орнотуу
Муну куруу үчүн web сервер, биз ESPAsync колдонобузWebСервер китепканасы жана AsyncTCP китепканасы.
ESPAsync орнотууWebСервер китепканасы
орнотуу үчүн кийинки кадамдарды аткарыңыз ESPAsyncWebServer китепкана:

  1. ESPAsync жүктөп алуу үчүн бул жерди басыңызWebСервер китепканасы. Сиз болушу керек
    Жүктөлүп алынгандар папкаңыздагы .zip папка
  2. .zip папканы ачып, сиз ESPAsync алышыңыз керекWebСервер-мастер папка
  3. ESPAsync'тен папкаңыздын атын өзгөртүңүзWebESPAsync үчүн сервер-мастерWebServer
  4. ESPAsyncти жылдырыңызWebArduino IDE орнотуу китепканалары папкаңызга сервер папкасы

Же болбосо, Arduino IDE'иңизде Эскиз > Камтууга өтсөңүз болот
Китепкана > .ZIP китепканасын кошуңуз… жана жаңы эле жүктөп алган китепканаңызды тандаңыз.
ESP32 үчүн AsyncTCP китепканасын орнотуу
The ESPAsyncWebServer китепкана талап кылат AsyncTCP иштөө үчүн китепкана. ээрчүү
бул китепкананы орнотуу үчүн кийинки кадамдар:

  1. AsyncTCP китепканасын жүктөп алуу үчүн бул жерди басыңыз. Жүктөлүп алынгандар папкаңызда .zip папкаңыз болушу керек
  2. .zip папканы ачып, сиз AsyncTCP-мастер папканы алышыңыз керек
    1. Папкаңыздын атын AsyncTCP-мастерден AsyncTCPге өзгөртүңүз
    3. AsyncTCP папкасын Arduino IDE орнотуу китепканалары папкаңызга жылдырыңыз
    4. Акырында, Arduino IDEиңизди кайра ачыңыз

Же болбосо, Arduino IDE'иңизде Эскиз > Камтууга өтсөңүз болот
Китепкана > .ZIP китепканасын кошуңуз… жана жаңы эле жүктөп алган китепканаңызды тандаңыз.
Code
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотуу
Керектүү китепканаларды орноткондон кийин Project_7_ESP32_Relay_ кодун ачыңызWeb_Server.ino arduino IDEде.
Кодду жүктөөдөн мурун, ESP сиздин жергиликтүү тармагыңызга туташа алышы үчүн тармактык эсептик дайындарыңызды киргизүүнү унутпаңыз.LAFVIN ESP32 Basic Starter Kit - ocal тармакДемонстрация
Керектүү өзгөртүүлөрдү киргизгенден кийин, кодду ESP32.Upload кодунун шилтеме кадамдарына жүктөңүз.
Сериялык мониторду 115200 берүү ылдамдыгы менен ачып, анын IP дарегин алуу үчүн ESP32 EN баскычын басыңыз. Андан соң жергиликтүү тармагыңыздагы браузерди ачып, ESP32 IP дарегин териңиз. web сервер.
Сериялык мониторду 115200 берүү ылдамдыгы менен ачып, анын IP дарегин алуу үчүн ESP32 EN баскычын басыңыз. Андан соң жергиликтүү тармагыңыздагы браузерди ачып, ESP32 IP дарегин териңиз. web сервер.LAFVIN ESP32 Basic Starter Kit - web серверЭскертүү: Браузериңиз жана ESP32 бир LANга туташкан болушу керек.
Сиз кодуңузда аныктаган релелердин саны сыяктуу эки баскыч менен төмөнкүдөй нерсени алышыңыз керек.LAFVIN ESP32 Basic Starter Kit - смартфонЭми сиз смартфонуңуз аркылуу релелерди башкаруу үчүн баскычтарды колдоно аласыз.LAFVIN ESP32 Basic Starter Kit - смартфон 1

Долбоор_8_Чыгуу_Абал_Синхрондоштуруу_ Web_Сервер

Бул Долбоор ESP32 же ESP8266 натыйжаларын кантип башкарууну көрсөтөт web сервер жана физикалык баскыч бир эле учурда. Чыгуу абалы жаңыртылды web бет физикалык баскыч аркылуу өзгөртүлгөнбү же web сервер.
Долбоор бүттүview
Келгиле, долбоордун кандай иштээрин тез карап көрөлү.LAFVIN ESP32 Basic Starter Kit - Долбоор бүттүviewESP32 же ESP8266 хосттору а web чыгаруунун абалын көзөмөлдөөгө мүмкүндүк берген сервер;

  • Учурдагы чыгаруу абалы экранда көрсөтүлөт web сервер;
  • ESP ошондой эле ошол эле чыгарууну башкарган физикалык баскычка туташтырылган;
  • Эгер сиз физикалык баскычты колдонуу менен чыгаруу абалын өзгөртсөңүз, анын учурдагы абалы да жаңыртылат web сервер.

Жыйынтыктап айтканда, бул долбоор бир эле чыгарууну а аркылуу башкарууга мүмкүндүк берет web сервер жана баскыч баскычы бир эле учурда. чыгаруу абалы өзгөргөн сайын, web сервер жаңыртылды.
Бөлүктөр талап кылынат
Бул жерде схеманы куруу үчүн керек болгон бөлүктөрүнүн тизмеси:

  • ESP32 DEVKIT V1 тактасы
  • 5 мм LED
  • 220Ом каршылык
  • Pushbutton
  • 10k Ohm каршылык
  • Breadboard
  • Секирүүчү зымдар

БУУнунLAFVIN ESP32 Негизги Стартер комплекти - Схема 1ESP32 үчүн китепкананы орнотуу
Муну куруу үчүн web сервер, биз ESPAsync колдонобузWebСервер китепканасы жана AsyncTCP китепканасы.(Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
ESPAsync орнотууWebСервер китепканасы
ESPAsync орнотуу үчүн кийинки кадамдарды аткарыңызWebСервер китепканасы:

  1. ESPAsync жүктөп алуу үчүн бул жерди басыңызWebСервер китепканасы. Сиз болушу керек
    Жүктөлүп алынгандар папкаңыздагы .zip папка
  2. .zip папканы ачып, сиз ESPAsync алышыңыз керекWebСервер-мастер папка
  3. ESPAsync'тен папкаңыздын атын өзгөртүңүзWebESPAsync үчүн сервер-мастерWebServer
  4. ESPAsyncти жылдырыңызWebArduino IDE орнотуу китепканалары папкаңызга сервер папкасы
    Же болбосо, Arduino IDE'иңизде Эскиз > Камтууга өтсөңүз болот
    Китепкана > .ZIP китепканасын кошуңуз… жана жаңы эле жүктөп алган китепканаңызды тандаңыз.

ESP32 үчүн AsyncTCP китепканасын орнотуу
ESPAsyncWebСервер китепканасы иштеши үчүн AsyncTCP китепканасын талап кылат. Бул китепкананы орнотуу үчүн кийинки кадамдарды аткарыңыз:

  1. AsyncTCP китепканасын жүктөп алуу үчүн бул жерди басыңыз. Жүктөлүп алынгандар папкаңызда .zip папкаңыз болушу керек
  2. .zip папканы ачып, сиз AsyncTCP-мастер папканы алышыңыз керек
  3. Папкаңыздын атын AsyncTCP-мастерден AsyncTCPге өзгөртүңүз
  4. AsyncTCP папкасын Arduino IDE орнотуу китепканалары папкаңызга жылдырыңыз
  5. Акырында, Arduino IDEиңизди кайра ачыңыз
    Же болбосо, Arduino IDE'иңизде Эскиз > Камтууга өтсөңүз болот
    Китепкана > .ZIP китепканасын кошуңуз… жана жаңы эле жүктөп алган китепканаңызды тандаңыз.

Code
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотуу
Керектүү китепканаларды орноткондон кийин, кодду ачыңыз
Долбоор_8_Чыгуу_Абал_Синхрондоштуруу_Web_Server.ino arduino IDEде.
Кодду жүктөөдөн мурун, ESP сиздин жергиликтүү тармагыңызга туташа алышы үчүн тармактык эсептик дайындарыңызды киргизүүнү унутпаңыз.LAFVIN ESP32 Basic Starter Kit - Code

Кодекс кантип иштейт

Баскычтын абалы жана чыгаруу абалы
ledState өзгөрмө LED чыгаруу абалын кармап турат. Демейки үчүн, качан web сервер башталат, ал ТӨМЕН.LAFVIN ESP32 Basic Starter Kit - Code Works

ButtonState жана lastButtonState баскыч басылган же басылбаганын аныктоо үчүн колдонулат.LAFVIN ESP32 Basic Starter Kit - басылдыбаскыч (web сервер)
Биз index_html өзгөрмөсүндө баскычты түзүү үчүн HTMLди кошкон жокпуз.
Себеби биз аны учурдагы LED абалына жараша өзгөртө алгыбыз келет, аны баскыч менен да өзгөртүүгө болот.
Ошентип, биз %BUTTONPLACEHOLDER% баскычы үчүн толтургуч түздүк, ал кийинчерээк коддо баскычты түзүү үчүн HTML текстине алмаштырылат (бул процессор() функциясында жасалат).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 - код 4HTTP GET Чыгуу абалын өзгөртүү өтүнүчү (JavaScript)
Баскычты басканда, thetoggleCheckbox() функциясы чакырылат. Бул функция ар кандай суроону берет URLс диодду күйгүзүү же өчүрүү үчүн.LAFVIN ESP32 Basic Starter Kit - JavaScriptСветодиодду күйгүзүү үчүн, ал /update?state=1 боюнча суроо-талап кылат URL:LAFVIN ESP32 Basic Starter Kit - element.checkedБолбосо, ал /update?state=0 боюнча суроо салат URL.
HTTP GET абалын жаңыртуу өтүнүчү (JavaScript)
Чыгуу абалын жаңыртып туруу үчүн web серверде, биз / абалына жаңы суроо-талапты жасаган төмөнкү функцияны чакырабыз URL секунд сайын.LAFVIN ESP32 Basic Starter Kit - Жаңыртуу абалыLAFVIN ESP32 Basic Starter Kit - Жаңыртуу абалы 1Сурамдарды иштетүү
Андан кийин, ESP32 же ESP8266 алар боюнча суроо-талаптарды алганда эмне болорун чечишибиз керек. URLs.
Талап тамырга түшкөндө /URL, биз HTML баракчасын, ошондой эле процессорду жөнөтөбүз.LAFVIN ESP32 Basic Starter Kit - Сурамдарды кабыл алууLAFVIN ESP32 Негизги Стартер комплекти - Сурамдарды кароо 1Төмөнкү саптар /update?state=1 же /update?state=0 боюнча сурам алганыңызды текшерет. URL жана ledStateди ошого жараша өзгөртөт.LAFVIN ESP32 Basic Starter Kit - ledStateLAFVIN ESP32 Basic Starter Kit - inputParam/штат боюнча суроо-талап түшкөндө URL, биз учурдагы чыгаруу абалын жөнөтөбүз:LAFVIN ESP32 Basic Starter Kit - чыгаруу абалыloop()
Циклде() биз баскычты жокко чыгарабыз жана LED абалынын маанисине жараша LEDди күйгүзүп же өчүрөбүз өзгөрмө.LAFVIN ESP32 Basic Starter Kit - цикл 1Демонстрация
Кодду ESP32 тактаңызга жүктөңүз. Коддун шилтеме кадамдарын жүктөө.
Андан соң Сериялык мониторду 115200 ылдамдыкта ачыңыз. IP дарегин алуу үчүн борттогу EN/RST баскычын басыңыз.LAFVIN ESP32 Basic Starter Kit - ДемонстрацияЖергиликтүү тармагыңызда браузерди ачып, ESP IP дарегин териңиз. Сизге кирүү мүмкүнчүлүгү болушу керек web сервер төмөндө көрсөтүлгөндөй.
Эскертүү: Браузериңиз жана ESP32 бир LANга туташкан болушу керек.LAFVIN ESP32 Basic Starter Kit - браузерСиз баскычты которуштурууга болот web LEDди күйгүзүү үчүн сервер.LAFVIN ESP32 Basic Starter Kit - web Server 1Сиз ошондой эле физикалык баскыч менен ошол эле LEDди башкара аласыз. Анын абалы ар дайым автоматтык түрдө жаңыртылып турат web сервер.

Долбоор 9 ESP32 DHT11 Web Server

Бул долбоордо сиз асинхрондук ESP32 түзүүнү үйрөнөсүз web Arduino IDE аркылуу температураны жана нымдуулукту көрсөткөн DHT11 сервери.
Пререквизиттер
The web серверди биз жаңыртуунун зарылдыгы жок окууларды автоматтык түрдө жаңыртабыз web бет.
Бул долбоор менен сиз үйрөнөсүз:

  • DHT сенсорлорунан температураны жана нымдуулукту кантип окуса болот;
  • Асинхрондук түзүңүз web колдонуучу сервер ESPAsyncWebСервер китепканасы;
  • Сенсордун көрсөткүчтөрүн жаңыртуунун кереги жок автоматтык түрдө жаңыртыңыз web бет.

Асинхрондуу Web Server
куруу үчүн web серверди биз колдонобуз ESPAsyncWebСервер китепканасы бул асинхрондук куруунун жеңил жолун камсыз кылат web сервер. Асинхронду куруу web сервер бир нече артыкчылыктарга ээtagкитепкана GitHub бетинде айтылгандай, мисалы:

  • "Бир эле учурда бир нече байланышты иштетүү";
  • "Сиз жооп жөнөткөнүңүздө, сервер жоопту фондо жөнөтүүгө кам көрүп жатканда, сиз дароо башка байланыштарды иштетүүгө даяр болосуз";
  • "Шаблондорду иштетүү үчүн жөнөкөй калыптарды иштетүү кыймылдаткычы";

Бөлүктөр талап кылынат
Бул окуу куралын аяктоо үчүн сизге төмөнкү бөлүктөр керек:

  • ESP32 өнүктүрүү тактасы
  • DHT11 модулу
  • Breadboard
  • Секирүүчү зымдар

БУУнунLAFVIN ESP32 Негизги Стартер комплекти - Схема 2Китепканаларды орнотуу
Бул долбоор үчүн сиз бир нече китепкананы орнотушуңуз керек:

  • The DHT жана Adafruit бирдиктүү сенсор DHT сенсорунан окуу үчүн драйвер китепканалары.
  • ESPAsyncWebServer жана Async TCP асинхрондуктарды куруу үчүн китепканалар web сервер.
    Бул китепканаларды орнотуу үчүн кийинки нускамаларды аткарыңыз:

DHT сенсор китепканасын орнотуу
Arduino IDE аркылуу DHT сенсорунан окуу үчүн, орнотуу керек DHT сенсор китепканасы. Китепкананы орнотуу үчүн кийинки кадамдарды аткарыңыз.

  1. DHT Sensor китепканасын жүктөп алуу үчүн бул жерди басыңыз. Жүктөлүп алынгандар папкаңызда .zip папкаңыз болушу керек
  2. .zip папканы ачып, сиз DHT-сенсор-китепкана-мастер папканы алышыңыз керек
  3. Папкаңыздын атын DHT-sensor-librani-master дегенден DHT_sensor кылып өзгөртүңүз
  4. DHT_sensor папкасын Arduino IDE орнотуу китепканалары папкаңызга жылдырыңыз
  5. Акырында, Arduino IDEиңизди кайра ачыңыз

Adafruit Unified Sensor Driver орнотуу
Сиз ошондой эле орнотуу керек Adafruit Unified Sensor Driver китепканасы DHT сенсор менен иштөө үчүн. Китепкананы орнотуу үчүн кийинки кадамдарды аткарыңыз.

  1. Adafruit Unified Sensor китепканасын жүктөп алуу үчүн бул жерди басыңыз. Жүктөлүп алынгандар папкаңызда .zip папкаңыз болушу керек
  2. .zip папканы ачып, сиз Adafruit_sensor-мастер папканы алышыңыз керек
  3. Папкаңыздын атын Adafruit_sensor-masterден Adafruit_sensor кылып өзгөртүңүз
  4. Adafruit_sensor папкасын Arduino IDE орнотуу китепканалары папкаңызга жылдырыңыз
  5. Акырында, Arduino IDEиңизди кайра ачыңыз

ESPAsync орнотууWebСервер китепканасы

орнотуу үчүн кийинки кадамдарды аткарыңыз ESPAsyncWebServer китепкана:

  1. ESPAsync жүктөп алуу үчүн бул жерди басыңызWebСервер китепканасы. Сиз болушу керек
    Жүктөлүп алынгандар папкаңыздагы .zip папка
  2. .zip папканы ачыңыз жана сиз керек
    ESPAsync алууWebСервер-мастер папка
  3. ESPAsync'тен папкаңыздын атын өзгөртүңүзWebESPAsync үчүн сервер-мастерWebServer
  4. ESPAsyncти жылдырыңызWebArduino IDE орнотуу китепканалары папкаңызга сервер папкасы

ESP32 үчүн Async TCP китепканасын орнотуу
The ESPAsyncWebServer китепкана талап кылат AsyncTCP иштөө үчүн китепкана. Бул китепкананы орнотуу үчүн кийинки кадамдарды аткарыңыз:

  1. AsyncTCP китепканасын жүктөп алуу үчүн бул жерди басыңыз. Жүктөлүп алынгандар папкаңызда .zip папкаңыз болушу керек
  2. .zip папканы ачып, сиз AsyncTCP-мастер папканы алышыңыз керек
  3. Папкаңыздын атын AsyncTCP-мастерден AsyncTCPге өзгөртүңүз
  4. AsyncTCP папкасын Arduino IDE орнотуу китепканалары папкаңызга жылдырыңыз
  5. Акырында, Arduino IDEиңизди кайра ачыңыз

Code
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотуу
Керектүү китепканаларды орноткондон кийин, кодду ачыңыз
Project_9_ESP32_DHT11_Web_Server.ino arduino IDEде.
Кодду жүктөөдөн мурун, ESP сиздин жергиликтүү тармагыңызга туташа алышы үчүн тармактык эсептик дайындарыңызды киргизүүнү унутпаңыз.LAFVIN ESP32 Basic Starter Kit - CodeКодекс кантип иштейт
Кийинки абзацтарда биз коддун кантип иштээрин түшүндүрөбүз. Көбүрөөк билгиңиз келсе окууну улантыңыз же акыркы жыйынтыкты көрүү үчүн Демонстрация бөлүмүнө өтүңүз.
Китепканаларды импорттоо
Биринчиден, керектүү китепканаларды импорттоо. WiFi, ESPAsyncWebкуруу үчүн сервер жана ESPAsyncTCP керек web сервер. Adafruit_Sensor жана DHT китепканалары DHT11 же DHT22 сенсорлорунан окуу үчүн керек.LAFVIN ESP32 Basic Starter Kit - Импорттук китепканаларLAFVIN ESP32 Basic Starter Kit - Код кантип иштейтӨзгөрмөлөрдүн аныктамасы
DHT маалымат пин туташкан GPIOну аныктаңыз. Бул учурда, ал GPIO 4 менен туташкан.LAFVIN ESP32 Basic Starter Kit - Өзгөрмөлөрдү аныктооАндан кийин, сиз колдонуп жаткан DHT сенсор түрүн тандаңыз. Биздин мурункуample, биз DHT22 колдонуп жатабыз. Эгер сиз башка түрүн колдонуп жатсаңыз, сенсоруңуздун комментарийин алып салып, калгандарына комментарий беришиңиз керек.LAFVIN ESP32 Basic Starter Kit - Өзгөрмөлөрдүн аныктамасы 1

DHT объектисин биз мурда аныктаган түрү жана пин менен ишке киргизиңиз.LAFVIN ESP32 Basic Starter Kit - Өзгөрмөлөрдүн аныктамасы 2Async түзүүWeb80 портундагы сервер объекти.LAFVIN ESP32 Basic Starter Kit - Өзгөрмөлөрдүн аныктамасы 3Температура жана нымдуулук функцияларын окуңуз
Икки функцияны курдук: бириистээх миэстэни ылан, икки функцияны курдук: бириистээх миэстэҕэ (readDHTTemperature()) иккис функциялаах (readDHTHumidity()).LAFVIN ESP32 Basic Starter Kit - readDHTNumidityLAFVIN ESP32 Basic Starter Kit - сенсор көрсөткүчтөрүСенсордун көрсөткүчтөрүн алуу, сенсордун көрсөткүчтөрүн алуу dht объектисинде readTemperature() жана readHumidity() ыкмаларын колдонуу сыяктуу жөнөкөй.LAFVIN ESP32 Basic Starter Kit - объектОшондой эле сенсор көрсөткүчтөрдү ала албаса, эки сызыкчаны (-) кайтара турган шартыбыз бар.LAFVIN ESP32 Basic Starter Kit - окууларОкуулар сап түрү катары кайтарылат. Флотту сапка айландыруу үчүн String() функциясын колдонуңузLAFVIN ESP32 Basic Starter Kit - StringДемейки боюнча, биз температураны Цельсий градусунда окуп жатабыз. Температураны Фаренгейт градусунда алуу үчүн, температураны Цельсий боюнча комментарийлеңиз жана Фаренгейттеги температураны комментарийден чыгарыңыз, ошондо сизде төмөнкүлөр болот:LAFVIN ESP32 Basic Starter Kit - ФаренгейтLAFVIN ESP32 негизги башталгыч комплект - Фаренгейт 1Кодду жүктөө
Эми, кодду ESP32ге жүктөңүз. Туура такта жана COM порту тандалганын текшериңиз. Кодду жүктөө кадамдары.
Жүктөп бергенден кийин Сериялык мониторду 115200 берүү ылдамдыгы менен ачыңыз. ESP32 баштапкы абалга келтирүү баскычын басыңыз. ESP32 IP дареги сериялык түрдө басылышы керек монитор.LAFVIN ESP32 Basic Starter Kit - Кодду жүктөөДемонстрация
Браузерди ачып, ESP32 IP дарегин териңиз. Сиздин web сервер акыркы сенсор окууларын көрсөтүшү керек.
Эскертүү: Браузериңиз жана ESP32 бир LANга туташкан болушу керек.
Температуранын жана нымдуулуктун көрсөткүчтөрү жаңыртуунун зарылдыгы жок автоматтык түрдө жаңыртылганына көңүл буруңуз web бет.LAFVIN ESP32 Негизги Стартер комплекти - Демонстрация 1

Project_10_ESP32_OLED_Display

Бул долбоор Arduino IDE аркылуу ESP0.96 менен 1306 дюймдук SSD32 OLED дисплейди кантип колдонууну көрсөтөт.
0.96 дюймдук OLED дисплейди киргизүү
The OLED дисплей Бул окуу куралында биз колдоно турган SSD1306 модели: төмөнкү сүрөттө көрсөтүлгөндөй, 0.96×128 пикселдүү моноколор, 64 дюймдук дисплей.LAFVIN ESP32 Basic Starter Kit - OLEDDisplayOLED дисплейи арткы жарыкты талап кылбайт, бул караңгы чөйрөдө абдан жакшы контрастка алып келет. Кошумчалай кетсек, анын пикселдери күйүп турганда гана энергияны сарптайт, ошондуктан OLED дисплей башка дисплейлерге салыштырмалуу азыраак энергия керектейт.
OLED дисплейи I2C байланыш протоколун колдонгондуктан, зымдарды туташтыруу абдан жөнөкөй. Шилтеме катары төмөнкү таблицаны колдоно аласыз.

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

БУУнунLAFVIN ESP32 Basic Starter Kit - СхематикалыкSSD1306 OLED китепканасын орнотуу – ESP32
ESP32 менен OLED дисплейин башкаруу үчүн бир нече китепкана бар.
Бул окуу куралында биз эки Adafruit китепканасын колдонобуз: Adafruit_SSD1306 китепканасы жана Adafruit_GFX китепканасы.
Ошол китепканаларды орнотуу үчүн кийинки кадамдарды аткарыңыз.

  1. Arduino IDEиңизди ачып, Эскиз > Китепкананы кошуу > Китепканаларды башкаруу бөлүмүнө өтүңүз. Китепкана менеджери ачылышы керек.
  2. Издөө кутусуна "SSD1306" териңиз жана Adafruitтен SSD1306 китепканасын орнотуңуз.LAFVIN ESP32 Basic Starter Kit - OLEDLibrary–
  3. Adafruitтен SSD1306 китепканасын орноткондон кийин, издөө кутучасына "GFX" терип, китепкананы орнотуңуз.LAFVIN ESP32 Basic Starter Kit - китепкана
  4. Китепканаларды орноткондон кийин, Arduino IDEиңизди өчүрүп күйгүзүңүз.

Code
Керектүү китепканаларды орноткондон кийин, Project_10_ESP32_OLED_Display.ino arduino IDEде ачыңыз. код
Биз ESP32ди Arduino IDE аркылуу программалайбыз, андыктан улантуудан мурун ESP32 кошумчасы орнотулганын текшериңиз: (Эгер сиз бул кадамды жасаган болсоңуз, кийинки кадамга өтсөңүз болот.)
Arduino IDEде ESP32 кошумчасын орнотууLAFVIN ESP32 Негизги Стартер комплект - Код 1LAFVIN ESP32 Негизги Стартер комплект - Код 2LAFVIN ESP32 Негизги Стартер комплект - Код 3Кодекс кантип иштейт
Китепканаларды импорттоо
Биринчиден, керектүү китепканаларды импорттоо керек. I2C колдонуу үчүн Wire китепканасы жана дисплейге жазуу үчүн Adafruit китепканалары: Adafruit_GFX жана Adafruit_SSD1306.LAFVIN ESP32 Basic Starter Kit - Code Works 1LAFVIN ESP32 Basic Starter Kit - Code Works 2OLED дисплейин баштаңыз
Андан кийин, сиз OLED туурасын жана бийиктигин аныктайсыз. Бул эксample, биз 128×64 OLED дисплейди колдонуп жатабыз. Эгер башка өлчөмдөрдү колдонуп жатсаңыз, аны SCREEN_WIDTH жана SCREEN_HEIGHT өзгөрмөлөрүндө өзгөртө аласыз.LAFVIN ESP32 Basic Starter Kit - OLED дисплейАндан кийин, I2C байланыш протоколу (&Wire) менен мурда аныкталган туурасы жана бийиктиги менен дисплей объектисин инициализациялаңыз.LAFVIN ESP32 Basic Starter Kit - байланыш протоколу(-1) параметр OLED дисплейиңизде RESET пини жок экенин билдирет. Эгерде сиздин OLED дисплейиңизде RESET пини бар болсо, анда ал GPIO менен туташтырылган болушу керек. Бул учурда, сиз параметр катары GPIO номерин өткөрүшүңүз керек.
Орнотууда()да мүчүлүштүктөрдү оңдоо максатында Сериялык мониторду 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 - дисплей 1setTextColor() ыкмасы менен шрифт түсүн коюңуз:
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): текстти ылдыйкы сол бурчтан жогорку оң бурчка жылдыруу

Кодду жүктөө
Эми, кодду ESP32.Upload кодунун шилтеме кадамдарына жүктөңүз.
Код жүктөлгөндөн кийин, OLED сыдырма текстти көрсөтөт.LAFVIN ESP32 Basic Starter Kit - сыдырма текстLAFVIN логотиби

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

LAFVIN ESP32 негизги башталгыч комплект [pdf] Instruction Manual
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *