LAFVIN loqosuESP32 Əsas Başlanğıc
Kit

Qablaşdırma Siyahısı

LAFVIN ESP32 Əsas Başlanğıc Dəsti - Qablaşdırma Siyahısı

ESP32 Giriş

ESP32-də yenisiniz? Buradan başlayın! ESP32, Espressif tərəfindən hazırlanmış, Wi-Fi və Bluetooth simsiz imkanları və ikinüvəli prosessoru özündə birləşdirən bir çip üzərində (SoC) mikrokontrollerlər seriyasıdır. ESP8266 ilə tanışsınızsa, ESP32 çoxlu yeni funksiyalarla yüklənmiş onun varisidir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ESP32 GirişESP32 Spesifikasiyaları
Bir az daha texniki və spesifik olmaq istəyirsinizsə, ESP32-nin aşağıdakı ətraflı spesifikasiyalarına nəzər sala bilərsiniz (mənbə: http://esp32.net/)-ətraflı məlumat üçün, məlumat cədvəlini yoxlayın):

  • Simsiz bağlantı WiFi: HT150.0 ilə 40 Mbps məlumat sürəti
  • Bluetooth: BLE (Bluetooth Low Energy) və Bluetooth Classic
  • Prosessor: Tensilica Xtensa Dual-Core 32-bit LX6 mikroprosessor, 160 və ya 240 MHz tezliyində işləyir
  • Yaddaş:
  • ROM: 448 KB (yükləmə və əsas funksiyalar üçün)
  • SRAM: 520 KB (məlumat və təlimatlar üçün)
  • RTC fas SRAM: 8 KB (dərin yuxu rejimindən RTC yükləmə zamanı məlumatların saxlanması və əsas CPU üçün)
  • RTC yavaş SRAM: 8KB (dərin yuxu rejimində birgə prosessor girişi üçün) eFuse: 1 Kbit (bundan 256 bit sistem üçün istifadə olunur (MAC ünvanı və çip konfiqurasiyası) və qalan 768 bit müştəri proqramları üçün qorunur, o cümlədən Flash-Şifrələmə və Chip-ID)

Daxili flaş: ESP16-D17WD və ESP0-PICO-D1-də IO32, IO2, SD_CMD, SD_CLK, SD_DATA_32 və SD_DATA_4 vasitəsilə daxili qoşulmuş flaş.

  • 0 MiB (ESP32-D0WDQ6, ESP32-D0WD və ESP32-S0WD çipləri)
  • 2 MiB (ESP32-D2WD çipi)
  • 4 MiB (ESP32-PICO-D4 SiP modulu)

Aşağı Güc: məsələn, ADC dönüşümlərindən hələ də istifadə edə biləcəyinizi təmin edirample, dərin yuxu zamanı.
Periferik Giriş/Çıxış:

  • kapasitiv toxunuşu ehtiva edən DMA ilə periferik interfeys
  • ADC (Analoqdan Rəqəmə Çevirici)
  • DAC (Rəqəmdən Analoqa çevirici)
  • I²C (Integrated Circuit)
  • UART (Universal asinxron qəbuledici/ötürücü)
  • SPI (Serial Periferik İnterfeys)
  • I²S (Integrated Interchip Sound)
  • RMII (Azaldılmış Media-Müstəqil İnterfeys)
  • PWM (Pulse-Width Modulation)

Təhlükəsizlik: AES və SSL/TLS üçün aparat sürətləndiriciləri

ESP32 İnkişaf lövhələri

ESP32 çılpaq ESP32 çipinə aiddir. Bununla birlikdə, "ESP32" termini ESP32 inkişaf lövhələrinə istinad etmək üçün də istifadə olunur. ESP32 çılpaq çiplərindən istifadə asan və praktik deyil, xüsusən də öyrənərkən, sınaqdan keçirərkən və prototip hazırlayarkən. Çox vaxt siz ESP32 inkişaf lövhəsindən istifadə etmək istərdiniz.
Biz ESP32 DEVKIT V1 lövhəsindən istinad kimi istifadə edəcəyik. Aşağıdakı şəkildə 32 GPIO pinli versiya olan ESP1 DEVKIT V30 lövhəsi göstərilir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ESP32 İnkişaf lövhələriSpesifikasiyalar – ESP32 DEVKIT V1
Aşağıdakı cədvəl ESP32 DEVKIT V1 DOIT lövhəsinin xüsusiyyətləri və spesifikasiyalarının xülasəsini göstərir:

Nüvələrin sayı 2 (iki nüvəli)
Wi-Fi 2.4 GHz-dən 150 Mbit/s-ə qədər
Bluetooth BLE (Bluetooth Low Energy) və köhnə Bluetooth
Memarlıq 32 bit
Saat tezliyi 240 MHz-ə qədər
RAM 512 KB
Sancaqlar 30 (modeldən asılı olaraq)
Periferik qurğular Kapasitif toxunma, ADC (analoqdan rəqəmsal çeviriciyə), DAC (rəqəmdən analoqa çeviriciyə), 12C (Integrated Circuit), UART (universal asinxron qəbuledici/ötürücü), CAN 2.0 (Controller Area Netwokr), SPI (Serial Periferik İnterfeys) , 12S (Integrated Inter-IC
Səs), RMII (Azaldılmış Media-Müstəqil İnterfeys), PWM (pulse eninin modulyasiyası) və s.
Quraşdırılmış düymələr RESET və BOOT düymələri
Daxili LEDlər GPIO2-ə qoşulmuş daxili mavi LED; lövhəyə enerji verildiyini göstərən daxili qırmızı LED
USB-dən UART-a
körpü
CP2102

LAFVIN ESP32 Əsas Başlanğıc Dəsti - ESP32 DEVKITO, kodu yükləmək və ya güc tətbiq etmək üçün lövhəni kompüterinizə qoşmaq üçün istifadə edə biləcəyiniz microUSB interfeysi ilə gəlir.
O, serial interfeysdən istifadə edərək COM portu vasitəsilə kompüterinizlə əlaqə saxlamaq üçün CP2102 çipindən (USB-dən UART-a) istifadə edir. Digər məşhur çip CH340-dır. Lövhənizdə USB-UART çip çeviricisinin nə olduğunu yoxlayın, çünki kompüterinizin lövhə ilə əlaqə qura bilməsi üçün tələb olunan sürücüləri quraşdırmalı olacaqsınız (bu barədə daha ətraflı məlumat bu təlimatda daha sonra).
Bu lövhədə həmçinin lövhəni yenidən işə salmaq üçün RESET düyməsi (EN etiketi ilə qeyd oluna bilər) və lövhəni yanıb-sönən rejimə keçirmək üçün BOOT düyməsi (kodu qəbul etmək mümkündür) ilə təchiz edilmişdir. Qeyd edək ki, bəzi lövhələrdə BOOT düyməsi olmaya bilər.
O, həmçinin daxili olaraq GPIO 2-yə qoşulmuş mavi LED ilə təchiz edilmişdir. Bu LED bir növ vizual fiziki çıxış vermək üçün sazlama üçün faydalıdır. Lövhəni enerji ilə təmin etdiyiniz zaman yanan qırmızı LED də var.LAFVIN ESP32 Basic Starter Kit -boardESP32 Pin çıxışı
ESP32 periferiyasına aşağıdakılar daxildir:

  • 18 Analoqdan Rəqəmə Çevirici (ADC) kanalı
  • 3 SPI interfeysi
  • 3 UART interfeysi
  • 2 I2C interfeysi
  • 16 PWM çıxış kanalı
  • 2 Rəqəmsaldan Analoqa çevirici (DAC)
  • 2 I2S interfeysi
  • 10 Kapasitiv həssas GPIO

ADC (analoqdan rəqəmsal çeviriciyə) və DAC (rəqəmdən analoqa çeviriciyə) xüsusiyyətləri xüsusi statik pinlərə təyin edilmişdir. Bununla belə, hansı pinlərin UART, I2C, SPI, PWM və s. olduğuna qərar verə bilərsiniz – sadəcə onları kodda təyin etməlisiniz. Bu, ESP32 çipinin multipleksləmə xüsusiyyəti sayəsində mümkündür.
Proqramda sancaqlar xassələrini təyin edə bilsəniz də, aşağıdakı şəkildə göstərildiyi kimi standart olaraq təyin edilmiş sancaqlar var.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ESP32 PinoutƏlavə olaraq, onları müəyyən bir layihə üçün uyğun və ya uyğun olmayan xüsusi xüsusiyyətləri olan sancaqlar var. Aşağıdakı cədvəldə hansı sancaqların giriş, çıxış kimi istifadə etmək daha yaxşı olduğu və hansılarından ehtiyatlı olmaq lazım olduğu göstərilir.
Yaşıl rənglə vurğulanan sancaqlar istifadə üçün uyğundur. Sarı rənglə vurğulananlar istifadə üçün uyğundur, lakin diqqət etməlisiniz, çünki onlar əsasən yükləmə zamanı gözlənilməz davranışa səbəb ola bilər. Qırmızı rənglə vurğulanan sancaqların giriş və ya çıxış kimi istifadə edilməsi tövsiyə edilmir.

GP IO Giriş Çıxış Qeydlər
0 yuxarı çəkdi OK yükləmə zamanı PWM siqnalını çıxarır, yanıb-sönən rejimə daxil olmaq üçün LOW olmalıdır
1 TX pin OK yükləmə zamanı debug çıxışı
2 OK OK on-board LED-ə qoşulmuşdur, yanıb-sönən rejimə daxil olmaq üçün üzən və ya LOW olmalıdır
3 OK RX pin Yükləmə zamanı YÜKSƏK
4 OK OK
5 OK OK yükləmə zamanı PWM siqnalını verir, bağlama pin
12 OK OK çəkmə yüksək, bağlama pininə çəkildikdə uğursuz olur
13 OK OK
14 OK OK yükləmə zamanı PWM siqnalını çıxarır
15 OK OK yükləmə zamanı PWM siqnalını verir, bağlama pin
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK yalnız giriş
35 OK yalnız giriş
36 OK yalnız giriş
39 OK yalnız giriş

ESP32 GPIO-ların və onun funksiyalarının daha ətraflı və dərin təhlili üçün oxumağa davam edin.
Yalnız pinləri daxil edin
34-dən 39-a qədər olan GPIO-lar GPI-lərdir – yalnız giriş pinləri. Bu sancaqlarda daxili açılan və ya aşağı açılan rezistorlar yoxdur. Onlar çıxış kimi istifadə edilə bilməz, ona görə də bu pinləri yalnız giriş kimi istifadə edin:

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

ESP-WROOM-32-ə inteqrasiya olunmuş SPI flash
GPIO 6-dan GPIO 11-ə qədər bəzi ESP32 inkişaf lövhələrində ifşa olunur. Bununla belə, bu sancaqlar ESP-WROOM-32 çipindəki inteqrasiya olunmuş SPI flaşına qoşulur və digər istifadələr üçün tövsiyə edilmir. Beləliklə, layihələrinizdə bu sancaqlardan istifadə etməyin:

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

Kapasitiv toxunma GPIO-ları
ESP32-də 10 daxili kapasitiv toxunma sensoru var. Bunlar insan dərisi kimi elektrik yükü olan hər şeydə dəyişiklikləri hiss edə bilər. Beləliklə, onlar GPIO-lara barmaqla toxunduqda yaranan dəyişiklikləri aşkar edə bilirlər. Bu sancaqlar asanlıqla kapasitiv yastıqlara birləşdirilə və mexaniki düymələri əvəz edə bilər. Kapasitiv toxunma sancaqları ESP32-ni dərin yuxudan oyatmaq üçün də istifadə edilə bilər. Həmin daxili toxunma sensorları bu GPIO-lara qoşulur:

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

Analoqdan Rəqəmsal Çeviriciyə (ADC)
ESP32-də 18 x 12 bit ADC giriş kanalı var (ESP8266-da yalnız 1x 10 bit ADC var). Bunlar ADC və müvafiq kanallar kimi istifadə edilə bilən GPIO-lardır:

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

Qeyd: Wi-Fi istifadə edildikdə ADC2 pinləri istifadə edilə bilməz. Beləliklə, əgər siz Wi-Fi istifadə edirsinizsə və ADC2 GPIO-dan dəyər əldə etməkdə çətinlik çəkirsinizsə, bunun əvəzinə ADC1 GPIO-dan istifadə etməyi düşünə bilərsiniz. Bu, probleminizi həll etməlidir.
ADC giriş kanalları 12 bitlik qətnaməyə malikdir. Bu o deməkdir ki, 0-dan 4095-ə qədər olan analoq oxunuşları əldə edə bilərsiniz, burada 0 0V və 4095-dən 3.3V-ə uyğundur. Siz həmçinin kod və ADC diapazonunda kanallarınızın həllini təyin edə bilərsiniz.
ESP32 ADC pinlərinin xətti davranışı yoxdur. Yəqin ki, siz 0 və 0.1V və ya 3.2 ilə 3.3V arasında fərqi ayıra bilməyəcəksiniz. ADC pinlərindən istifadə edərkən bunu yadda saxlamalısınız. Aşağıdakı şəkildə göstərilənə bənzər bir davranış alacaqsınız.LAFVIN ESP32 Əsas Başlanğıc Dəsti - davranışRəqəmsaldan Analoqa çevirici (DAC)
Rəqəmsal siqnalları analoq səsə çevirmək üçün ESP2-də 8 x 32 bit DAC kanalı vartage siqnal çıxışları. Bunlar DAC kanallarıdır:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO-ları
ESP32-də RTC GPIO dəstəyi var. RTC aşağı güc alt sisteminə yönləndirilmiş GPIO-lar ESP32 dərin yuxu rejimində olduqda istifadə edilə bilər. Bu RTC GPIO-ları Ultra Low olduqda ESP32-ni dərin yuxudan oyatmaq üçün istifadə edilə bilər
Güc (ULP) birgə prosessoru işləyir. Aşağıdakı GPIO-lar xarici oyandırma mənbəyi kimi istifadə edilə bilər.

  • 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 nəzarətçisi müxtəlif xüsusiyyətlərə malik PWM siqnalları yaratmaq üçün konfiqurasiya edilə bilən 16 müstəqil kanala malikdir. Çıxış kimi çıxış edə bilən bütün pinlər PWM sancaqları kimi istifadə edilə bilər (34-39 GPIO-lar PWM yarada bilməz).
PWM siqnalını təyin etmək üçün kodda bu parametrləri təyin etməlisiniz:

  • Siqnal tezliyi;
  • Vəzifə dövrü;
  • PWM kanalı;
  • Siqnal çıxarmaq istədiyiniz GPIO.

I2C
ESP32 iki I2C kanalına malikdir və istənilən pin SDA və ya SCL kimi təyin edilə bilər. ESP32-ni Arduino IDE ilə istifadə edərkən standart I2C pinləri bunlardır:

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

Tel kitabxanasından istifadə edərkən digər sancaqlardan istifadə etmək istəyirsinizsə, sadəcə zəng etməlisiniz:
Wire.begin(SDA, SCL);
SPI
Varsayılan olaraq, SPI üçün pin xəritəsi:

SPI MOSI MİSO CLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

Fasilələr
Bütün GPIO-lar fasilələr kimi konfiqurasiya edilə bilər.
Bağlayıcı sancaqlar
ESP32 çipində aşağıdakı bağlama sancaqları var:

  • GPIO 0 (yükləmə rejiminə daxil olmaq üçün LOW olmalıdır)
  • GPIO 2 (yükləmə zamanı üzən və ya LOW olmalıdır)
  • GPIO 4
  • GPIO 5 (yükləmə zamanı YÜKSƏK olmalıdır)
  • GPIO 12 (yükləmə zamanı LOW olmalıdır)
  • GPIO 15 (yükləmə zamanı YÜKSƏK olmalıdır)

Bunlar ESP32-ni yükləyici və ya yanıb-sönən rejimə qoymaq üçün istifadə olunur. Daxili USB/Serial olan əksər inkişaf lövhələrində bu pinlərin vəziyyətindən narahat olmaq lazım deyil. Lövhə sancaqları yanıb-sönmə və ya yükləmə rejimi üçün düzgün vəziyyətə qoyur. ESP32 Boot Mode Selection haqqında daha çox məlumatı burada tapa bilərsiniz.
Bununla belə, bu sancaqlara qoşulmuş periferiya qurğularınız varsa, yeni kodu yükləməyə çalışmaqda, ESP32-ni yeni proqram təminatı ilə yandırmaqda və ya lövhəni sıfırlamaqda çətinlik çəkə bilərsiniz. Əgər kəmər sancaqlarına qoşulmuş bəzi periferiya qurğularınız varsa və kodu yükləməkdə və ya ESP32-ni yandırmaqda problem yaşayırsınızsa, bu, həmin periferiyaların ESP32-nin düzgün rejimə daxil olmasına mane olması ola bilər. Sizi düzgün istiqamətə yönəltmək üçün Boot Mode Selection sənədlərini oxuyun. Sıfırladıqdan, yanıb-sönəndən və ya yükləndikdən sonra bu sancaqlar gözlənildiyi kimi işləyir.
Yükləmə zamanı YÜKSƏK sancaqlar
Bəzi GPIO-lar yükləmə və ya sıfırlama zamanı vəziyyətlərini YÜKSEK vəziyyətə dəyişdirir və ya PWM siqnallarını çıxarır.
Bu o deməkdir ki, bu GPIO-lara qoşulmuş çıxışlarınız varsa, ESP32 sıfırlandıqda və ya işə salındıqda gözlənilməz nəticələr əldə edə bilərsiniz.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6-dan GPIO 11-ə qədər (ESP32 inteqrasiya olunmuş SPI flash yaddaşına qoşulub – istifadə etmək tövsiyə edilmir).
  • GPIO 14
  • GPIO 15

Aktivləşdirin (EN)
Enable (EN) 3.3V tənzimləyicinin aktivləşdirmə pinidir. O, yuxarı çəkilib, ona görə də 3.3V tənzimləyicini söndürmək üçün yerə qoşulun. Bu o deməkdir ki, siz ESP32-ni yenidən işə salmaq üçün düyməyə qoşulmuş bu pindən istifadə edə bilərsiniz, məsələnample.
GPIO cərəyanı çəkildi
GPIO üçün çəkilən mütləq maksimum cərəyan ESP40 məlumat cədvəlindəki “Tövsiyə olunan əməliyyat şərtləri” bölməsinə uyğun olaraq 32mA-dır.
ESP32 Daxili Hall Effekt Sensoru
ESP32 həmçinin ətrafdakı maqnit sahəsindəki dəyişiklikləri aşkar edən daxili holl effekti sensoruna malikdir.
ESP32 Arduino IDE
Arduino IDE üçün Arduino IDE və onun proqramlaşdırma dilindən istifadə edərək ESP32-ni proqramlaşdırmağa imkan verən əlavə var. Bu dərslikdə sizə Windows, Mac OS X və ya Linux istifadə etməyinizdən asılı olmayaraq Arduino IDE-də ESP32 lövhəsini necə quraşdıracağınızı göstərəcəyik.
Tələblər: Arduino IDE quraşdırılıb
Bu quraşdırma proseduruna başlamazdan əvvəl kompüterinizdə Arduino IDE quraşdırılmış olmalıdır. Quraşdıra biləcəyiniz Arduino IDE-nin iki versiyası var: versiya 1 və versiya 2.
Arduino IDE-ni aşağıdakı linkə klikləməklə yükləyə və quraşdıra bilərsiniz: arduino.cc/en/Main/Software
Hansı Arduino IDE versiyasını tövsiyə edirik? Hazırda bəziləri var plugins ESP32 üçün (SPIFFS kimi Filesystem Uploader Plugin) hələ Arduino 2-də dəstəklənmir. Beləliklə, gələcəkdə SPIFFS plaginindən istifadə etmək niyyətindəsinizsə, köhnə versiya 1.8.X-i quraşdırmağı tövsiyə edirik. Onu tapmaq üçün sadəcə Arduino proqram səhifəsində aşağı diyirləməlisiniz.
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
ESP32 lövhəsini Arduino IDE-də quraşdırmaq üçün aşağıdakı təlimatları izləyin:

  1. Arduino IDE-də gedin File> ÜstünlüklərLAFVIN ESP32 Əsas Başlanğıc Dəsti - Üstünlüklər
  2. “Əlavə Şura Meneceri”nə aşağıdakıları daxil edin URLs" sahəsi:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Sonra, "OK" düyməsini basın:LAFVIN ESP32 Əsas Başlanğıc Dəsti - “OK” düyməsiQeyd: Əgər siz artıq ESP8266 lövhələriniz varsa URL, ayıra bilərsiniz URLs vergüllə aşağıdakı kimi:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Lövhələr Menecerini açın. Alətlər > Lövhə > Lövhə meneceri…LAFVIN ESP32 Əsas Başlanğıc Dəsti - Espressifaxtarın ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Əsas Başlanğıc Dəsti - Espressifbu qədər. Bir neçə saniyədən sonra quraşdırılmalıdır.LAFVIN ESP32 Basic Starter Kit - quraşdırılmışdır

Test kodunu yükləyin

ESP32 lövhəsini kompüterinizə qoşun. Arduino IDE açıq halda bu addımları yerinə yetirin:

  1. Alətlər > Lövhə menyusunda lövhənizi seçin (mənim vəziyyətimdə bu, ESP32 DEV Moduludur)LAFVIN ESP32 Əsas Başlanğıc Dəsti - Alətlər Paneli
  2. Portu seçin (Arduino IDE-də COM Portunu görmürsünüzsə, CP210x USB-dən UART Bridge VCP Sürücülərinə quraşdırmalısınız):LAFVIN ESP32 Əsas Başlanğıc Dəsti - UART Bridge
  3. Aşağıdakı keçmişi açınample altında File > Məsamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Əsas Başlanğıc Dəsti - WiFiScanLAFVIN ESP32 Əsas Başlanğıc Dəsti - WiFiScan 1
  4. Arduino IDE-də yeni eskiz açılır:LAFVIN ESP32 Əsas Başlanğıc Dəsti - Arduino IDE
  5. Arduino IDE-də Yüklə düyməsini basın. Kod tərtib olunana və lövhənizə yüklənənə qədər bir neçə saniyə gözləyin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - lövhə
  6. Hər şey gözlənildiyi kimi getdisə, "Yükləmə tamamlandı" görməlisiniz. mesaj.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Yükləmə tamamlandı
  7. Arduino IDE Serial Monitoru 115200 ötürmə sürətində açın:LAFVIN ESP32 Əsas Başlanğıc Dəsti - Monitor
  8. ESP32 on-board Enable düyməsini basın və siz ESP32-nin yaxınlığında mövcud şəbəkələri görməlisiniz:LAFVIN ESP32 Əsas Başlanğıc Dəsti - Aktivləşdirmə düyməsi

Problemlərin aradan qaldırılması

ESP32-yə yeni eskiz yükləməyə cəhd etsəniz və bu xəta mesajını alsanız, “Öldürücü xəta baş verdi: ESP32-yə qoşulmaq mümkün olmadı: Vaxt bitdi… Qoşulur…”. Bu o deməkdir ki, ESP32 yanıb-sönən/yükləmə rejimində deyil.
Düzgün lövhə adını və COM portunu seçdikdən sonra bu addımları yerinə yetirin:
ESP32 lövhənizdə “BOOT” düyməsini basıb saxlayınLAFVIN ESP32 Əsas Başlanğıc Dəsti - “BOOT”

  • Eskizinizi yükləmək üçün Arduino IDE-də “Yüklə” düyməsini basın:LAFVIN ESP32 Əsas Başlanğıc Dəsti - ICON 6
  • "Qoşulur..." yazısını gördükdən sonra. Arduino IDE-də mesaj göndərmək üçün barmağınızı “BOOT” düyməsindən buraxın:LAFVIN ESP32 Əsas Başlanğıc Dəsti - “Yükləmə tamamlandı
  • Bundan sonra "Yükləmə tamamlandı" mesajını görməlisiniz
    bu qədər. ESP32-də yeni eskiz işləməlidir. ESP32-ni yenidən başlatmaq və yeni yüklənmiş eskizi işə salmaq üçün “ENABLE” düyməsini basın.
    Siz həmçinin hər dəfə yeni eskiz yükləmək istədiyiniz zaman həmin düymə ardıcıllığını təkrarlamalı olacaqsınız.

Layihə 1 ESP32 Girişlər Çıxışlar

Bu başlanğıc təlimatında siz Arduino IDE ilə ESP32-dən istifadə edərək düymə açarı kimi rəqəmsal girişləri necə oxumağı və LED kimi rəqəmsal çıxışları idarə etməyi öyrənəcəksiniz.
İlkin şərtlər
Arduino IDE istifadə edərək ESP32-ni proqramlaşdıracağıq. Beləliklə, davam etməzdən əvvəl ESP32 lövhələri əlavəsinin quraşdırıldığından əmin olun:

  • Arduino IDE-də ESP32 Əlavəsinin quraşdırılması

ESP32 Rəqəmsal Çıxışlara Nəzarət
Əvvəlcə nəzarət etmək istədiyiniz GPIO-nu ÇIXIŞ kimi təyin etməlisiniz. pinMode() funksiyasından aşağıdakı kimi istifadə edin:
pinMode (GPIO, OUTPUT);
Rəqəmsal çıxışa nəzarət etmək üçün sadəcə olaraq arqument kimi qəbul edən digitalWrite() funksiyasından, istinad etdiyiniz GPIO (int nömrəsi) və ya YÜKSƏK və ya LOW vəziyyətini istifadə etməlisiniz.
digitalWrite (GPIO, STATE);
6-dan 11-ə qədər GPIO (inteqrasiya edilmiş SPI flaşına qoşulmuşdur) və GPIO 34, 35, 36 və 39 (yalnız daxil olan GPIO-lar) istisna olmaqla, bütün GPIO-lar çıxış kimi istifadə edilə bilər;
ESP32 GPIO-lar haqqında ətraflı məlumat əldə edin: ESP32 GPIO Referans Bələdçisi
ESP32 Rəqəmsal Girişləri Oxu
Əvvəlcə pinMode() funksiyasından istifadə edərək aşağıdakı kimi oxumaq istədiyiniz GPIO-nu INPUT kimi təyin edin:
pinMode (GPIO, INPUT);
Rəqəmsal girişi oxumaq üçün düymə kimi siz istinad etdiyiniz GPIO (int nömrəsi) arqument kimi qəbul edilən digitalRead() funksiyasından istifadə edirsiniz.
digitalRead (GPIO);
32-dan 6-ə qədər GPIO-lar (inteqrasiya edilmiş SPI flaşına qoşulmuş) istisna olmaqla, bütün ESP11 GPIO-lar giriş kimi istifadə edilə bilər.
ESP32 GPIO-lar haqqında ətraflı məlumat əldə edin: ESP32 GPIO Referans Bələdçisi
Layihə Example
Rəqəmsal girişləri və rəqəmsal çıxışları necə istifadə edəcəyinizi göstərmək üçün biz sadə bir layihə hazırlayacağıqampbir düymə və LED ilə. Aşağıdakı şəkildə göstərildiyi kimi, düymənin vəziyyətini oxuyacağıq və müvafiq olaraq LED-i yandıracağıq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Layihə Example

Tələb olunan hissələr
Budur, dövrə qurmaq üçün lazım olan hissələrin siyahısı:

  • ESP32 DEVKIT V1
  • 5 mm LED
  • 220 Ohm müqavimət
  • Düymə
  • 10k Ohm rezistor
  • Çörək lövhəsi
  • Jumper telləri

Sxematik diaqram
Davam etməzdən əvvəl, bir LED və bir düymə ilə bir dövrə yığmaq lazımdır.
Biz LED-i GPIO 5-ə, düyməni isə GPIO-ya bağlayacağıq 4.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Sxematik DiaqramKod
Arduino IDE-də Project_1_ESP32_Inputs_Outputs.ino kodunu açınLAFVIN ESP32 Əsas Başlanğıc Dəsti - KodLAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 1Kodeks Necə İşləyir
Aşağıdakı iki sətirdə pin təyin etmək üçün dəyişənlər yaradırsınız:

LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod işləyirDüymə GPIO 4-ə, LED isə GPIO 5-ə qoşulub. Arduino IDE-ni ESP32 ilə istifadə edərkən, 4 GPIO 4-ə, 5 isə GPIO 5-ə uyğun gəlir.
Sonra, düymə vəziyyətini saxlamaq üçün dəyişən yaradırsınız. Varsayılan olaraq, 0-dır (basılmır).
int düyməsiState = 0;
Setup()-da siz düyməni GİRİŞ kimi, LED-i isə ÇIXIŞ kimi işə salırsınız.
Bunun üçün siz istinad etdiyiniz pin-i qəbul edən pinMode() funksiyasından və rejimdən istifadə edirsiniz: INPUT və ya OUTPUT.
pinMode(düyməPin, INPUT);
pinMode(ledPin, OUTPUT);
Döngədə () düymənin vəziyyətini oxuduğunuz və LED-i müvafiq olaraq təyin etdiyiniz yerdir.
Növbəti sətirdə siz düymənin vəziyyətini oxuyursunuz və onu buttonState dəyişənində saxlayırsınız.
Daha əvvəl gördüyümüz kimi, siz digitalRead() funksiyasından istifadə edirsiniz.
buttonState = digitalRead(buttonPin);
Aşağıdakı if ifadəsi düymənin vəziyyətinin YÜKSƏK olub-olmadığını yoxlayır. Əgər belədirsə, o, ledPin və YÜKSƏK vəziyyətini arqument kimi qəbul edən digitalWrite() funksiyasından istifadə edərək LED-i yandırır.
əgər (buttonState == YÜKSƏK)LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod işləyir 1Əgər düymənin vəziyyəti YÜKSƏK deyilsə, siz LED-i söndürəcəksiniz. DigitalWrite() funksiyasında LOW-u ikinci arqument kimi təyin edin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - digitalWriteKodun yüklənməsi
Yükləmə düyməsini klikləməzdən əvvəl Alətlər > Lövhəyə keçin və lövhəni seçin: DOIT ESP32 DEVKIT V1 lövhəsi.
Alətlər > Porta gedin və ESP32-nin qoşulduğu COM portunu seçin. Sonra yükləmə düyməsini basın və “Yükləmə tamamlandı” mesajını gözləyin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ICON 7Qeyd: Sazlama pəncərəsində çoxlu nöqtə (qoşulur…__…__) və “ESP32-yə qoşulmaq mümkün olmadı: Paket başlığını gözləmək vaxtı bitdi” mesajını görürsünüzsə, bu o deməkdir ki, siz ESP32-nin bortda BOOT düyməsini sıxmalısınız. nöqtələrdən sonra düymə
görünməyə başlayın. Problemlərin aradan qaldırılması

Nümayiş

Kodu yüklədikdən sonra dövrənizi sınayın. Düyməni basdığınız zaman LED yanmalıdır:LAFVIN ESP32 Əsas Başlanğıc Dəsti - NümayişVə buraxdığınız zaman söndürün:LAFVIN ESP32 Əsas Başlanğıc Dəsti - açın

Layihə 2 ESP32 Analoq Girişlər

Bu layihə Arduino IDE istifadə edərək ESP32 ilə analoq girişlərin necə oxunacağını göstərir.
Analoq oxu potensiometrlər və ya analoq sensorlar kimi dəyişən rezistorlardan dəyərləri oxumaq üçün faydalıdır.
Analoq Girişlər (ADC)
ESP32 ilə analoq dəyərin oxunması müxtəlif həcmləri ölçə biləcəyiniz deməkdirtage səviyyələri 0 V ilə 3.3 V arasındadır.
CildtagÖlçülən e daha sonra 0 ilə 4095 arasındakı qiymətə təyin edilir, burada 0 V 0-a, 3.3 V isə 4095-ə uyğundur. İstənilən həcmtage 0 V ilə 3.3 V arasında olanlar arasında müvafiq dəyər veriləcək.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Analoq GirişlərADC qeyri-xəttidir
İdeal olaraq, ESP32 ADC pinlərindən istifadə edərkən xətti davranış gözləyərdiniz.
Lakin, bu baş vermir. Alacağınız şey aşağıdakı diaqramda göstərildiyi kimi bir davranışdır:LAFVIN ESP32 Əsas Başlanğıc Dəsti - Qeyri-xəttiBu davranış o deməkdir ki, ESP32 3.3 V-ni 3.2 V-dan ayıra bilmir.
Hər iki cild üçün eyni dəyəri əldə edəcəksiniztages: 4095.
Eyni şey çox aşağı həcmdə olurtage dəyərləri: 0 V və 0.1 V üçün eyni dəyəri alacaqsınız: 0. ESP32 ADC pinlərindən istifadə edərkən bunu yadda saxlamalısınız.
analogRead() funksiyası
Arduino IDE-dən istifadə edərək ESP32 ilə analoq girişi oxumaq analogRead() funksiyasından istifadə etmək qədər sadədir. Oxumaq istədiyiniz GPIO-nu arqument kimi qəbul edir:
analogRead (GPIO);
DEVKIT V15board-da yalnız 1-i mövcuddur (30 GPIO-lu versiya).
ESP32 lövhəsinin pinoutunu tutun və ADC sancaqlarını tapın. Bunlar aşağıdakı şəkildə qırmızı haşiyə ilə vurğulanır.LAFVIN ESP32 Əsas Başlanğıc Dəsti - haşiyəBu analoq giriş pinləri 12 bitlik qətnaməyə malikdir. Bu o deməkdir ki, siz analoq girişi oxuduğunuz zaman onun diapazonu 0 ilə 4095 arasında dəyişə bilər.
Qeyd: Wi-Fi istifadə edildikdə ADC2 pinləri istifadə edilə bilməz. Beləliklə, Wi-Fi istifadə edirsinizsə və ADC2 GPIO-dan dəyər əldə etməkdə çətinlik çəkirsinizsə, bunun əvəzinə ADC1 GPIO-dan istifadə etməyi düşünə bilərsiniz, bu, probleminizi həll etməlidir.
Hər şeyin bir-birinə necə bağlandığını görmək üçün sadə bir keçmiş edəcəyikamppotensiometrdən analoq dəyəri oxumaq üçün.
Tələb olunan hissələr
Bunun üçün məsələnample, aşağıdakı hissələrə ehtiyacınız var:

  • ESP32 DEVKIT V1 lövhəsi
  • Potansiyometresi
  • Çörək lövhəsi
  • Jumper telləri

Sxematik
ESP32-yə bir potensiometr bağlayın. Potensiometrin orta sancağı GPIO 4-ə qoşulmalıdır. Siz aşağıdakı sxematik diaqramdan istinad kimi istifadə edə bilərsiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - SxematikKod
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
Arduino IDE-də Project_2_ESP32_Inputs_Outputs.ino kodunu açınLAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 2Bu kod sadəcə olaraq potensiometrdəki dəyərləri oxuyur və bu dəyərləri Serial Monitorda çap edir.
Kodda siz potensiometrin qoşulduğu GPIO-nu təyin etməklə başlayırsınız. Bu keçmişdəample, GPIO 4.LAFVIN ESP32 Əsas Başlanğıc Dəsti - məsampleSetup()-da 115200 ötürmə sürətində serial rabitəni işə salın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - məsample 1Loop()-da potPin-dən analoq girişi oxumaq üçün analogRead() funksiyasından istifadə edin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - məsample 2Nəhayət, seriyalı monitorda potensiometrdən oxunan dəyərləri çap edin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - məsample 3Təqdim olunan kodu ESP32-yə yükləyin. Alətlər menyusunda düzgün lövhənin və COM portunun seçildiyinə əmin olun.
Ex sınaqdan keçirilirample
Kodu yüklədikdən və ESP32 sıfırlama düyməsini basdıqdan sonra Serial Monitoru 115200 ötürmə sürətində açın. Potensiometri fırladın və dəyərlərin dəyişməsinə baxın.Alacağınız maksimum dəyər 4095, minimum dəyər isə 0-dır.LAFVIN ESP32 Basic Starter Kit -maksimum dəyər

Sarma

Bu yazıda siz Arduino IDE ilə ESP32-dən istifadə edərək analoq girişləri necə oxumağı öyrəndiniz. Xülasə:

  • ESP32 DEVKIT V1 DOIT lövhəsi (30 pinli versiya) analoq girişləri oxumaq üçün istifadə edə biləcəyiniz 15 ADC pininə malikdir.
  • Bu sancaqlar 12 bit ayırdetmə qabiliyyətinə malikdir, yəni 0-dan 4095-ə qədər dəyərlər əldə edə bilərsiniz.
  • Arduino IDE-də dəyəri oxumaq üçün sadəcə analogRead() funksiyasından istifadə edirsiniz.
  • ESP32 ADC pinlərinin xətti davranışı yoxdur. Yəqin ki, siz 0 və 0.1V və ya 3.2 ilə 3.3V arasında fərqi ayıra bilməyəcəksiniz. ADC pinlərindən istifadə edərkən bunu yadda saxlamalısınız.

Layihə 3 ESP32 PWM (Analoq Çıxış)

Bu dərslikdə sizə Arduino IDE-dən istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını göstərəcəyik. Keçmiş kimiample biz ESP32-nin LED PWM nəzarətçisindən istifadə edərək LED-i tündləşdirən sadə bir dövrə quracağıq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - AnalogOutputESP32 LED PWM nəzarətçisi
ESP32 müxtəlif xüsusiyyətlərə malik PWM siqnalları yaratmaq üçün konfiqurasiya edilə bilən 16 müstəqil kanala malik LED PWM nəzarətçisinə malikdir.
Arduino IDE-dən istifadə edərək PWM ilə LED-i söndürmək üçün aşağıdakı addımları yerinə yetirməli olacaqsınız:

  1. Əvvəlcə bir PWM kanalı seçməlisiniz. 16-dan 0-ə qədər 15 kanal var.
  2. Sonra PWM siqnal tezliyini təyin etməlisiniz. Bir LED üçün 5000 Hz tezliyindən istifadə etmək yaxşıdır.
  3. Siz həmçinin siqnalın iş dövrü həllini təyin etməlisiniz: 1 ilə 16 bit arasında qətnaməniz var. Biz 8 bit ayırdetmədən istifadə edəcəyik, yəni siz 0-dan 255-ə qədər olan dəyərdən istifadə edərək LED parlaqlığını idarə edə bilərsiniz.
  4.  Sonra, siqnalın hansı GPIO və ya GPIO-larda görünəcəyini təyin etməlisiniz. Bunun üçün aşağıdakı funksiyadan istifadə edəcəksiniz:
    ledcAttachPin(GPIO, kanal)
    Bu funksiya iki arqument qəbul edir. Birincisi, siqnalı çıxaracaq GPIO, ikincisi isə siqnal yaradacaq kanaldır.
  5. Nəhayət, PWM istifadə edərək LED parlaqlığını idarə etmək üçün aşağıdakı funksiyadan istifadə edirsiniz:

ledcWrite(kanal, vəzifə dövrü)
Bu funksiya PWM siqnalını yaradan kanalı və iş dövrünü arqument kimi qəbul edir.
Tələb olunan hissələr
Bu təlimatı izləmək üçün bu hissələrə ehtiyacınız var:

  • ESP32 DEVKIT V1 lövhəsi
  • 5mm LED
  • 220 Ohm müqavimət
  •  Çörək lövhəsi
  • Jumper telləri

Sxematik
Aşağıdakı sxematik diaqramda olduğu kimi ESP32-yə bir LED naqil edin. LED GPIO-ya qoşulmalıdır 4.LAFVIN ESP32 Əsas Başlanğıc Dəsti - SxematikQeyd: siz istədiyiniz hər hansı bir pin istifadə edə bilərsiniz, yalnız bir çıxış kimi çıxış edə bilər. Çıxış kimi çıxış edə bilən bütün pinlər PWM sancaqları kimi istifadə edilə bilər. ESP32 GPIO-ları haqqında ətraflı məlumat üçün oxuyun: ESP32 Pinout Reference: Hansı GPIO pinlərindən istifadə etməlisiniz?
Kod
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
Arduino IDE-də Project_3_ESP32_PWM.ino kodunu açınLAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 3LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 4Siz LED-in qoşulduğu pin təyin etməklə başlayırsınız. Bu halda LED GPIO 4-ə əlavə olunur.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 5Sonra PWM siqnal xüsusiyyətlərini təyin edirsiniz. Siz 5000 Hz tezliyi təyin edirsiniz, siqnal yaratmaq üçün 0 kanalını seçirsiniz və 8 bitlik qətnamə təyin edirsiniz. Fərqli PWM siqnalları yaratmaq üçün bunlardan fərqli digər xassələri seçə bilərsiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 6Setup()-da siz LED PWM-ni arqumentlər kimi qəbul edən ledcSetup() funksiyasını, ledChannel-i, tezliyi və qətnaməni aşağıdakı kimi istifadə edərək əvvəllər təyin etdiyiniz xüsusiyyətlərlə konfiqurasiya etməlisiniz:LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 8Sonra, siqnal alacağınız GPIO-nu seçməlisiniz. Bunun üçün siqnalı almaq istədiyiniz GPIO-nu və siqnalı yaradan kanalı arqument kimi qəbul edən ledcAttachPin() funksiyasından istifadə edin. Bu keçmişdəample, biz GPIO 4-ə uyğun gələn ledPin GPIO-da siqnal alacağıq. Siqnal yaradan kanal 0 kanalına uyğun gələn ledChannel-dir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 9Döngüdə LED parlaqlığını artırmaq üçün iş dövrünü 0 ilə 255 arasında dəyişəcəksiniz.LAFVIN ESP32 Basic Starter Kit - parlaqlıqVə sonra, parlaqlığı azaltmaq üçün 255 ilə 0 arasında.LAFVIN ESP32 Əsas Başlanğıc Dəsti - parlaqlıq 1LED-in parlaqlığını təyin etmək üçün sadəcə olaraq siqnalı yaradan kanalı və iş dövrünü arqument kimi qəbul edən ledcWrite() funksiyasından istifadə etməlisiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - parlaqlıq 28-bit ayırdetmədən istifadə etdiyimiz üçün iş dövrü 0-dan 255-ə qədər olan dəyərdən istifadə etməklə idarə olunacaq. Qeyd edək ki, ledcWrite() funksiyasında biz GPIO-dan deyil, siqnalı yaradan kanaldan istifadə edirik.

Ex sınaqdan keçirilirample

Kodu ESP32-yə yükləyin. Düzgün lövhə və COM portunu seçdiyinizə əmin olun. Dövrənizə baxın. Parlaqlığı artıran və azaldan bir dimmer LED olmalıdır.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Example

Layihə 4 ESP32 PIR Hərəkət Sensoru

Bu layihə PIR hərəkət sensorundan istifadə edərək ESP32 ilə hərəkətin necə aşkar ediləcəyini göstərir. Siqnal hərəkət aşkar edildikdə həyəcan siqnalı verəcək və əvvəlcədən təyin edilmiş vaxt ərzində (məsələn, 4 saniyə) heç bir hərəkət aşkarlanmadıqda siqnalı dayandıracaq.
HC-SR501 Hərəkət Sensoru Necə İşləyir
.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Hərəkət Sensoru işləyirHC-SR501 sensorunun iş prinsipi hərəkət edən obyektdə infraqırmızı şüalanmanın dəyişməsinə əsaslanır. HC-SR501 sensoru tərəfindən aşkarlanması üçün obyekt iki tələbə cavab verməlidir:

  • Obyekt infraqırmızı yolla yayılır.
  • Obyekt hərəkət edir və ya titrəyir

Beləliklə:
Əgər obyekt infraqırmızı şüa yayırsa, lakin Hərəkət etmirsə (məsələn, insan hərəkətsiz dayanırsa), bu sensor tərəfindən aşkar edilmir.
Əgər obyekt hərəkət edirsə, lakin infraqırmızı şüa yaymırsa (məsələn, robot və ya avtomobil), o, sensor tərəfindən aşkar olunmur.
Taymerləri təqdim edirik
Bu keçmişdəample biz də taymerləri təqdim edəcəyik. Hərəkət aşkar edildikdən sonra LED-in əvvəlcədən müəyyən edilmiş bir neçə saniyə ərzində yanmasını istəyirik. Kodunuzu bloklayan və müəyyən saniyələr ərzində başqa bir şey etməyə imkan verməyən gecikmə () funksiyasından istifadə etmək əvəzinə, biz taymerdən istifadə etməliyik.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Taymerlərlə tanışlıqgecikmə () funksiyası
Delay() funksiyası ilə tanış olmalısınız, çünki o, geniş istifadə olunur. Bu funksiyadan istifadə etmək olduqca sadədir. Arqument kimi tək int nömrəsini qəbul edir.
Bu rəqəm proqramın növbəti kod sətirinə keçənə qədər gözləməli olduğu vaxtı millisaniyələrlə ifadə edir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - kodGecikmə (1000) etdiyiniz zaman proqramınız həmin sətirdə 1 saniyə dayanır.
delay() bloklama funksiyasıdır. Bloklama funksiyaları proqramın həmin tapşırıq tamamlanana qədər başqa bir şey etməsinə mane olur. Əgər eyni vaxtda bir neçə tapşırığın yerinə yetirilməsi lazımdırsa, siz gecikdirmə () funksiyasından istifadə edə bilməzsiniz.
Əksər layihələr üçün gecikmələrdən istifadə etməməli və yerinə taymerlərdən istifadə etməlisiniz.
millis() funksiyası
Millis() adlı funksiyadan istifadə edərək, proqramın ilk başladığı gündən keçən millisaniyələrin sayını qaytara bilərsiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - proqram ilk dəfə başladıBu funksiya niyə faydalıdır? Çünki bəzi riyaziyyatdan istifadə edərək, kodunuzu bloklamadan nə qədər vaxt keçdiyini asanlıqla yoxlaya bilərsiniz.
Tələb olunan hissələr
Bu təlimatı izləmək üçün sizə aşağıdakı hissələr lazımdır

  • ESP32 DEVKIT V1 lövhəsi
  • PIR hərəkət sensoru (HC-SR501)
  • Aktiv Buzzer
  • Jumper telləri
  • Çörək lövhəsi

SxematikLAFVIN ESP32 Əsas Başlanğıc Dəsti - Sxematik 1Qeyd: İşçi cildtagHC-SR501-in e-si 5V-dir. Onu gücləndirmək üçün Vin pinindən istifadə edin.
Kod
Bu dərsliyə davam etməzdən əvvəl Arduino IDE-də ESP32 əlavəsi quraşdırılmalıdır. ESP32-ni Arduino IDE-də quraşdırmaq üçün aşağıdakı dərsliklərdən birini izləyin, əgər hələ də quraşdırmamısınızsa. (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
Arduino IDE-də Project_4_ESP32_PIR_Motion_Sensor.ino kodunu açın.
Nümayiş
Kodu ESP32 boardunuza yükləyin. Düzgün lövhənin və COM portunun seçildiyinə əmin olun. Kodun istinad addımlarını yükləyin.
Serial Monitoru 115200 ötürmə sürətində açın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Nümayiş 1Əlinizi PIR sensorunun qarşısında hərəkət etdirin. Siqnal aktiv olmalıdır və “Hərəkət aşkarlandı! Siqnal siqnalı” mesajı Serial Monitorda çap olunur.
4 saniyədən sonra səs siqnalı sönməlidir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - səs siqnalı

Layihə 5 ESP32 Switch Web Server

Bu layihədə siz müstəqil yaradacaqsınız web Arduino IDE proqramlaşdırma mühitindən istifadə edərək çıxışları (iki LED) idarə edən ESP32 ilə server. The web server mobil cavabdehdir və yerli şəbəkədə brauzer kimi istənilən cihazla daxil olmaq olar. Sizə necə yaratacağınızı göstərəcəyik web server və kodun addım-addım necə işlədiyi.
Layihə bitdiview
Birbaşa layihəyə keçməzdən əvvəl, bizim nə olduğumuzu qeyd etmək vacibdir web server edəcək, belə ki, daha sonra addımları izləmək daha asan olsun.

  • The web quracağınız server ESP32 GPIO 26 və GPIO 27-yə qoşulmuş iki LED-i idarə edir;
  • ESP32-yə daxil ola bilərsiniz web yerli şəbəkədəki brauzerdə ESP32 IP ünvanını yazaraq server;
  • Üzərinizdəki düymələri klikləməklə web serverdə hər bir LED-in vəziyyətini dərhal dəyişə bilərsiniz.

Tələb olunan hissələr
Bu dərslik üçün sizə aşağıdakı hissələr lazımdır:

  • ESP32 DEVKIT V1 lövhəsi
  • 2x 5mm LED
  • 2x 200 Ohm rezistor
  • Çörək lövhəsi
  • Jumper telləri

Sxematik
Dövrə qurmaqla başlayın. Aşağıdakı sxematik diaqramda göstərildiyi kimi iki LED-i ESP32-yə qoşun - biri GPIO 26-ya, digəri isə GPIO 27-yə qoşulmuşdur.
Qeyd: Biz 32 pinli ESP36 DEVKIT DOIT lövhəsindən istifadə edirik. Dövrəni yığmadan əvvəl, istifadə etdiyiniz lövhənin pinoutunu yoxladığınızdan əmin olun.LAFVIN ESP32 Əsas Başlanğıc Dəsti - SxematikKod
Burada ESP32 yaradan kodu təqdim edirik web server. Project_5_ESP32_Switch _ kodunu açınWeb_Server.ino arduino IDE-də, lakin onu hələ yükləməyin. Bunun sizin üçün işləməsi üçün bəzi dəyişikliklər etməlisiniz.
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
Şəbəkə Etibarnamələrinizin qurulması
Siz şəbəkə etimadnaməsininizlə aşağıdakı sətirləri dəyişdirməlisiniz: SSID və parol. Dəyişiklikləri harada etməyiniz barədə kod yaxşı şərh edilmişdir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Şəbəkə EtibarnamələriKodun yüklənməsi
İndi kodu yükləyə bilərsiniz və web server dərhal işləyəcək.
Kodu ESP32-yə yükləmək üçün növbəti addımları yerinə yetirin:

  1. ESP32 lövhənizi kompüterinizə qoşun;
  2. Arduino IDE-də Alətlər > Lövhədə lövhənizi seçin (bizim halda biz ESP32 DEVKIT DOIT lövhəsindən istifadə edirik);LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kodun yüklənməsi
  3. Alətlər > Port bölməsində COM portunu seçin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Alətlər Portu
  4. Arduino IDE-də Yüklə düyməsini basın və kodun tərtib edilməsi və lövhənizə yüklənməsi zamanı bir neçə saniyə gözləyin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ICON 7
  5. “Yükləmə tamamlandı” mesajını gözləyin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Yükləmə tamamlandı 1

ESP IP ünvanının tapılması
Kodu yüklədikdən sonra Serial Monitoru 115200 ötürmə sürətində açın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ESP IP ünvanıESP32 EN düyməsini (sıfırla) basın. ESP32 Wi-Fi şəbəkəsinə qoşulur və Serial Monitorda ESP IP ünvanını verir. Həmin IP ünvanını kopyalayın, çünki ESP32-yə daxil olmaq üçün bu lazımdır web server.LAFVIN ESP32 Əsas Başlanğıc Dəsti - web serverdaxil olmaq Web Server
daxil olmaq üçün web server, brauzerinizi açın, ESP32 IP ünvanını yapışdırın və aşağıdakı səhifəni görəcəksiniz.
Qeyd: Brauzeriniz və ESP32 eyni LAN şəbəkəsinə qoşulmalıdır.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Giriş Web ServerSerial Monitora nəzər salsanız, fonda nə baş verdiyini görə bilərsiniz. ESP yeni müştəridən HTTP sorğusu alır (bu halda brauzeriniz).LAFVIN ESP32 Əsas Başlanğıc Dəsti - HTTP sorğusuHTTP sorğusu ilə bağlı digər məlumatları da görə bilərsiniz.
Nümayiş
İndi siz olub olmadığını yoxlaya bilərsiniz web server düzgün işləyir. LEDləri idarə etmək üçün düymələri basın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - fonEyni zamanda, arxa planda nə baş verdiyini görmək üçün Serial Monitora nəzər sala bilərsiniz. məsələnample, GPIO 26-nı AÇMAQ üçün düyməni kliklədiyiniz zaman ESP32 /26/on-da sorğu alır. URL.LAFVIN ESP32 Əsas Başlanğıc Dəsti - URLESP32 həmin sorğunu qəbul etdikdə, GPIO 26-a əlavə edilmiş LED-i ON vəziyyətinə çevirir və vəziyyətini cihazda yeniləyir. web səhifə.LAFVIN ESP32 Əsas Başlanğıc Dəsti - web səhifəGPIO 27 üçün düymə oxşar şəkildə işləyir. Düzgün işlədiyini yoxlayın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - düzgün işləyir

Kodeks Necə İşləyir

Bu bölmədə onun necə işlədiyini görmək üçün koda daha yaxından nəzər salacağıq.
Etməli olduğunuz ilk şey WiFi kitabxanasını daxil etməkdir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - WiFi kitabxanasıDaha əvvəl qeyd edildiyi kimi, ssid və parolunuzu qoşa dırnaq içərisində aşağıdakı sətirlərə daxil etməlisiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ikiqat dırnaqlarSonra, siz özünüz təyin edin web serverdən 80 portuna.LAFVIN ESP32 Əsas Başlanğıc Dəsti - web serverAşağıdakı sətir HTTP sorğusunun başlığını saxlamaq üçün dəyişən yaradır:LAFVIN ESP32 Əsas Başlanğıc Dəsti - HTTP sorğusuSonra, çıxışlarınızın cari vəziyyətini saxlamaq üçün köməkçi dəyişənlər yaradırsınız. Daha çox çıxış əlavə etmək və onun vəziyyətini saxlamaq istəyirsinizsə, daha çox dəyişən yaratmalısınız.LAFVIN ESP32 Basic Starter Kit - dəyişənlərSiz həmçinin çıxışlarınızın hər birinə GPIO təyin etməlisiniz. Burada biz GPIO 26 və GPIO 27-dən istifadə edirik. Siz istənilən digər uyğun GPIO-lardan istifadə edə bilərsiniz.LAFVIN ESP32 Basic Starter Kit - digər uyğunquraşdırma()
İndi quraşdırmaya () keçək. Birincisi, sazlama məqsədləri üçün 115200 ötürmə sürətində serial rabitəyə başlayırıq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - məqsədlərSiz həmçinin GPIO-larınızı ÇIXIŞ kimi təyin edirsiniz və onları LOW olaraq təyin edirsiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ÇIXIŞ kimi GPIO-larAşağıdakı sətirlər WiFi.begin (ssid, parol) ilə Wi-Fi bağlantısını başlayır, uğurlu əlaqəni gözləyin və Serial Monitorda ESP IP ünvanını çap edin.LAFVIN ESP32 Əsas Başlanğıc Dəsti - SerialLAFVIN ESP32 Əsas Başlanğıc Dəsti - Seriya 1loop()
Döngüdə() biz yeni müştəri ilə əlaqə qurduqda nə baş verdiyini proqramlaşdırırıq web server.
ESP32 həmişə aşağıdakı xətt ilə gələn müştəriləri dinləyir:LAFVIN ESP32 Əsas Başlanğıc Dəsti - döngəMüştəridən sorğu qəbul edildikdə, daxil olan məlumatları yadda saxlayacağıq. Müştəri bağlı qaldığı müddətcə aşağıdakı while döngüsü işləyəcək. Nə etdiyinizi dəqiq bilmirsinizsə, kodun aşağıdakı hissəsini dəyişdirməyi məsləhət görmürük.LAFVIN ESP32 Əsas Başlanğıc Dəsti - tam olaraqLAFVIN ESP32 Əsas Başlanğıc Dəsti - tam olaraq 1LAFVIN ESP32 Əsas Başlanğıc Dəsti - tam olaraq 2if və else ifadələrinin növbəti bölməsi sizin hansı düymənin basıldığını yoxlayır web səhifə və çıxışlara müvafiq olaraq nəzarət edir. Daha əvvəl də gördüyümüz kimi, biz fərqli bir sorğu edirik URLs basılan düymədən asılı olaraq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - düyməyə basıldıLAFVIN ESP32 Əsas Başlanğıc Dəsti - 1 düyməsini basdıməsələnample, əgər siz GPIO 26 ON düyməsini basmısınızsa, ESP32 /26/ON-da sorğu qəbul edir. URL (bu məlumatı Serial Monitordakı HTTP başlığında görə bilərik). Beləliklə, başlıqda GET /26/on ifadəsinin olub olmadığını yoxlaya bilərik. Əgər o varsa, biz output26state dəyişənini ON vəziyyətinə dəyişdiririk və ESP32 LED-i yandırır.
Bu, digər düymələr üçün də eyni şəkildə işləyir. Beləliklə, daha çox çıxış əlavə etmək istəyirsinizsə, kodun bu hissəsini onları daxil etmək üçün dəyişdirməlisiniz.
HTML göstərilir web səhifə
Etməli olduğunuz növbəti şey yaratmaqdır web səhifə. ESP32 qurmaq üçün bəzi HTML kodu ilə brauzerinizə cavab göndərəcək web səhifə.
The web səhifə bu ifadəli client.println() istifadə edərək müştəriyə göndərilir. Müştəriyə arqument olaraq göndərmək istədiyinizi daxil etməlisiniz.
Göndərməli olduğumuz ilk şey həmişə HTML göndərdiyimizi göstərən aşağıdakı sətirdir.LAFVIN ESP32 Basic Starter Kit - HTML göndərilməsiSonra, aşağıdakı xətt edir web istənilən halda cavab verən səhifə web brauzer.LAFVIN ESP32 Əsas Başlanğıc Dəsti - web brauzerVə aşağıdakılar favikonda sorğuların qarşısını almaq üçün istifadə olunur. - Bu xətt üçün narahat olmaq lazım deyil.LAFVIN ESP32 Əsas Başlanğıc Dəsti - client.println

Styling Web Səhifə

Sonra, düymələri və düymələri tərtib etmək üçün bəzi CSS mətnimiz var web səhifənin görünüşü.
Biz Helvetica şriftini seçirik, blok şəklində göstəriləcək məzmunu müəyyənləşdiririk və mərkəzə düzülürük.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Styling Web SəhifəDüymələrimizi #4CAF50 rəngi, haşiyəsiz, ağ rəngli mətn və bu dolgu ilə tərtib edirik: 16px 40px. Biz həmçinin mətn dekorasiyasını heç biri kimi təyin etdik, şriftin ölçüsünü, kənarı və kursoru göstəriciyə təyin etdik.LAFVIN ESP32 Əsas Başlanğıc Dəsti - göstəriciBiz həmçinin ikinci düymənin üslubunu daha əvvəl müəyyən etdiyimiz düymənin bütün xüsusiyyətləri ilə, lakin fərqli rənglə müəyyən edirik. Bu söndürmə düyməsinin üslubu olacaq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - client.println 1

təyin edilməsi Web Səhifənin Birinci Başlığı
Növbəti sətirdə ilk başlığınızı təyin edə bilərsiniz web səhifə. Burada “ESP32 Web Server”, lakin siz bu mətni istədiyinizə dəyişə bilərsiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Web Səhifə BaşlığıDüymələr və müvafiq vəziyyət göstərilir
Sonra, GPIO 26 cari vəziyyətini göstərmək üçün bir paraqraf yazırsınız. Gördüyünüz kimi, biz output26State dəyişənindən istifadə edirik ki, bu dəyişən dəyişdikdə vəziyyət dərhal yenilənir.LAFVIN ESP32 Basic Starter Kit - dəyişən dəyişikliklərSonra, GPIO-nun cari vəziyyətindən asılı olaraq yandırma və ya söndürmə düyməsini göstəririk. GPIO-nun cari vəziyyəti sönükdürsə, biz ON düyməsini, yoxsa, OFF düyməsini göstəririk.LAFVIN ESP32 Basic Starter Kit - OFF düyməsini göstərinEyni proseduru GPIO 27 üçün istifadə edirik.
Bağlantının bağlanması
Nəhayət, cavab başa çatdıqda, başlıq dəyişənini təmizləyirik və client.stop() ilə müştəri ilə əlaqəni dayandırırıq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Bağlantının Bağlanması

Sarma

Bu dərslikdə sizə necə quracağınızı göstərdik web ESP32 ilə server. Biz sizə sadə keçmişi göstərdikample ki, iki LED-i idarə edir, lakin ideya həmin LED-ləri rele və ya idarə etmək istədiyiniz hər hansı digər çıxışla əvəz etməkdir.

Layihə 6 RGB LED Web Server

Bu layihədə biz sizə RGB LED-i ESP32 lövhəsi ilə uzaqdan necə idarə edəcəyinizi göstərəcəyik web rəng seçicisi olan server.
Layihə bitdiview
Başlamazdan əvvəl bu layihənin necə işlədiyini görək:LAFVIN ESP32 Əsas Başlanğıc Dəsti - Layihə Bitdiview

  • ESP32 web server rəng seçicisini göstərir.
  • Rəng seçdiyiniz zaman brauzeriniz a.-da sorğu göndərir URL seçilmiş rəngin R, G və B parametrlərini ehtiva edir.
  • ESP32 sorğunu qəbul edir və hər bir rəng parametri üçün dəyəri bölür.
  • Sonra, RGB LED-i idarə edən GPIO-lara müvafiq dəyərlə PWM siqnalı göndərir.

RGB LED-lər necə işləyir?
Ümumi katodlu RGB LED-də hər üç LED mənfi əlaqəni (katod) bölüşür. Dəstə daxil olanların hamısı ümumi katodlu RGB-dir.LAFVIN ESP32 Basic Starter Kit - RGB LED-lər işləyirFərqli rəngləri necə yaratmaq olar?
RGB LED ilə, əlbəttə ki, qırmızı, yaşıl və mavi işıq yarada bilərsiniz və hər bir LED-in intensivliyini konfiqurasiya etməklə digər rəngləri də istehsal edə bilərsiniz.
məsələnample, sırf mavi işıq yaratmaq üçün mavi LED-i ən yüksək intensivliyə, yaşıl və qırmızı LED-ləri isə ən aşağı intensivliyə təyin edərdiniz. Ağ işıq üçün hər üç LED-i ən yüksək intensivliyə təyin edərdiniz.
Rənglərin qarışdırılması
Digər rənglər yaratmaq üçün üç rəngi müxtəlif intensivliklərdə birləşdirə bilərsiniz. Hər bir LED-in intensivliyini tənzimləmək üçün PWM siqnalından istifadə edə bilərsiniz.
LED-lər bir-birinə çox yaxın olduğu üçün gözlərimiz üç rəngin ayrı-ayrılıqda deyil, rənglərin birləşməsinin nəticəsini görür.
Rəngləri necə birləşdirəcəyinizə dair fikir əldə etmək üçün aşağıdakı cədvələ nəzər salın.
Bu, ən sadə rəng qarışdırma cədvəlidir, lakin sizə onun necə işlədiyini və müxtəlif rənglərin necə istehsal olunacağı barədə fikir verir.LAFVIN ESP32 Basic Starter Kit - müxtəlif rənglərdəTələb olunan hissələr
Bu layihə üçün sizə aşağıdakı hissələr lazımdır:

  • ESP32 DEVKIT V1 lövhəsi
  • RGB LED
  • 3x 220 ohm rezistorlar
  • Jumper telləri
  • Çörək lövhəsi

SxematikLAFVIN ESP32 Əsas Başlanğıc Dəsti - SxematikKod
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)

  • Arduino IDE-də ESP32 Əlavəsinin quraşdırılması

Dövrəni yığdıqdan sonra kodu açın
Layihə_6_RGB_LED_WebArduino IDE-də _Server.ino.
Kodu yükləməzdən əvvəl ESP-nin yerli şəbəkənizə qoşula bilməsi üçün şəbəkə etimadnaməsini daxil etməyi unutmayın.LAFVIN ESP32 Basic Starter Kit - yerli şəbəkəKod necə işləyir
ESP32 eskizi WiFi.h kitabxanasından istifadə edir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - WiFi.h kitabxanasıAşağıdakı sətirlər sorğudan R, G və B parametrlərini saxlamaq üçün sətir dəyişənlərini müəyyənləşdirir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Simli redStringNövbəti dörd dəyişən daha sonra HTTP sorğusunu deşifrə etmək üçün istifadə olunur.LAFVIN ESP32 Əsas Başlanğıc Dəsti - HTTP sorğusuR, G və B parametrlərini idarə edəcək GPIO-lar üçün üç dəyişən yaradın. Bu halda biz GPIO 13, GPIO 12 və GPIO 14-dən istifadə edirik.LAFVIN ESP32 Əsas Başlanğıc Dəsti - GPIO-lar lazımdırBu GPIO-lar PWM siqnallarını çıxarmalıdır, buna görə də əvvəlcə PWM xüsusiyyətlərini konfiqurasiya etməliyik. PWM siqnal tezliyini 5000 Hz-ə təyin edin. Sonra hər rəng üçün bir PWM kanalı birləşdirinLAFVIN ESP32 Əsas Başlanğıc Dəsti - hər rəngVə nəhayət, PWM kanallarının qətnaməsini 8 bit olaraq təyin edinLAFVIN ESP32 Basic Starter Kit - PWM kanallarıQuraşdırmada() PWM xassələrini PWM kanallarına təyin edinLAFVIN ESP32 Basic Starter Kit - PWM kanallarıPWM kanallarını müvafiq GPIO-lara əlavə edinLAFVIN ESP32 Əsas Başlanğıc Dəsti - müvafiq GPIO-larAşağıdakı kod bölməsində rəng seçiciniz göstərilir web səhifəni açır və seçdiyiniz rəngə əsasən sorğu göndərir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - seçilmişdirLAFVIN ESP32 Əsas Başlanğıc Dəsti - client.printlnLAFVIN ESP32 Əsas Başlanğıc Dəsti - client.println 1Rəng seçdiyiniz zaman aşağıdakı formatda sorğu alırsınız.LAFVIN ESP32 Əsas Başlanğıc Dəsti - aşağıdakı format

Beləliklə, R, G və B parametrlərini əldə etmək üçün bu sətri bölmək lazımdır. Parametrlər redString, greenString və blueString dəyişənlərində saxlanılır və 0 ilə 255 arasında dəyərlər ola bilər.LAFVIN ESP32 Əsas Başlanğıc Dəsti - başlıqLAFVIN ESP32 Əsas Başlanğıc Dəsti - başlıq 1ESP32 ilə zolağı idarə etmək üçün ledcWrite() funksiyasından istifadə edərək HTTP-dən deşifrə edilmiş dəyərlərlə PWM siqnalları yaradın. xahiş.LAFVIN ESP32 Əsas Başlanğıc Dəsti - HTTP sorğusu 1Qeyd: ESP32 ilə PWM haqqında daha çox öyrənin: Project 3 ESP32 PWM(Analoq Çıxış)
ESP8266 ilə zolağı idarə etmək üçün sadəcə istifadə etməliyik
HTPP sorğusundan deşifr edilmiş dəyərlərlə PWM siqnalları yaratmaq üçün analogWrite() funksiyası.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Dəyərləri sətir dəyişənində əldə etdiyimiz üçün toInt() metodundan istifadə edərək onları tam ədədlərə çevirməliyik.
Nümayiş
Şəbəkə etimadnaməsini daxil etdikdən sonra düzgün lövhəni və COM portunu seçin və kodu ESP32.Yükləmə kodu istinad addımlarınıza yükləyin.
Yüklədikdən sonra Serial Monitoru 115200 ötürmə sürətində açın və ESP Enable/Reset düyməsini basın. Lövhənin IP ünvanını almalısınız.LAFVIN ESP32 Basic Starter Kit - eyni LANBrauzerinizi açın və ESP IP ünvanını daxil edin. İndi RGB LED üçün rəng seçmək üçün rəng seçicidən istifadə edin.
Sonra rəngin qüvvəyə minməsi üçün "Rəng dəyişdir" düyməsini sıxmalısınız.LAFVIN ESP32 Əsas Başlanğıc Dəsti - RGB LEDRGB LED-i söndürmək üçün qara rəngi seçin.
Ən güclü rənglər (rəng seçicinin yuxarı hissəsində) daha yaxşı nəticələr verəcəkdir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - daha yaxşı nəticələr

Layihə 7 ESP32 Relay Web Server

ESP32 ilə reledən istifadə AC məişət cihazlarını uzaqdan idarə etmək üçün əla yoldur. Bu dərslik ESP32 ilə rele modulunu necə idarə etməyi izah edir.
Biz rele modulunun necə işlədiyinə, releyi ESP32-yə necə qoşacağına və relenin necə qurulacağına baxacağıq. web releyi uzaqdan idarə etmək üçün server.
Rele ilə tanış olun
Röle elektriklə idarə olunan açardır və hər hansı digər açar kimi, cərəyanın keçib-keçməməsinə imkan verən açıla və ya söndürülə bilər. Aşağı səslə idarə oluna bilərtages, ESP3.3 GPIO-lar tərəfindən təmin edilən 32V kimi və bizə yüksək səsi idarə etməyə imkan verir.tag12V, 24V və ya elektrik cərəyanı kimitage (Avropada 230V və ABŞ-da 120V).LAFVIN ESP32 Əsas Başlanğıc Dəsti - Relelərin TəqdimatıSol tərəfdə yüksək səsi birləşdirmək üçün üç yuvadan ibarət iki dəst vartages və sağ tərəfdəki sancaqlar (aşağı cildtage) ESP32 GPIO-lara qoşulun.
Mains Voltage ƏlaqələrLAFVIN ESP32 Əsas Başlanğıc Dəsti - Mains Voltage ƏlaqələrƏvvəlki fotoşəkildə göstərilən rele modulunun hər birində üç yuva olan iki bağlayıcı var: ümumi (COM), Normalda Bağlı (NC) və Normal Açıq (NO).

  • COM: nəzarət etmək istədiyiniz cərəyanı birləşdirin (şəbəkə ctagvə).
  • NC (Normal olaraq Qapalı): normal olaraq qapalı konfiqurasiya siz relenin defolt olaraq bağlanmasını istədiyiniz zaman istifadə olunur. NC COM sancaqları bağlıdır, yəni dövrəni açmaq və cərəyan axını dayandırmaq üçün ESP32-dən rele moduluna siqnal göndərməsəniz, cərəyan axır.
  • NO (Normal Açıq): normal açıq konfiqurasiya əksinə işləyir: NO və COM pinləri arasında heç bir əlaqə yoxdur, ona görə də ESP32-dən dövrəni bağlamaq üçün siqnal göndərməyincə dövrə pozulur.

Nəzarət sancaqlarıLAFVIN ESP32 Əsas Başlanğıc Dəsti - Nəzarət SancaqlarıAşağı həcmlitage tərəfində dörd sancaq dəsti və üç sancaq dəsti var. Birinci dəst modulu gücləndirmək üçün VCC və GND-dən və müvafiq olaraq alt və yuxarı releləri idarə etmək üçün giriş 1 (IN1) və giriş 2 (IN2)-dən ibarətdir.
Əgər rele modulunuz yalnız bir kanala malikdirsə, sizdə yalnız bir IN pin olacaq. Dörd kanalınız varsa, dörd IN pininiz olacaq və s.
IN pinlərinə göndərdiyiniz siqnal, relenin aktiv olub olmadığını müəyyənləşdirir. Giriş təxminən 2V-dən aşağı düşdükdə rele işə salınır. Bu o deməkdir ki, sizdə aşağıdakı ssenarilər olacaq:

  • Normalda Qapalı konfiqurasiya (NC):
  • YÜKSƏK siqnal - cərəyan axır
  • LOW siqnal - cərəyan axmır
  • Normalda açıq konfiqurasiya (NO):
  • YÜKSƏK siqnal - cərəyan axmır
  • LOW siqnal - axındakı cərəyan

Cərəyanın çox vaxt axması lazım olduqda və yalnız bəzən onu dayandırmaq istədiyiniz zaman normal qapalı konfiqurasiyadan istifadə etməlisiniz.
Cərəyanın arabir axmasını istədiyiniz zaman normal açıq konfiqurasiyadan istifadə edin (məsample, alamp arabir).
Enerji təchizatı seçimiLAFVIN ESP32 Əsas Başlanğıc Dəsti - Enerji təchizatı seçimiİkinci sancaqlar dəsti GND, VCC və JD-VCC sancaqlarından ibarətdir.
JD-VCC pin relenin elektromaqnitini gücləndirir. Diqqət yetirin ki, modulda VCC və JD-VCC pinlərini birləşdirən keçid qapağı var; burada göstərilən sarıdır, lakin sizinki fərqli rəng ola bilər.
Jumper qapağı açıq olduqda, VCC və JD-VCC sancaqları birləşdirilir. Bu o deməkdir ki, rele elektromaqnit birbaşa ESP32 güc pinindən qidalanır, buna görə də rele modulu və ESP32 sxemləri bir-birindən fiziki olaraq təcrid olunmur.
Jumper qapağı olmadan, JD-VCC pin vasitəsilə relenin elektromaqnitini gücləndirmək üçün müstəqil enerji mənbəyi təmin etməlisiniz. Bu konfiqurasiya modulun daxili optokuplatoru ilə releləri ESP32-dən fiziki olaraq təcrid edir ki, bu da elektrik sıçrayışları zamanı ESP32-nin zədələnməsinin qarşısını alır.
SxematikLAFVIN ESP32 Əsas Başlanğıc Dəsti - SxematikXəbərdarlıq: Yüksək həcmdən istifadətage enerji təchizatı ciddi zədələrə səbəb ola bilər.
Buna görə də, yüksək tədarük həcmi əvəzinə 5 mm LED-lər istifadə olunurtagtəcrübədə e ampüller. Magistral vol ilə tanış deyilsinizsətagsizə kömək edəcək birindən soruşun. ESP-ni proqramlaşdırarkən və ya dövrənizi bağlayarkən hər şeyin elektrik şəbəkəsindən ayrıldığından əmin oluntage.LAFVIN ESP32 Əsas Başlanğıc Dəsti - elektrik ctageESP32 üçün Kitabxananın quraşdırılması
Bunu qurmaq üçün web server, biz ESPAsync istifadə edirikWebServer kitabxanası və AsyncTCP Kitabxanası.
ESPAsync quraşdırılmasıWebServer kitabxanası
Quraşdırmaq üçün növbəti addımları izləyin ESPAsyncWebServer kitabxana:

  1. ESPAsync proqramını yükləmək üçün bura klikləyinWebServer kitabxanası. Sən olmalısan
    Yükləmələr qovluğunda .zip qovluğu
  2. .zip qovluğunu açın və siz ESPAsync əldə etməlisinizWebServer-master qovluğu
  3. Qovluqunuzun adını ESPAsync-dən dəyişdirinWebESPAsync üçün server-masterWebServer
  4. ESPAsync-i köçürünWebServer qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün

Alternativ olaraq, Arduino IDE-də Sketch > Include bölməsinə keçə bilərsiniz
Kitabxana > .ZIP kitabxana əlavə edin… və yenicə endirdiyiniz kitabxananı seçin.
ESP32 üçün AsyncTCP Kitabxanasının quraşdırılması
The ESPAsyncWebServer kitabxana tələb edir AsyncTCP işləmək üçün kitabxana. İzləyin
həmin kitabxananı quraşdırmaq üçün növbəti addımlar:

  1. AsyncTCP kitabxanasını yükləmək üçün bura klikləyin. Yükləmələr qovluğunda .zip qovluğu olmalıdır
  2. .zip qovluğunu açın və siz AsyncTCP-master qovluğunu almalısınız
    1. Qovluqunuzun adını AsyncTCP-master-dən AsyncTCP-yə dəyişdirin
    3. AsyncTCP qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün
    4. Nəhayət, Arduino IDE-ni yenidən açın

Alternativ olaraq, Arduino IDE-də Sketch > Include bölməsinə keçə bilərsiniz
Kitabxana > .ZIP kitabxana əlavə edin… və yenicə endirdiyiniz kitabxananı seçin.
Kod
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
Lazımi kitabxanaları quraşdırdıqdan sonra Project_7_ESP32_Relay_ kodunu açınWebArduino IDE-də _Server.ino.
Kodu yükləməzdən əvvəl ESP-nin yerli şəbəkənizə qoşula bilməsi üçün şəbəkə etimadnaməsini daxil etməyi unutmayın.LAFVIN ESP32 Basic Starter Kit - ocal şəbəkəNümayiş
Lazımi dəyişiklikləri etdikdən sonra kodu ESP32.Yükləmə kodu istinad addımlarınıza yükləyin.
Serial Monitoru 115200 ötürmə sürətində açın və onun IP ünvanını əldə etmək üçün ESP32 EN düyməsini basın. Sonra yerli şəbəkənizdə brauzer açın və ESP32 IP ünvanını yazın. web server.
Serial Monitoru 115200 ötürmə sürətində açın və onun IP ünvanını əldə etmək üçün ESP32 EN düyməsini basın. Sonra yerli şəbəkənizdə brauzer açın və ESP32 IP ünvanını yazın. web server.LAFVIN ESP32 Əsas Başlanğıc Dəsti - web serverQeyd: Brauzeriniz və ESP32 eyni LAN şəbəkəsinə qoşulmalıdır.
Kodunuzda təyin etdiyiniz relelərin sayı kimi iki düymə ilə aşağıdakı kimi bir şey əldə etməlisiniz.LAFVIN ESP32 Basic Starter Kit - smartfonİndi siz smartfonunuzdan istifadə edərək relelərinizi idarə etmək üçün düymələrdən istifadə edə bilərsiniz.LAFVIN ESP32 Basic Starter Kit - smartfon 1

Layihə_8_Çıxış_Vəziyyəti_Sinxronizasiya_ Web_Server

Bu Layihə, a istifadə edərək ESP32 və ya ESP8266 çıxışlarının necə idarə olunacağını göstərir web server və fiziki düymə eyni vaxtda. Çıxış vəziyyəti yenilənir web fiziki düymə ilə dəyişdirilib və ya səhifə web server.
Layihə bitdiview
Gəlin layihənin necə işlədiyinə qısaca nəzər salaq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Layihə BitdiviewESP32 və ya ESP8266 hostları a web çıxışın vəziyyətini idarə etməyə imkan verən server;

  • Cari çıxış vəziyyəti ekranda göstərilir web server;
  • ESP həmçinin eyni çıxışı idarə edən fiziki düyməyə qoşulmuşdur;
  • Fiziki düymədən istifadə edərək çıxış vəziyyətini dəyişdirsəniz, onun cari vəziyyəti də yenilənir web server.

Xülasə, bu layihə a istifadə edərək eyni çıxışı idarə etməyə imkan verir web server və təkan düyməsi eyni vaxtda. Çıxış vəziyyəti dəyişdikdə web server yenilənir.
Tələb olunan hissələr
Budur, dövrə qurmaq üçün lazım olan hissələrin siyahısı:

  • ESP32 DEVKIT V1 lövhəsi
  • 5 mm LED
  • 220 Ohm rezistor
  • Düymə
  • 10k Ohm rezistor
  • Çörək lövhəsi
  • Jumper telləri

SxematikLAFVIN ESP32 Əsas Başlanğıc Dəsti - Sxematik 1ESP32 üçün Kitabxananın quraşdırılması
Bunu qurmaq üçün web server, biz ESPAsync istifadə edirikWebServer kitabxanası və AsyncTCP Kitabxanası.(Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
ESPAsync quraşdırılmasıWebServer kitabxanası
ESPAsync quraşdırmaq üçün növbəti addımları izləyinWebServer kitabxanası:

  1. ESPAsync proqramını yükləmək üçün bura klikləyinWebServer kitabxanası. Sən olmalısan
    Yükləmələr qovluğunda .zip qovluğu
  2. .zip qovluğunu açın və siz ESPAsync əldə etməlisinizWebServer-master qovluğu
  3. Qovluqunuzun adını ESPAsync-dən dəyişdirinWebESPAsync üçün server-masterWebServer
  4. ESPAsync-i köçürünWebServer qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün
    Alternativ olaraq, Arduino IDE-də Sketch > Include bölməsinə keçə bilərsiniz
    Kitabxana > .ZIP kitabxana əlavə edin… və yenicə endirdiyiniz kitabxananı seçin.

ESP32 üçün AsyncTCP Kitabxanasının quraşdırılması
ESPAsyncWebServer kitabxanası işləmək üçün AsyncTCP kitabxanasını tələb edir. Həmin kitabxananı quraşdırmaq üçün növbəti addımları yerinə yetirin:

  1. AsyncTCP kitabxanasını yükləmək üçün bura klikləyin. Yükləmələr qovluğunda .zip qovluğu olmalıdır
  2. .zip qovluğunu açın və siz AsyncTCP-master qovluğunu almalısınız
  3. Qovluqunuzun adını AsyncTCP-master-dən AsyncTCP-yə dəyişdirin
  4. AsyncTCP qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün
  5. Nəhayət, Arduino IDE-ni yenidən açın
    Alternativ olaraq, Arduino IDE-də Sketch > Include bölməsinə keçə bilərsiniz
    Kitabxana > .ZIP kitabxana əlavə edin… və yenicə endirdiyiniz kitabxananı seçin.

Kod
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
Lazımi kitabxanaları quraşdırdıqdan sonra kodu açın
Layihə_8_Çıxış_Vəziyyəti_Sinxronizasiya_WebArduino IDE-də _Server.ino.
Kodu yükləməzdən əvvəl ESP-nin yerli şəbəkənizə qoşula bilməsi üçün şəbəkə etimadnaməsini daxil etməyi unutmayın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod

Kodeks Necə İşləyir

Düymə Vəziyyəti və Çıxış Vəziyyəti
ledState dəyişəni LED çıxış vəziyyətini saxlayır. Varsayılan olaraq, zaman web server başlayır, AZALDIR.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod işləyir

ButtonState və lastButtonState düymənin basılıb-basılmadığını aşkar etmək üçün istifadə olunur.LAFVIN ESP32 Basic Starter Kit - basıldıDüymə (web server)
Biz index_html dəyişənində düymə yaratmaq üçün HTML daxil etməmişik.
Bunun səbəbi, biz düymə ilə dəyişdirilə bilən cari LED vəziyyətindən asılı olaraq onu dəyişdirə bilmək istəyirik.
Beləliklə, biz %BUTTONPLACEHOLDER% düyməsi üçün yertutan yaratdıq, o düyməni kodda daha sonra yaratmaq üçün HTML mətni ilə əvəz olunacaq (bu prosessor() funksiyasında edilir).LAFVIN ESP32 Əsas Başlanğıc Dəsti - 1 sıxıldıprosessor()
Prosessor() funksiyası HTML mətnindəki hər hansı yer tutucuları faktiki dəyərlərlə əvəz edir. Birincisi, HTML mətnlərində hər hansı bir mətnin olub olmadığını yoxlayır
yer tutucular %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - prosessorSonra cari çıxış vəziyyətini qaytaran theoutputState() funksiyasını çağırın. Biz onu outputStateValue dəyişənində saxlayırıq.LAFVIN ESP32 Əsas Başlanğıc Dəsti - outputStateBundan sonra, düyməni düzgün vəziyyətdə göstərmək üçün HTML mətni yaratmaq üçün həmin dəyərdən istifadə edin:LAFVIN ESP32 Əsas Başlanğıc Dəsti - kod 4Çıxış Vəziyyətini Dəyişdirmək üçün HTTP GET Sorğusu (JavaScript)
Düyməni basdığınız zaman thetoggleCheckbox() funksiyası çağırılır. Bu funksiya fərqli bir sorğu verəcəkdir URLs LED-i yandırmaq və ya söndürmək üçün.LAFVIN ESP32 Əsas Başlanğıc Dəsti - JavaScriptLED-i yandırmaq üçün o, /update?state=1-də sorğu göndərir URL:LAFVIN ESP32 Basic Starter Kit - element.checkedƏks halda, /update?state=0 üzərində sorğu göndərir URL.
Vəziyyəti yeniləmək üçün HTTP GET sorğusu (JavaScript)
Çıxış vəziyyətini yeniləmək üçün web server, biz /statusda yeni sorğu verən aşağıdakı funksiyanı çağırırıq URL hər saniyə.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Vəziyyəti YeniləyinLAFVIN ESP32 Əsas Başlanğıc Dəsti - Yeniləmə Vəziyyəti 1Sorğuları idarə edin
Sonra, ESP32 və ya ESP8266 həmin sorğular qəbul etdikdə nə baş verdiyini idarə etməliyik. URLs.
Kökdə sorğu alındıqda /URL, biz HTML səhifəsini, eləcə də prosessoru göndəririk.LAFVIN ESP32 Əsas Başlanğıc Dəsti - İstəkləri idarə edinLAFVIN ESP32 Əsas Başlanğıc Dəsti - İstəkləri idarə edin 1Aşağıdakı sətirlər /update?state=1 və ya /update?state=0 ilə bağlı sorğu qəbul edib-etmədiyinizi yoxlayır. URL və müvafiq olaraq ledState dəyişir.LAFVIN ESP32 Əsas Başlanğıc Dəsti - ledStateLAFVIN ESP32 Əsas Başlanğıc Dəsti - inputParam/dövlətində sorğu qəbul edildikdə URL, biz cari çıxış vəziyyətini göndəririk:LAFVIN ESP32 Əsas Başlanğıc Dəsti - çıxış vəziyyətiloop()
Döngüdə() biz düyməni ləğv edirik və ledState dəyərindən asılı olaraq LED-i yandırırıq və ya söndürürük. dəyişən.LAFVIN ESP32 Əsas Başlanğıc Dəsti - dövrə 1Nümayiş
Kodu ESP32 boardunuza yükləyin. Kod istinad addımlarını yükləyin.
Sonra Serial Monitoru 115200 ötürmə sürətində açın. IP ünvanını əldə etmək üçün bortda EN/RST düyməsini basın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - NümayişYerli şəbəkənizdə bir brauzer açın və ESP IP ünvanını yazın. -a girişiniz olmalıdır web server aşağıda göstərildiyi kimi.
Qeyd: Brauzeriniz və ESP32 eyni LAN şəbəkəsinə qoşulmalıdır.LAFVIN ESP32 Basic Starter Kit - brauzerÜzərindəki düyməni dəyişə bilərsiniz web LED-i yandırmaq üçün server.LAFVIN ESP32 Əsas Başlanğıc Dəsti - web 1 serverEyni LED-i fiziki düymə ilə idarə edə bilərsiniz. Onun vəziyyəti həmişə avtomatik olaraq yenilənəcək web server.

Layihə 9 ESP32 DHT11 Web Server

Bu layihədə siz asinxron ESP32 qurmağı öyrənəcəksiniz web Arduino IDE istifadə edərək temperatur və rütubəti göstərən DHT11 ilə server.
İlkin şərtlər
The web biz quracağımız server oxunuşları yeniləməyə ehtiyac olmadan avtomatik olaraq yeniləyir web səhifə.
Bu layihə ilə siz öyrənəcəksiniz:

  • DHT sensorlarından temperatur və rütubəti necə oxumaq olar;
  • Asinxron qurun web serverdən istifadə edir ESPAsyncWebServer kitabxanası;
  • Sensor oxunuşlarını yeniləməyə ehtiyac olmadan avtomatik olaraq yeniləyin web səhifə.

Asinxron Web Server
qurmaq üçün web serverdən istifadə edəcəyik ESPAsyncWebServer kitabxanası asinxron qurmaq üçün asan bir yol təqdim edir web server. Asinxronun qurulması web server bir neçə üstünlüklərə malikdirtages kitabxanasının GitHub səhifəsində qeyd edildiyi kimi, məsələn:

  • “Eyni anda birdən çox əlaqəni idarə edin”;
  • “Cavab göndərdiyiniz zaman server arxa fonda cavab göndərməklə məşğul olarkən siz dərhal digər əlaqələri idarə etməyə hazırsınız”;
  • “Şablonları idarə etmək üçün sadə şablon emal mühərriki”;

Tələb olunan hissələr
Bu təlimatı tamamlamaq üçün sizə aşağıdakı hissələr lazımdır:

  • ESP32 inkişaf lövhəsi
  • DHT11 modulu
  • Çörək lövhəsi
  • Jumper telləri

SxematikLAFVIN ESP32 Əsas Başlanğıc Dəsti - Sxematik 2Kitabxanaların quraşdırılması
Bu layihə üçün bir neçə kitabxana quraşdırmalısınız:

  • The DHTAdafruit Vahid Sensor DHT sensorundan oxumaq üçün sürücü kitabxanaları.
  • ESPAsyncWebServerAsync TCP asinxron qurmaq üçün kitabxanalar web server.
    Həmin kitabxanaları quraşdırmaq üçün növbəti təlimatları izləyin:

DHT Sensor Kitabxanasının quraşdırılması
Arduino IDE istifadə edərək DHT sensorundan oxumaq üçün quraşdırmanız lazımdır DHT sensor kitabxanası. Kitabxananı quraşdırmaq üçün növbəti addımları izləyin.

  1. DHT Sensor kitabxanasını yükləmək üçün bura klikləyin. Yükləmələr qovluğunda .zip qovluğu olmalıdır
  2. .zip qovluğunu açın və siz DHT-sensor-library-master qovluğunu almalısınız
  3. Qovluqunuzun adını DHT-sensor-librani-master-dən DHT_sensor olaraq dəyişdirin
  4. DHT_sensor qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün
  5. Nəhayət, Arduino IDE-ni yenidən açın

Adafruit Birləşdirilmiş Sensor Sürücüsünün quraşdırılması
Siz həmçinin quraşdırmaq lazımdır Adafruit Unified Sensor Driver kitabxanası DHT sensoru ilə işləmək üçün. Kitabxananı quraşdırmaq üçün növbəti addımları izləyin.

  1. Adafruit Unified Sensor kitabxanasını yükləmək üçün bura klikləyin. Yükləmələr qovluğunda .zip qovluğu olmalıdır
  2. .zip qovluğunu açın və siz Adafruit_sensor-master qovluğunu almalısınız
  3. Qovluğun adını Adafruit_sensor-master-dən Adafruit_sensor olaraq dəyişdirin
  4. Adafruit_sensor qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün
  5. Nəhayət, Arduino IDE-ni yenidən açın

ESPAsync quraşdırılmasıWebServer kitabxanası

Quraşdırmaq üçün növbəti addımları izləyin ESPAsyncWebServer kitabxana:

  1. ESPAsync proqramını yükləmək üçün bura klikləyinWebServer kitabxanası. Sən olmalısan
    Yükləmələr qovluğunda .zip qovluğu
  2. .zip qovluğunu açın və siz etməlisiniz
    ESPAsync əldə edinWebServer-master qovluğu
  3. Qovluqunuzun adını ESPAsync-dən dəyişdirinWebESPAsync üçün server-masterWebServer
  4. ESPAsync-i köçürünWebServer qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün

ESP32 üçün Async TCP Kitabxanasının quraşdırılması
The ESPAsyncWebServer kitabxana tələb edir AsyncTCP işləmək üçün kitabxana. Həmin kitabxananı quraşdırmaq üçün növbəti addımları yerinə yetirin:

  1. AsyncTCP kitabxanasını yükləmək üçün bura klikləyin. Yükləmələr qovluğunda .zip qovluğu olmalıdır
  2. .zip qovluğunu açın və siz AsyncTCP-master qovluğunu almalısınız
  3. Qovluqunuzun adını AsyncTCP-master-dən AsyncTCP-yə dəyişdirin
  4. AsyncTCP qovluğunu Arduino IDE quraşdırma kitabxanaları qovluğuna köçürün
  5. Nəhayət, Arduino IDE-ni yenidən açın

Kod
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılması
Lazımi kitabxanaları quraşdırdıqdan sonra kodu açın
Layihə_9_ESP32_DHT11_WebArduino IDE-də _Server.ino.
Kodu yükləməzdən əvvəl ESP-nin yerli şəbəkənizə qoşula bilməsi üçün şəbəkə etimadnaməsini daxil etməyi unutmayın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - KodKodeks Necə İşləyir
Növbəti paraqraflarda kodun necə işlədiyini izah edəcəyik. Daha çox öyrənmək istəyirsinizsə oxumağa davam edin və ya yekun nəticəni görmək üçün Nümayiş bölməsinə keçin.
Kitabxanaların idxalı
Əvvəlcə tələb olunan kitabxanaları idxal edin. WiFi, ESPAsyncWebqurmaq üçün server və ESPAsyncTCP lazımdır web server. Adafruit_Sensor və DHT kitabxanaları DHT11 və ya DHT22 sensorlarından oxumaq üçün lazımdır.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kitabxanaların idxalıLAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod Necə İşləyirDəyişənlərin tərifi
DHT məlumat pininin qoşulduğu GPIO-nu təyin edin. Bu halda, o, GPIO 4-ə qoşulur.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Dəyişənlərin tərifiSonra, istifadə etdiyiniz DHT sensor növünü seçin. Keçmişimizdəampbiz DHT22-dən istifadə edirik. Əgər başqa növdən istifadə edirsinizsə, sadəcə olaraq sensorunuzun şərhini ləğv etməli və bütün digərlərini şərh etməlisiniz.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Dəyişənlərin tərifi 1

Daha əvvəl müəyyən etdiyimiz tip və pin ilə DHT obyektini işə salın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Dəyişənlərin tərifi 2Async yaradınWeb80 portunda server obyekti.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Dəyişənlərin tərifi 3Temperatur və Rütubət Funksiyalarını oxuyun
Biz iki funksiya yaratdıq: biri temperaturu oxumaq üçün Biz iki funksiya yaratdıq: biri temperaturu oxumaq (readDHTTemperature()) və digəri rütubəti oxumaq (readDHTHumidity()).LAFVIN ESP32 Əsas Başlanğıc Dəsti - readDHTNümidlikLAFVIN ESP32 Basic Starter Kit - sensor oxunuşlarıSensor oxunuşlarını əldə etmək, sensor oxunuşlarını əldə etmək dht obyektində readTemperature() və readHumidity() metodlarından istifadə etmək qədər sadədir.LAFVIN ESP32 Basic Starter Kit - obyektSensorun oxunuşları ala bilməməsi halında iki tire (-) qaytaran bir şərtimiz də var.LAFVIN ESP32 Basic Starter Kit - oxunuşlarOxunmalar simli tip kimi qaytarılır. Şamandıranı sətirə çevirmək üçün String() funksiyasından istifadə edinLAFVIN ESP32 Əsas Başlanğıc Dəsti - SimliVarsayılan olaraq, biz temperaturu Selsi dərəcəsində oxuyuruq. Fahrenheit dərəcəsində temperaturu əldə etmək üçün Selsidəki temperaturu şərh edin və Fahrenheitdəki temperaturu şərhdən çıxarın ki, sizdə aşağıdakılar olsun:LAFVIN ESP32 Əsas Başlanğıc Dəsti - FahrenheitLAFVIN ESP32 Əsas Başlanğıc Dəsti - Fahrenheit 1Kodu yükləyin
İndi kodu ESP32-yə yükləyin. Düzgün lövhənin və COM portunun seçildiyinə əmin olun. Kodun istinad addımlarını yükləyin.
Yüklədikdən sonra Serial Monitoru 115200 ötürmə sürətində açın. ESP32 sıfırlama düyməsini basın. ESP32 IP ünvanı serialda çap edilməlidir monitor.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kodu yükləyinNümayiş
Brauzeri açın və ESP32 IP ünvanını yazın. Sizin web server ən son sensor oxunuşlarını göstərməlidir.
Qeyd: Brauzeriniz və ESP32 eyni LAN şəbəkəsinə qoşulmalıdır.
Diqqət yetirin ki, temperatur və rütubət oxunuşları yenilənməyə ehtiyac olmadan avtomatik olaraq yenilənir web səhifə.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Nümayiş 1

Project_10_ESP32_OLED_Display

Bu layihə Arduino IDE istifadə edərək ESP0.96 ilə 1306 düymlük SSD32 OLED displeyindən necə istifadə olunacağını göstərir.
0.96 düymlük OLED Ekranı təqdim edirik
The OLED displey Bu dərslikdə istifadə edəcəyimiz SSD1306 modelidir: aşağıdakı şəkildə göstərildiyi kimi 0.96×128 pikselli monorəngli, 64 düymlük displey.LAFVIN ESP32 Əsas Başlanğıc Dəsti - OLEDDisplayOLED displeyi arxa işıq tələb etmir, bu da qaranlıq mühitlərdə çox gözəl kontrastla nəticələnir. Bundan əlavə, onun pikselləri yalnız açıq olduqda enerji sərf edir, beləliklə, OLED displey digər displeylərlə müqayisədə daha az enerji sərf edir.
OLED displeyi I2C rabitə protokolundan istifadə etdiyi üçün naqillərin çəkilməsi çox sadədir. Aşağıdakı cədvəldən istinad kimi istifadə edə bilərsiniz.

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

SxematikLAFVIN ESP32 Əsas Başlanğıc Dəsti - SxematikSSD1306 OLED Kitabxanasının quraşdırılması – ESP32
ESP32 ilə OLED displeyini idarə etmək üçün bir neçə kitabxana mövcuddur.
Bu dərslikdə biz iki Adafruit kitabxanasından istifadə edəcəyik: Adafruit_SSD1306 kitabxanasıAdafruit_GFX kitabxanası.
Həmin kitabxanaları quraşdırmaq üçün növbəti addımları izləyin.

  1. Arduino IDE-ni açın və Sketch > Kitabxana daxil edin > Kitabxanaları idarə edin. Kitabxana meneceri açılmalıdır.
  2. Axtarış qutusuna “SSD1306” yazın və Adafruit-dən SSD1306 kitabxanasını quraşdırın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - OLEDLibrary–
  3. Adafruit-dən SSD1306 kitabxanasını quraşdırdıqdan sonra axtarış qutusuna “GFX” yazın və kitabxananı quraşdırın.LAFVIN ESP32 Basic Starter Kit - kitabxana
  4. Kitabxanaları quraşdırdıqdan sonra Arduino IDE-ni yenidən başladın.

Kod
Tələb olunan kitabxanaları quraşdırdıqdan sonra Project_10_ESP32_OLED_Display.ino faylını arduino IDE-də açın. kod
ESP32-ni Arduino IDE-dən istifadə edərək proqramlaşdıracağıq, ona görə də davam etməzdən əvvəl ESP32 əlavəsinin quraşdırıldığından əmin olun: (Əgər bu addımı artıq etmisinizsə, növbəti addıma keçə bilərsiniz.)
Arduino IDE-də ESP32 Əlavəsinin quraşdırılmasıLAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 1LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 2LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod 3Kodeks Necə İşləyir
Kitabxanaların idxalı
Əvvəlcə lazımi kitabxanaları idxal etməlisiniz. I2C-dən istifadə etmək üçün Wire kitabxanası və ekrana yazmaq üçün Adafruit kitabxanaları: Adafruit_GFX və Adafruit_SSD1306.LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod işləyir 1LAFVIN ESP32 Əsas Başlanğıc Dəsti - Kod işləyir 2OLED ekranını işə salın
Sonra OLED eninizi və hündürlüyü təyin edirsiniz. Bu keçmişdəample, biz 128×64 OLED ekrandan istifadə edirik. Başqa ölçülərdən istifadə edirsinizsə, bunu SCREEN_WIDTH və SCREEN_HEIGHT dəyişənlərində dəyişə bilərsiniz.LAFVIN ESP32 Basic Starter Kit - OLED displeySonra, I2C rabitə protokolu (&Wire) ilə əvvəllər müəyyən edilmiş eni və hündürlüyü ilə ekran obyektini işə salın.LAFVIN ESP32 Basic Starter Kit - rabitə protokolu(-1) parametri o deməkdir ki, OLED displeyinizdə RESET pin yoxdur. OLED displeyinizdə RESET pin varsa, o, GPIO-ya qoşulmalıdır. Bu halda, GPIO nömrəsini parametr kimi ötürməlisiniz.
Quraşdırmada() sazlama məqsədləri üçün Serial Monitoru 115200 ötürmə sürətində işə salın.LAFVIN ESP32 Əsas Başlanğıc Dəsti - məqsədlərOLED ekranını start() metodu ilə aşağıdakı kimi işə salın:LAFVIN ESP32 Əsas Başlanğıc Dəsti - display.beginLAFVIN ESP32 Əsas Başlanğıc Dəsti - Serial.printlnBu fraqment həmçinin ekrana qoşula bilməyəcəyimiz halda Serial Monitorda mesaj çap edir.

LAFVIN ESP32 Əsas Başlanğıc Dəsti - Serial.println 1Fərqli OLED displeydən istifadə edirsinizsə, OLED ünvanını dəyişməli ola bilərsiniz. Bizim vəziyyətimizdə ünvan 0x3C-dir.LAFVIN ESP32 Basic Starter Kit - ünvanEkranı işə saldıqdan sonra iki saniyə gecikmə əlavə edin ki, OLED-in mətn yazmadan əvvəl işə salmaq üçün kifayət qədər vaxtı olsun:LAFVIN ESP32 Əsas Başlanğıc Dəsti - gecikməEkranı təmizləyin, şrift ölçüsünü, rəngini təyin edin və mətn yazın
Ekranı işə saldıqdan sonra clearDisplay() metodu ilə displey buferini təmizləyin:LAFVIN ESP32 Basic Starter Kit - displey

Mətni yazmazdan əvvəl mətnin ölçüsünü, rəngini və mətnin OLED-də harada göstəriləcəyini təyin etməlisiniz.
setTextSize() metodundan istifadə edərək şrift ölçüsünü təyin edin:LAFVIN ESP32 Əsas Başlanğıc Dəsti - ekran 1Şrift rəngini setTextColor() metodu ilə təyin edin:
WHITE ağ şrift və qara fon təyin edir.
setCursor(x,y) metodundan istifadə edərək mətnin başladığı mövqeyi müəyyənləşdirin. Bu halda, mətni yuxarı sol küncdə (0,0) koordinatlarından başlamağa təyin edirik.LAFVIN ESP32 Əsas Başlanğıc Dəsti - setTextColor 1Nəhayət, aşağıdakı kimi println() metodundan istifadə edərək mətni ekrana göndərə bilərsinizLAFVIN ESP32 Əsas Başlanğıc Dəsti - kod 5Sonra, mətni ekranda həqiqətən göstərmək üçün display() metodunu çağırmalısınız.LAFVIN ESP32 Basic Starter Kit - displey

Adafruit OLED kitabxanası mətni asanlıqla sürüşdürmək üçün faydalı üsullar təqdim edir.

  • startscrollright(0x00, 0x0F): mətni soldan sağa sürüşdürün
  • startscrollleft(0x00, 0x0F): mətni sağdan sola sürüşdürün
  • startscrolldiagright(0x00, 0x07): mətni sol alt küncdən sağ yuxarı küncə sürüşdürün startscrolldiagleft(0x00, 0x07): mətni sağ alt küncdən yuxarı sol küncə sürüşdürün

Kodu yükləyin
İndi kodu ESP32.Yükləmə kodu istinad addımlarınıza yükləyin.
Kodu yüklədikdən sonra OLED sürüşən mətni göstərəcək.LAFVIN ESP32 Basic Starter Kit - sürüşdürən mətnLAFVIN loqosu

Sənədlər / Resurslar

LAFVIN ESP32 Əsas Başlanğıc Dəsti [pdf] Təlimat kitabçası
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *