logotyp LAFVINPodstawowy Starter ESP32
Zestaw

Lista rzeczy do spakowania

Zestaw startowy LAFVIN ESP32 Basic - PackingList

Wprowadzenie do ESP32

Nowość w ESP32? Zacznij tutaj! ESP32 to seria niedrogich i energooszczędnych mikrokontrolerów System on a Chip (SoC) opracowanych przez Espressif, które obejmują funkcje bezprzewodowe Wi-Fi i Bluetooth oraz dwurdzeniowy procesor. Jeśli znasz ESP8266, ESP32 jest jego następcą, wyposażonym w wiele nowych funkcji.Zestaw startowy LAFVIN ESP32 Basic — Wprowadzenie do ESP32Specyfikacje ESP32
Jeśli chcesz poznać więcej szczegółów technicznych, zapoznaj się ze szczegółową specyfikacją ESP32 podaną poniżej (źródło: http://esp32.net/)—aby uzyskać więcej szczegółów, sprawdź kartę danych):

  • Łączność bezprzewodowa WiFi: szybkość transmisji danych 150.0 Mb/s z HT40
  • Bluetooth: BLE (Bluetooth Low Energy) i Bluetooth Classic
  • Procesor: Mikroprocesor Tensilica Xtensa Dual-Core 32-bit LX6, działający z częstotliwością 160 lub 240 MHz
  • Pamięć:
  • ROM: 448 KB (do rozruchu i podstawowych funkcji)
  • SRAM: 520 KB (na dane i instrukcje)
  • Pamięć SRAM RTC: 8 KB (do przechowywania danych i głównego procesora podczas rozruchu RTC z trybu głębokiego uśpienia)
  • Pamięć SRAM RTC slow: 8 KB (do dostępu koprocesora w trybie głębokiego uśpienia) eFuse: 1 Kbit (z czego 256 bitów jest używanych dla systemu (adres MAC i konfiguracja układu), a pozostałe 768 bitów jest zarezerwowanych dla aplikacji klienckich, w tym szyfrowania pamięci Flash i identyfikacji układu)

Wbudowana pamięć flash: pamięć flash podłączona wewnętrznie poprzez IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 i SD_DATA_1 w ESP32-D2WD i ESP32-PICO-D4.

  • 0 MiB (układy ESP32-D0WDQ6, ESP32-D0WD i ESP32-S0WD)
  • 2 MiB (układ ESP32-D2WD)
  • 4 MiB (moduł SiP ESP32-PICO-D4)

Niski pobór mocy: zapewnia możliwość korzystania z konwersji ADC, np.ample, podczas głębokiego snu.
Wejścia/wyjścia peryferyjne:

  • interfejs peryferyjny z DMA obejmujący pojemnościowy ekran dotykowy
  • Przetworniki ADC (analogowo-cyfrowe)
  • DAC (przetwornik cyfrowo-analogowy)
  • I²C (układ scalony)
  • UART (Uniwersalny asynchroniczny odbiornik/nadajnik)
  • SPI (interfejs szeregowy urządzeń peryferyjnych)
  • I²S (zintegrowany dźwięk międzychipowy)
  • RMII (Zredukowany interfejs niezależny od mediów)
  • PWM (modulacja szerokości impulsu)

Bezpieczeństwo: akceleratory sprzętowe dla AES i SSL/TLS

Płytki rozwojowe ESP32

ESP32 odnosi się do gołego układu scalonego ESP32. Jednak termin „ESP32” jest również używany w odniesieniu do płyt rozwojowych ESP32. Korzystanie z gołych układów scalonych ESP32 nie jest łatwe ani praktyczne, szczególnie podczas nauki, testowania i prototypowania. W większości przypadków będziesz chciał użyć płyty rozwojowej ESP32.
Jako punkt odniesienia wykorzystamy płytkę ESP32 DEVKIT V1. Na poniższym zdjęciu widać płytkę ESP32 DEVKIT V1 w wersji z 30 pinami GPIO.Zestaw startowy LAFVIN ESP32 Basic - płytki rozwojowe ESP32Specyfikacje – ESP32 DEVKIT V1
Poniższa tabela przedstawia podsumowanie funkcji i specyfikacji płytki ESP32 DEVKIT V1 DOIT:

Liczba rdzeni 2 (dwurdzeniowy)
Wi-Fi 2.4 GHz do 150 Mbit/s
Bluetooth BLE (Bluetooth Low Energy) i starszy Bluetooth
Architektura 32 bitów
Częstotliwość zegara Do 240 MHz
BARAN 512 KB
Szpilki 30(w zależności od modelu)
Urządzenia peryferyjne Dotyk pojemnościowy, ADC (przetwornik analogowo-cyfrowy), DAC (przetwornik cyfrowo-analogowy), 12C (układ międzyscalony), UART (uniwersalny asynchroniczny odbiornik/nadajnik), CAN 2.0 (sieć kontrolera), SPI (interfejs szeregowy urządzeń peryferyjnych), 12S (zintegrowany układ międzyscalony)
Dźwięk), RMII (Reduced Media-Independent Interface), PWM (modulacja szerokości impulsu) i wiele innych.
Wbudowane przyciski Przyciski RESET i BOOT
Wbudowane diody LED wbudowana niebieska dioda LED podłączona do GPIO2; wbudowana czerwona dioda LED, która pokazuje, że płytka jest zasilana
USB na UART
most
CP2102

Zestaw startowy LAFVIN ESP32 Basic - ESP32 DEVKITPłytka jest wyposażona w interfejs microUSB, za pomocą którego można podłączyć ją do komputera w celu przesłania kodu lub podłączenia zasilania.
Używa układu CP2102 (USB do UART) do komunikacji z komputerem przez port COM za pomocą interfejsu szeregowego. Innym popularnym układem jest CH340. Sprawdź, jaki jest konwerter układu USB do UART na Twojej płycie, ponieważ będziesz musiał zainstalować wymagane sterowniki, aby komputer mógł komunikować się z płytą (więcej informacji na ten temat znajdziesz później w tym przewodniku).
Ta płytka jest również wyposażona w przycisk RESET (może być oznaczony jako EN) do ponownego uruchomienia płytki i przycisk BOOT do przełączenia płytki w tryb migania (dostępny do odbioru kodu). Należy pamiętać, że niektóre płytki mogą nie mieć przycisku BOOT.
Posiada również wbudowaną niebieską diodę LED, która jest wewnętrznie podłączona do GPIO 2. Ta dioda LED jest przydatna do debugowania, aby zapewnić pewien rodzaj wizualnego wyjścia fizycznego. Jest również czerwona dioda LED, która zapala się, gdy dostarczasz zasilanie do płytki.Zestaw startowy LAFVIN ESP32 Basic -płytkaWyprowadzenia ESP32
Urządzenia peryferyjne ESP32 obejmują:

  • 18 kanałów przetwornika analogowo-cyfrowego (ADC)
  • 3 interfejsy SPI
  • 3 interfejsy UART
  • 2 interfejsy I2C
  • 16 kanały wyjściowe PWM
  • 2 przetworniki cyfrowo-analogowe (DAC)
  • 2 interfejsy I2S
  • 10 pojemnościowych czujników GPIO

Funkcje ADC (przetwornik analogowo-cyfrowy) i DAC (przetwornik cyfrowo-analogowy) są przypisane do określonych pinów statycznych. Możesz jednak zdecydować, które piny są UART, I2C, SPI, PWM itp. – wystarczy je przypisać w kodzie. Jest to możliwe dzięki funkcji multipleksowania układu ESP32.
Chociaż można zdefiniować właściwości pinów w oprogramowaniu, istnieją piny przypisane domyślnie, jak pokazano na poniższym rysunkuZestaw startowy LAFVIN ESP32 Basic - wyprowadzenia ESP32Ponadto istnieją piny o określonych cechach, które sprawiają, że są odpowiednie lub nie dla konkretnego projektu. Poniższa tabela pokazuje, które piny najlepiej używać jako wejścia, wyjścia i które należy traktować ostrożnie.
Piny podświetlone na zielono są OK do użycia. Te podświetlone na żółto są OK do użycia, ale musisz zwrócić uwagę, ponieważ mogą mieć nieoczekiwane zachowanie, głównie podczas rozruchu. Piny podświetlone na czerwono nie są zalecane do użycia jako wejścia lub wyjścia.

GP-IO Wejście Wyjście Notatki
0 podciągnął się OK wyprowadza sygnał PWM podczas rozruchu, musi być NISKI, aby przejść do trybu migania
1 Pin TX OK wyjście debugowania podczas rozruchu
2 OK OK podłączony do diody LED na pokładzie, musi być pozostawiony w stanie pływającym lub LOW, aby przejść w tryb migania
3 OK Pin RX WYSOKI przy bucie
4 OK OK
5 OK OK wyprowadza sygnał PWM przy rozruchu, pin zaciskowy
12 OK OK but nie nadaje się do użytku, jeśli jest podciągnięty wysoko, szpilka mocująca
13 OK OK
14 OK OK wyprowadza sygnał PWM podczas rozruchu
15 OK OK wyprowadza sygnał PWM przy rozruchu, pin zaciskowy
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 tylko wejście
35 OK tylko wejście
36 OK tylko wejście
39 OK tylko wejście

Czytaj dalej, aby uzyskać bardziej szczegółową i dogłębną analizę GPIO ESP32 i jego funkcji.
Tylko piny wejściowe
GPIO 34 do 39 to GPI – piny wejściowe. Te piny nie mają wewnętrznych rezystorów pull-up ani pull-down. Nie można ich używać jako wyjść, więc używaj tych pinów tylko jako wejść:

  • GPIO34
  • GPIO35
  • GPIO36
  • GPIO39

Zintegrowana pamięć flash SPI w ESP-WROOM-32
GPIO 6 do GPIO 11 są odsłonięte w niektórych płytkach rozwojowych ESP32. Jednak te piny są podłączone do zintegrowanej pamięci flash SPI na chipie ESP-WROOM-32 i nie są zalecane do innych zastosowań. Dlatego nie używaj tych pinów w swoich projektach:

  • GPIO 6 (SCK/CLK)
  • GPIO7 (SDO/SD0)
  • GPIO8 (SDI/SD1)
  • GPIO9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

Pojemnościowe dotykowe GPIO
ESP32 ma 10 wewnętrznych pojemnościowych czujników dotykowych. Mogą one wykrywać zmiany w czymkolwiek, co ma ładunek elektryczny, na przykład w ludzkiej skórze. Mogą więc wykrywać zmiany wywołane przez dotykanie GPIO palcem. Te piny można łatwo zintegrować z pojemnościowymi padami i zastąpić nimi przyciski mechaniczne. Pojemnościowe piny dotykowe można również wykorzystać do wybudzenia ESP32 z głębokiego uśpienia. Te wewnętrzne czujniki dotykowe są podłączone do następujących GPIO:

  • T0 (GPIO4)
  • T1 (GPIO0)
  • T2 (GPIO2)
  • T3 (GPIO15)
  • T4 (GPIO13)
  • T5 (GPIO12)
  • T6 (GPIO14)
  • T7 (GPIO27)
  • T8 (GPIO33)
  • T9 (GPIO32)

Przetwornik analogowo-cyfrowy (ADC)
ESP32 ma 18 kanałów wejściowych ADC 12 bitów (podczas gdy ESP8266 ma tylko 1 kanał ADC 10 bitów). Oto GPIO, które można wykorzystać jako ADC i odpowiednie kanały:

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

Notatka: Pinów ADC2 nie można używać, gdy używane jest Wi-Fi. Tak więc, jeśli używasz Wi-Fi i masz problem z uzyskaniem wartości z ADC2 GPIO, możesz rozważyć użycie ADC1 GPIO. To powinno rozwiązać Twój problem.
Kanały wejściowe ADC mają rozdzielczość 12-bitową. Oznacza to, że możesz uzyskać odczyty analogowe w zakresie od 0 do 4095, gdzie 0 odpowiada 0 V, a 4095 3.3 V. Możesz również ustawić rozdzielczość swoich kanałów na kodzie i zakresie ADC.
Piny ADC ESP32 nie mają liniowego zachowania. Prawdopodobnie nie będziesz w stanie odróżnić 0 od 0.1 V ani 3.2 od 3.3 V. Musisz o tym pamiętać, używając pinów ADC. Otrzymasz zachowanie podobne do tego pokazanego na poniższym rysunku.Zestaw startowy LAFVIN ESP32 Basic - zachowanieKonwerter cyfrowo-analogowy (DAC)
W układzie ESP2 znajdują się 8 kanały DAC 32-bitowe do konwersji sygnałów cyfrowych na sygnały analogowe.tagwyjścia sygnału e. Oto kanały DAC:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
W ESP32 jest obsługa RTC GPIO. GPIO kierowane do podsystemu RTC low-power mogą być używane, gdy ESP32 jest w stanie głębokiego uśpienia. Te RTC GPIO mogą być używane do wybudzania ESP32 z głębokiego uśpienia, gdy Ultra Low
Współprocesor Power (ULP) jest uruchomiony. Następujące GPIO mogą być używane jako zewnętrzne źródło wybudzania.

  • 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
Kontroler LED PWM ESP32 ma 16 niezależnych kanałów, które można skonfigurować do generowania sygnałów PWM o różnych właściwościach. Wszystkie piny, które mogą działać jako wyjścia, mogą być używane jako piny PWM (GPIO 34 do 39 nie mogą generować PWM).
Aby ustawić sygnał PWM, należy zdefiniować w kodzie następujące parametry:

  • Częstotliwość sygnału;
  • Cykl pracy;
  • kanał PWM;
  • GPIO, na które chcesz wyprowadzić sygnał.

I2C
ESP32 ma dwa kanały I2C, a każdy pin można ustawić jako SDA lub SCL. Podczas korzystania z ESP32 z Arduino IDE, domyślne piny I2C to:

  • GPIO21 (SDA)
  • GPIO22 (SCL)

Jeśli chcesz używać innych pinów podczas korzystania z biblioteki wire, wystarczy wywołać:
Przewód.begin(SDA, SCL);
SPI
Domyślnie mapowanie pinów dla SPI wygląda następująco:

SPI MOSI MISO CLK CS
VSPI GPIO23 GPIO19 GPIO18 GPIO5
HSPI GPIO13 GPIO12 GPIO14 GPIO15

Przerwania
Wszystkie GPIO można skonfigurować jako przerwania.
Szpilki do spinania
Układ ESP32 ma następujące wyprowadzenia:

  • GPIO 0 (musi być NISKI, aby przejść do trybu rozruchu)
  • GPIO 2 (musi być zmienny lub LOW podczas rozruchu)
  • GPIO4
  • GPIO 5 (musi być w stanie HIGH podczas rozruchu)
  • GPIO 12 (musi być LOW podczas rozruchu)
  • GPIO 15 (musi być w stanie HIGH podczas rozruchu)

Służą one do przełączenia ESP32 w tryb bootloadera lub flashowania. Na większości płyt rozwojowych z wbudowanym USB/Serial nie musisz się martwić o stan tych pinów. Płyta ustawia piny w odpowiednim stanie do flashowania lub trybu bootowania. Więcej informacji na temat wyboru trybu bootowania ESP32 można znaleźć tutaj.
Jeśli jednak masz urządzenia peryferyjne podłączone do tych pinów, możesz mieć problemy z przesłaniem nowego kodu, flashowaniem ESP32 nowym oprogramowaniem układowym lub resetowaniem płytki. Jeśli masz jakieś urządzenia peryferyjne podłączone do pinów strappingowych i masz problemy z przesłaniem kodu lub flashowaniem ESP32, może to być spowodowane tym, że te urządzenia peryferyjne uniemożliwiają ESP32 przejście w odpowiedni tryb. Przeczytaj dokumentację Boot Mode Selection, aby uzyskać wskazówki dotyczące właściwego kierunku. Po zresetowaniu, flashowaniu lub uruchomieniu te piny działają zgodnie z oczekiwaniami.
Wysokie szpilki w Boot
Niektóre GPIO zmieniają swój stan na WYSOKI lub wyprowadzają sygnały PWM podczas rozruchu lub resetu.
Oznacza to, że jeśli wyjścia są podłączone do tych GPIO, mogą wystąpić nieoczekiwane rezultaty podczas resetowania lub uruchamiania ESP32.

  • GPIO1
  • GPIO3
  • GPIO5
  • GPIO 6 do GPIO 11 (podłączone do zintegrowanej pamięci flash SPI ESP32 – niezalecane do użycia).
  • GPIO14
  • GPIO15

Włącz (EN)
Enable (EN) to pin enable regulatora 3.3 V. Jest on podciągnięty, więc podłącz do uziemienia, aby wyłączyć regulator 3.3 V. Oznacza to, że możesz użyć tego pinu podłączonego do przycisku, aby ponownie uruchomić ESP32, np.ample.
Prąd pobierany przez GPIO
Maksymalny prąd pobierany przez każdy GPIO wynosi 40 mA, zgodnie z sekcją „Zalecane warunki pracy” w karcie katalogowej ESP32.
Wbudowany czujnik efektu Halla ESP32
W urządzeniu ESP32 zastosowano również wbudowany czujnik efektu Halla, który wykrywa zmiany pola magnetycznego w otoczeniu
ESP32 Arduino IDE
Istnieje dodatek do Arduino IDE, który umożliwia programowanie ESP32 za pomocą Arduino IDE i jego języka programowania. W tym samouczku pokażemy, jak zainstalować płytkę ESP32 w Arduino IDE, niezależnie od tego, czy używasz systemu Windows, Mac OS X czy Linux.
Wymagania wstępne: Zainstalowane Arduino IDE
Przed rozpoczęciem tej procedury instalacji musisz mieć zainstalowane Arduino IDE na swoim komputerze. Istnieją dwie wersje Arduino IDE, które możesz zainstalować: wersja 1 i wersja 2.
Możesz pobrać i zainstalować Arduino IDE klikając poniższy link: arduino.cc/pl/Główny/Oprogramowanie
Którą wersję Arduino IDE polecamy? W tej chwili jest ich kilka plugins dla ESP32 (jak SPIFFS) Filesystem Uploader Plugin), które nie są jeszcze obsługiwane w Arduino 2. Tak więc, jeśli zamierzasz używać wtyczki SPIFFS w przyszłości, zalecamy zainstalowanie starszej wersji 1.8.X. Wystarczy przewinąć stronę oprogramowania Arduino w dół, aby ją znaleźć.
Instalowanie dodatku ESP32 w Arduino IDE
Aby zainstalować płytkę ESP32 w środowisku Arduino IDE, wykonaj następujące czynności:

  1. W środowisku Arduino IDE przejdź do File> PreferencjeZestaw startowy LAFVIN ESP32 Basic - Preferencje
  2. Wprowadź poniższe dane w polu „Dodatkowy menedżer zarządu” URLpole s:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Następnie kliknij przycisk „OK”:Zestaw startowy LAFVIN ESP32 Basic - przycisk „OK”Notatka: jeśli masz już płytki ESP8266 URL, możesz oddzielić URLs z przecinkiem w następujący sposób:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Otwórz Menedżera tablic. Przejdź do Narzędzia > Tablica > Menedżer tablic…Zestaw startowy LAFVIN ESP32 Basic - EspressifSzukaj ESP32 and press install button for the “ESP32 by Espressif Systems“:Zestaw startowy LAFVIN ESP32 Basic - EspressifTo wszystko. Powinno zostać zainstalowane po kilku sekundach.Zestaw startowy LAFVIN ESP32 Basic - zainstalowany

Prześlij kod testowy

Podłącz płytkę ESP32 do komputera. Mając otwarte Arduino IDE, wykonaj następujące kroki:

  1. Wybierz swoją płytkę w menu Narzędzia > Płytka (w moim przypadku jest to moduł ESP32 DEV)Zestaw startowy LAFVIN ESP32 Basic - płyta z narzędziami
  2. Wybierz port (jeśli nie widzisz portu COM w swoim Arduino IDE, musisz zainstalować sterowniki VCP dla mostka USB do UART CP210x):Zestaw startowy LAFVIN ESP32 Basic - mostek UART
  3. Otwórz następujący plikamppod spodem File > Byłyamples > WiFi
    (ESP32) > Skanowanie WiFiZestaw startowy LAFVIN ESP32 Basic - WiFiScanZestaw startowy LAFVIN ESP32 Basic - WiFiScan 1
  4. W środowisku Arduino IDE otwiera się nowy szkic:Zestaw startowy LAFVIN ESP32 Basic — Arduino IDE
  5. Naciśnij przycisk Upload w Arduino IDE. Poczekaj kilka sekund, aż kod się skompiluje i prześle na Twoją płytkę.Zestaw startowy LAFVIN ESP32 Basic - płytka
  6. Jeśli wszystko poszło zgodnie z oczekiwaniami, powinieneś zobaczyć komunikat „Przesyłanie zakończone”.Zestaw startowy LAFVIN ESP32 Basic — gotowe przesyłanie
  7. Otwórz Arduino IDE Serial Monitor z szybkością transmisji 115200:Zestaw startowy LAFVIN ESP32 Basic - Monitor
  8. Naciśnij przycisk Włącz na pokładzie ESP32, a powinieneś zobaczyć sieci dostępne w pobliżu Twojego ESP32:Zestaw startowy LAFVIN ESP32 Basic - przycisk włączania

Rozwiązywanie problemów

Jeśli próbujesz przesłać nowy szkic do swojego ESP32 i pojawia się komunikat o błędzie „Wystąpił błąd krytyczny: Nie udało się połączyć z ESP32: Przekroczono limit czasu… Łączenie…”. Oznacza to, że Twój ESP32 nie jest w trybie flashowania/przesyłania.
Po wybraniu właściwej nazwy płyty i portu COM wykonaj następujące kroki:
Przytrzymaj przycisk „BOOT” na płytce ESP32Podstawowy zestaw startowy LAFVIN ESP32 - „BOOT”

  • Naciśnij przycisk „Prześlij” w Arduino IDE, aby przesłać swój szkic:Zestaw startowy LAFVIN ESP32 Basic - ICON 6
  • Po wyświetleniu komunikatu „Connecting…” w Arduino IDE, puść palec z przycisku „BOOT”:Zestaw startowy LAFVIN ESP32 Basic — „Zakończono przesyłanie”
  • Następnie powinieneś zobaczyć komunikat „Zakończono przesyłanie”
    To wszystko. Twój ESP32 powinien mieć uruchomiony nowy szkic. Naciśnij przycisk „ENABLE”, aby ponownie uruchomić ESP32 i uruchomić nowy przesłany szkic.
    Będziesz musiał powtórzyć tę sekwencję przycisków za każdym razem, gdy będziesz chciał przesłać nowy szkic.

Projekt 1 ESP32 Wejścia Wyjścia

W tym przewodniku wprowadzającym dowiesz się, jak odczytywać sygnały wejściowe cyfrowe, takie jak przełączniki przyciskowe, i sterować wyjściami cyfrowymi, takimi jak diody LED, za pomocą układu ESP32 z Arduino IDE.
Wymagania wstępne
Zaprogramujemy ESP32 za pomocą Arduino IDE. Upewnij się, że masz zainstalowany dodatek ESP32 boards, zanim przejdziesz dalej:

  • Instalowanie dodatku ESP32 w Arduino IDE

Sterowanie wyjściami cyfrowymi ESP32
Najpierw musisz ustawić GPIO, które chcesz kontrolować jako WYJŚCIE. Użyj funkcji pinMode() w następujący sposób:
pinMode(GPIO, WYJŚCIE);
Aby sterować wyjściem cyfrowym, wystarczy użyć funkcji digitalWrite(), która przyjmuje jako argumenty GPIO (numer int), do którego się odwołujesz, oraz stan, albo HIGH, albo LOW.
digitalWrite(GPIO, STAN);
Wszystkie GPIO mogą być używane jako wyjścia, z wyjątkiem GPIO 6 do 11 (podłączonych do zintegrowanej pamięci flash SPI) oraz GPIO 34, 35, 36 i 39 (GPIO tylko wejściowe);
Dowiedz się więcej o GPIO ESP32: Przewodnik referencyjny GPIO ESP32
ESP32 Odczyt wejść cyfrowych
Najpierw ustaw GPIO, które chcesz odczytać, jako INPUT, używając funkcji pinMode() w następujący sposób:
pinMode(GPIO, WEJŚCIE);
Aby odczytać dane wejściowe cyfrowe, np. przycisk, należy użyć funkcji digitalRead(), która przyjmuje jako argument GPIO (numer int), do którego się odwołujesz.
cyfrowyOdczyt(GPIO);
Wszystkich GPIO ESP32 można używać jako wejść, poza GPIO 6 do 11 (podłączonymi do zintegrowanej pamięci flash SPI).
Dowiedz się więcej o GPIO ESP32: Przewodnik referencyjny GPIO ESP32
Projekt Example
Aby pokazać Ci, jak korzystać z wejść i wyjść cyfrowych, zbudujemy prosty projekt, np.ample z przyciskiem i diodą LED. Odczytamy stan przycisku i odpowiednio zapalimy diodę LED, jak pokazano na poniższym rysunku.Zestaw startowy LAFVIN ESP32 Basic - Project Example

Wymagane części
Oto lista części potrzebnych do zbudowania obwodu:

  • Zestaw deweloperski ESP32 V1
  • Dioda LED 5 mm
  • Rezystor 220 Ohm
  • Naciśnij przycisk
  • Rezystor 10 kΩ
  • Płytka stykowa
  • Przewody połączeniowe

Schematyczny diagram
Zanim przejdziemy dalej, należy zmontować obwód z diodą LED i przyciskiem.
Podłączymy diodę LED do GPIO 5, a przycisk do GPIO 4.Zestaw startowy LAFVIN ESP32 Basic — schemat ideowyKod
Otwórz kod Project_1_ESP32_Inputs_Outputs.ino w arduino IDEZestaw startowy LAFVIN ESP32 Basic - KodZestaw startowy LAFVIN ESP32 Basic - Kod 1Jak działa kod
W poniższych dwóch wierszach tworzysz zmienne, aby przypisać piny:

Zestaw startowy LAFVIN ESP32 Basic — Code WorksPrzycisk jest podłączony do GPIO 4, a dioda LED jest podłączona do GPIO 5. W środowisku Arduino IDE z ESP32, 4 odpowiada GPIO 4, a 5 odpowiada GPIO 5.
Następnie tworzysz zmienną, aby utrzymać stan przycisku. Domyślnie jest to 0 (nienaciśnięty).
int Stanprzycisku = 0;
W setup() inicjalizujesz przycisk jako WEJŚCIE, a diodę LED jako WYJŚCIE.
W tym celu należy użyć funkcji pinMode(), która akceptuje pin, do którego się odwołujesz, oraz tryb: INPUT lub OUTPUT.
pinMode(buttonPin, INPUT);
pinMode(ledPin, WYJŚCIE);
W pętli loop() można odczytać stan przycisku i odpowiednio ustawić diodę LED.
W następnym wierszu odczytujesz stan przycisku i zapisujesz go w zmiennej buttonState.
Jak widzieliśmy wcześniej, należy użyć funkcji digitalRead().
przyciskState = digitalRead(buttonPin);
Poniższe polecenie if sprawdza, czy stan przycisku jest WYSOKI. Jeśli tak, włącza diodę LED za pomocą funkcji digitalWrite(), która przyjmuje jako argument ledPin i stan WYSOKI.
jeśli (buttonState == HIGH)Zestaw startowy LAFVIN ESP32 Basic - Code Works 1Jeśli stan przycisku nie jest HIGH, wyłączasz diodę LED. Wystarczy ustawić LOW jako drugi argument w funkcji digitalWrite().Zestaw startowy LAFVIN ESP32 Basic - digitalWritePrzesyłanie kodu
Przed kliknięciem przycisku „Prześlij” przejdź do menu Narzędzia > Płytka i wybierz płytkę: DOIT ESP32 DEVKIT V1.
Przejdź do Narzędzia > Port i wybierz port COM, do którego podłączony jest ESP32. Następnie naciśnij przycisk przesyłania i poczekaj na komunikat „Zakończono przesyłanie”.Zestaw startowy LAFVIN ESP32 Basic - ICON 7Uwaga: Jeśli w oknie debugowania widzisz wiele kropek (łączenie…__…__) i komunikat „Nie udało się połączyć z ESP32: przekroczono limit czasu oczekiwania na nagłówek pakietu”, oznacza to, że musisz nacisnąć przycisk BOOT na płycie głównej ESP32 po kropkach
zacznij się pojawiać.Rozwiązywanie problemów

Demonstracja

Po przesłaniu kodu przetestuj swój obwód. Twoja dioda LED powinna się zaświecić, gdy naciśniesz przycisk:Zestaw startowy LAFVIN ESP32 Basic - demonstracjaI wyłącz, kiedy go puścisz:Zestaw startowy LAFVIN ESP32 Basic - turn of

Projekt 2 Wejścia analogowe ESP32

Projekt ten pokazuje, jak odczytywać dane wejściowe analogowe za pomocą układu ESP32, korzystając ze środowiska Arduino IDE.
Odczyt analogowy jest przydatny do odczytywania wartości z rezystorów zmiennych, takich jak potencjometry lub czujniki analogowe.
Wejścia analogowe (ADC)
Odczyt wartości analogowej za pomocą ESP32 oznacza, że ​​można zmierzyć zmienną objętośćtagPoziomy napięcia mieszczą się w zakresie od 0 V do 3.3 V.
tomtagNastępnie wartość mierzona jest przypisywana do wartości pomiędzy 0 a 4095, gdzie 0 V odpowiada 0, a 3.3 V odpowiada 4095. Każda objętośćtagwartościom pomiędzy 0 V i 3.3 V będzie przypisana odpowiadająca im wartość pomiędzy.Zestaw startowy LAFVIN ESP32 Basic - wejścia analogoweADC jest nieliniowy
W idealnym przypadku należy spodziewać się liniowego zachowania przy wykorzystaniu pinów ADC ESP32.
Jednak tak się nie dzieje. Otrzymasz zachowanie pokazane na poniższym wykresie:Zestaw startowy LAFVIN ESP32 Basic - nieliniowyTakie zachowanie oznacza, że ​​ESP32 nie jest w stanie odróżnić napięcia 3.3 V od 3.2 V.
Otrzymasz tę samą wartość dla obu objętościtages: 4095.
To samo dzieje się w przypadku bardzo niskiej objętościtagWartości e: dla 0 V i 0.1 V otrzymasz tę samą wartość: 0. Musisz o tym pamiętać, używając pinów ADC ESP32.
Funkcja analogRead()
Odczyt analogowego wejścia z ESP32 za pomocą Arduino IDE jest tak prosty, jak użycie funkcji analogRead(). Akceptuje ona jako argument GPIO, które chcesz odczytać:
analogowyOdczyt(GPIO);
W płycie DEVKIT V15 (wersja z 1 GPIO) dostępnych jest ich tylko 30.
Weź pinout płytki ESP32 i znajdź piny ADC. Są one zaznaczone czerwoną ramką na poniższym rysunku.Zestaw startowy LAFVIN ESP32 Basic - borderTe analogowe piny wejściowe mają rozdzielczość 12-bitową. Oznacza to, że gdy odczytujesz analogowe wejście, jego zakres może się zmieniać od 0 do 4095.
Uwaga: pinów ADC2 nie można używać, gdy używane jest Wi-Fi. Tak więc, jeśli używasz Wi-Fi i masz problem z uzyskaniem wartości z ADC2 GPIO, możesz rozważyć użycie ADC1 GPIO, co powinno rozwiązać Twój problem.
Aby zobaczyć, jak wszystko się łączy, zrobimy prosty przykładampumożliwia odczytanie wartości analogowej z potencjometru.
Wymagane części
Dla tego byłegoampPotrzebne będą następujące części:

  • Płyta ESP32 DEVKIT V1
  • Potencjometr
  • Płytka stykowa
  • Przewody połączeniowe

Schematyczny
Podłącz potencjometr do ESP32. Środkowy pin potencjometru powinien być podłączony do GPIO 4. Możesz użyć poniższego schematu jako odniesienia.Zestaw startowy LAFVIN ESP32 Basic - SchematKod
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).
Instalowanie dodatku ESP32 w Arduino IDE
Otwórz kod Project_2_ESP32_Inputs_Outputs.ino w arduino IDEZestaw startowy LAFVIN ESP32 Basic - Kod 2Ten kod po prostu odczytuje wartości z potencjometru i wyświetla je w Monitorze szeregowym.
W kodzie zaczynasz od zdefiniowania GPIO, do którego podłączony jest potencjometr. W tym przykładzieampczyli GPIO 4.Zestaw startowy LAFVIN ESP32 Basic - exampleW setup() zainicjuj komunikację szeregową z szybkością transmisji 115200.Zestaw startowy LAFVIN ESP32 Basic - examp1W pętli loop() użyj funkcji analogRead(), aby odczytać analogowe wejście z potPin.Zestaw startowy LAFVIN ESP32 Basic - examp2Na koniec należy wyświetlić wartości odczytane z potencjometru na monitorze szeregowym.Zestaw startowy LAFVIN ESP32 Basic - examp3Prześlij kod dostarczony do Twojego ESP32. Upewnij się, że masz wybraną właściwą płytkę i port COM w menu Narzędzia.
Testowanie Example
Po przesłaniu kodu i naciśnięciu przycisku resetowania ESP32 otwórz monitor szeregowy i ustaw szybkość transmisji na 115200. Obróć potencjometr i obserwuj zmiany wartości.Maksymalna wartość jaką uzyskasz to 4095, a minimalna to 0.Zestaw startowy LAFVIN ESP32 Basic - maksymalna wartość

Podsumowanie

W tym artykule dowiedziałeś się, jak odczytywać wejścia analogowe za pomocą ESP32 z Arduino IDE. Podsumowując:

  • Płytka ESP32 DEVKIT V1 DOIT (wersja 30-pinowa) posiada 15 pinów ADC, których można użyć do odczytu wejść analogowych.
  • Te piny mają rozdzielczość 12 bitów, co oznacza, że ​​można uzyskać wartości od 0 do 4095.
  • Aby odczytać wartość w środowisku Arduino IDE wystarczy użyć funkcji analogRead().
  • Piny ADC ESP32 nie mają liniowego zachowania. Prawdopodobnie nie będziesz w stanie odróżnić 0 od 0.1 V ani 3.2 od 3.3 V. Musisz o tym pamiętać, używając pinów ADC.

Projekt 3 ESP32 PWM (wyjście analogowe)

W tym samouczku pokażemy Ci, jak generować sygnały PWM za pomocą ESP32, korzystając z Arduino IDE. Jako byłyampZbudujemy prosty obwód, który będzie przyciemniał diodę LED wykorzystując sterownik PWM LED w ESP32.Zestaw startowy LAFVIN ESP32 Basic - AnalogOutputKontroler PWM LED ESP32
Układ ESP32 posiada sterownik PWM LED z 16 niezależnymi kanałami, które można skonfigurować w celu generowania sygnałów PWM o różnych właściwościach.
Oto kroki, które należy wykonać, aby przyciemnić diodę LED za pomocą PWM przy użyciu Arduino IDE:

  1. Najpierw musisz wybrać kanał PWM. Jest 16 kanałów od 0 do 15.
  2. Następnie należy ustawić częstotliwość sygnału PWM. W przypadku diody LED odpowiednia jest częstotliwość 5000 Hz.
  3. Musisz również ustawić rozdzielczość cyklu pracy sygnału: masz rozdzielczości od 1 do 16 bitów. Użyjemy rozdzielczości 8-bitowej, co oznacza, że ​​możesz kontrolować jasność LED za pomocą wartości od 0 do 255.
  4.  Następnie musisz określić, na którym GPIO lub GPIO sygnał się pojawi. W tym celu użyjesz następującej funkcji:
    ledcAttachPin(GPIO, kanał)
    Ta funkcja akceptuje dwa argumenty. Pierwszy to GPIO, który wyprowadzi sygnał, a drugi to kanał, który wygeneruje sygnał.
  5. Na koniec, aby sterować jasnością diody LED za pomocą PWM, należy skorzystać z następującej funkcji:

ledcWrite(kanał, współczynnik wypełnienia)
Funkcja ta przyjmuje jako argumenty kanał generujący sygnał PWM i współczynnik wypełnienia.
Wymagane części
Aby skorzystać z tego samouczka będziesz potrzebować następujących części:

  • Płyta ESP32 DEVKIT V1
  • 5mm LED
  • Rezystor 220 Ohm
  •  Płytka stykowa
  • Przewody połączeniowe

Schematyczny
Podłącz diodę LED do ESP32 zgodnie z poniższym schematem. Dioda LED powinna być podłączona do GPIO 4.Zestaw startowy LAFVIN ESP32 Basic - SchematNotatka: możesz użyć dowolnego pinu, o ile może on działać jako wyjście. Wszystkie piny, które mogą działać jako wyjścia, mogą być używane jako piny PWM. Aby uzyskać więcej informacji na temat GPIO ESP32, przeczytaj: ESP32 Pinout Reference: Which GPIO pins should you use?
Kod
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).
Instalowanie dodatku ESP32 w Arduino IDE
Otwórz kod Project_3_ESP32_PWM.ino w arduino IDEZestaw startowy LAFVIN ESP32 Basic - Kod 3Zestaw startowy LAFVIN ESP32 Basic - Kod 4Zaczynamy od zdefiniowania pinu, do którego jest podłączona dioda LED. W tym przypadku dioda LED jest podłączona do GPIO 4.Zestaw startowy LAFVIN ESP32 Basic - Kod 5Następnie ustawiasz właściwości sygnału PWM. Definiujesz częstotliwość 5000 Hz, wybierasz kanał 0, aby wygenerować sygnał i ustawiasz rozdzielczość 8 bitów. Możesz wybrać inne właściwości, inne niż te, aby wygenerować różne sygnały PWM.Zestaw startowy LAFVIN ESP32 Basic - Kod 6W setup() musisz skonfigurować diodę LED PWM przy użyciu właściwości zdefiniowanych wcześniej za pomocą funkcji ledcSetup(), która przyjmuje jako argumenty ledChannel, częstotliwość i rozdzielczość w następujący sposób:Zestaw startowy LAFVIN ESP32 Basic - Kod 8Następnie musisz wybrać GPIO, z którego chcesz otrzymać sygnał. W tym celu użyj funkcji ledcAttachPin(), która przyjmuje jako argumenty GPIO, z którego chcesz otrzymać sygnał, oraz kanał, który generuje sygnał. W tym przykładzieample, otrzymamy sygnał w ledPin GPIO, który odpowiada GPIO 4. Kanał, który generuje sygnał to ledChannel, który odpowiada kanałowi 0.Zestaw startowy LAFVIN ESP32 Basic - Kod 9W pętli będziesz zmieniał współczynnik wypełnienia w zakresie od 0 do 255, aby zwiększyć jasność diody LED.Zestaw startowy LAFVIN ESP32 Basic - jasnośćA następnie pomiędzy 255 a 0, aby zmniejszyć jasność.Zestaw startowy LAFVIN ESP32 Basic - jasność 1Aby ustawić jasność diody LED, wystarczy skorzystać z funkcji ledcWrite(), która przyjmuje jako argumenty kanał generujący sygnał i współczynnik wypełnienia.Zestaw startowy LAFVIN ESP32 Basic - jasność 2Ponieważ używamy rozdzielczości 8-bitowej, współczynnik wypełnienia będzie kontrolowany za pomocą wartości od 0 do 255. Należy pamiętać, że w funkcji ledcWrite() używamy kanału generującego sygnał, a nie GPIO.

Testowanie Example

Prześlij kod do swojego ESP32. Upewnij się, że wybrałeś właściwą płytkę i port COM. Spójrz na swój obwód. Powinieneś mieć ściemniacz LED, który zwiększa i zmniejsza jasność.Zestaw startowy LAFVIN ESP32 Basic — testowanie Example

Projekt 4 Czujnik ruchu PIR ESP32

Ten projekt pokazuje, jak wykrywać ruch za pomocą układu ESP32, wykorzystując czujnik ruchu PIR. Brzęczyk uruchomi alarm po wykryciu ruchu i wyłączy alarm, jeśli przez ustalony czas (np. 4 sekundy) nie zostanie wykryty żaden ruch.
Jak działa czujnik ruchu HC-SR501
.Zestaw startowy LAFVIN ESP32 Basic - Motion Sensor WorksZasada działania czujnika HC-SR501 opiera się na zmianie promieniowania podczerwonego na poruszającym się obiekcie. Aby czujnik HC-SR501 wykrył obiekt, musi on spełniać dwa wymagania:

  • Obiekt emituje promieniowanie podczerwone.
  • Obiekt porusza się lub trzęsie

Więc:
Jeżeli obiekt emituje promień podczerwony, ale się nie porusza (np. osoba stoi nieruchomo i się nie porusza), to nie zostanie on wykryty przez czujnik.
Jeżeli obiekt porusza się, ale nie emituje promienia podczerwonego (np. robot lub pojazd), NIE zostanie on wykryty przez czujnik.
Przedstawiamy Timery
W tym byłymampwprowadzimy również timery. Chcemy, aby dioda LED świeciła przez ustaloną liczbę sekund po wykryciu ruchu. Zamiast używać funkcji delay(), która blokuje kod i nie pozwala na nic innego przez określoną liczbę sekund, powinniśmy użyć timera.Zestaw startowy LAFVIN ESP32 Basic — wprowadzenie do timerówFunkcja delay()
Powinieneś znać funkcję delay(), ponieważ jest ona szeroko stosowana. Ta funkcja jest dość prosta w użyciu. Akceptuje pojedynczą liczbę int jako argument.
Liczba ta oznacza czas w milisekundach, jaki program musi odczekać, zanim przejdzie do następnej linii kodu.Zestaw startowy LAFVIN ESP32 Basic - kodGdy wprowadzisz opóźnienie (1000), program zatrzyma się na tym wierszu na 1 sekundę.
delay() jest funkcją blokującą. Funkcje blokujące uniemożliwiają programowi wykonywanie czegokolwiek innego, dopóki dane zadanie nie zostanie ukończone. Jeśli chcesz, aby wiele zadań wystąpiło w tym samym czasie, nie możesz użyć delay().
W przypadku większości projektów należy unikać opóźnień i zamiast nich stosować timery.
Funkcja millis()
Używając funkcji o nazwie millis() można zwrócić liczbę milisekund, które upłynęły od pierwszego uruchomienia programu.Zestaw startowy LAFVIN ESP32 Basic - pierwsze uruchomienie programuDlaczego ta funkcja jest przydatna? Ponieważ używając pewnej matematyki, możesz łatwo sprawdzić, ile czasu minęło, nie blokując swojego kodu.
Wymagane części
Aby skorzystać z tego samouczka, potrzebujesz następujących części

  • Płyta ESP32 DEVKIT V1
  • Czujnik ruchu PIR (HC-SR501)
  • Aktywny buzzer
  • Przewody połączeniowe
  • Płytka stykowa

SchematycznyZestaw startowy LAFVIN ESP32 Basic - Schemat 1Notatka: Objętość roboczatage HC-SR501 wynosi 5 V. Użyj pinu Vin do zasilania.
Kod
Zanim przejdziesz do tego samouczka, powinieneś mieć zainstalowany dodatek ESP32 w Arduino IDE. Wykonaj jeden z poniższych samouczków, aby zainstalować ESP32 w Arduino IDE, jeśli jeszcze tego nie zrobiłeś. (Jeśli już wykonałeś ten krok, możesz pominąć następny.)
Instalowanie dodatku ESP32 w Arduino IDE
Otwórz kod Project_4_ESP32_PIR_Motion_Sensor.ino w środowisku Arduino IDE.
Demonstracja
Prześlij kod na swoją płytkę ESP32. Upewnij się, że wybrałeś właściwą płytkę i port COM. Kroki odniesienia do przesłania kodu.
Otwórz Monitor szeregowy przy szybkości transmisji 115200.Zestaw startowy LAFVIN ESP32 Basic - Demonstracja 1Przesuń rękę przed czujnik PIR. Brzęczyk powinien się włączyć, a na monitorze szeregowym zostanie wydrukowany komunikat „Wykryto ruch! Alarm brzęczyka”.
Po 4 sekundach brzęczyk powinien się wyłączyć.Zestaw startowy LAFVIN ESP32 Basic - brzęczyk

Projekt 5 Przełącznik ESP32 Web Serwer

W tym projekcie utworzysz samodzielny web serwer z ESP32, który steruje wyjściami (dwie diody LED) za pomocą środowiska programistycznego Arduino IDE. web serwer jest responsywny mobilnie i można uzyskać do niego dostęp z dowolnego urządzenia, które jest przeglądarką w sieci lokalnej. Pokażemy Ci, jak utworzyć web serwer i jak działa kod krok po kroku.
Koniec projektuview
Zanim przejdziemy bezpośrednio do projektu, ważne jest, aby określić, czego oczekujemy web serwer wykona zadanie, dzięki czemu później będzie można łatwiej wykonać kolejne kroki.

  • Ten web serwer, który zbudujesz, steruje dwiema diodami LED podłączonymi do GPIO 32 i GPIO 26 układu ESP27;
  • Możesz uzyskać dostęp do ESP32 web serwera wpisując adres IP ESP32 w przeglądarce w sieci lokalnej;
  • Klikając przyciski na swoim web serwera możesz błyskawicznie zmienić stan każdej diody LED.

Wymagane części
Do tego samouczka będziesz potrzebować następujących części:

  • Płyta ESP32 DEVKIT V1
  • 2x dioda LED 5mm
  • 2x rezystor 200 omów
  • Płytka stykowa
  • Przewody połączeniowe

Schematyczny
Zacznij od zbudowania obwodu. Podłącz dwie diody LED do ESP32, jak pokazano na poniższym schemacie – jedną diodę LED podłącz do GPIO 26, a drugą do GPIO 27.
Notatka: Używamy płytki ESP32 DEVKIT DOIT z 36 pinami. Przed złożeniem układu upewnij się, że sprawdziłeś wyprowadzenia płytki, której używasz.Zestaw startowy LAFVIN ESP32 Basic - SchematKod
Tutaj podajemy kod, który tworzy ESP32 web serwer. Otwórz kod Project_5_ESP32_Switch _Web_Server.ino w arduino IDE, ale jeszcze go nie przesyłaj. Musisz wprowadzić pewne zmiany, aby działał dla Ciebie.
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).
Instalowanie dodatku ESP32 w Arduino IDE
Ustawianie danych uwierzytelniających sieci
Musisz zmodyfikować następujące wiersze swoimi danymi uwierzytelniającymi sieci: SSID i hasło. Kod jest dobrze skomentowany, gdzie należy dokonać zmian.Zestaw startowy LAFVIN ESP32 Basic — dane uwierzytelniające sieciPrzesyłanie kodu
Teraz możesz przesłać kod i web serwer będzie działał natychmiast.
Aby przesłać kod do ESP32, wykonaj następujące kroki:

  1. Podłącz płytkę ESP32 do komputera;
  2. W środowisku Arduino IDE wybierz swoją płytkę w menu Narzędzia > Płytka (w naszym przypadku używamy płytki ESP32 DEVKIT DOIT);Zestaw startowy LAFVIN ESP32 Basic — przesyłanie kodu
  3. Wybierz port COM w Narzędzia > Port.Zestaw startowy LAFVIN ESP32 Basic - Port narzędzi
  4. Naciśnij przycisk Upload w Arduino IDE i poczekaj kilka sekund, aż kod zostanie skompilowany i przesłany na płytkę.Zestaw startowy LAFVIN ESP32 Basic - ICON 7
  5. Poczekaj na komunikat „Zakończono przesyłanie”.Zestaw startowy LAFVIN ESP32 Basic — gotowe przesyłanie 1

Znajdowanie adresu IP ESP
Po przesłaniu kodu otwórz Monitor szeregowy i ustaw prędkość transmisji na 115200.Zestaw startowy LAFVIN ESP32 Basic - adres IP ESPNaciśnij przycisk ESP32 EN (reset). ESP32 łączy się z Wi-Fi i wyświetla adres IP ESP na Serial Monitor. Skopiuj ten adres IP, ponieważ potrzebujesz go, aby uzyskać dostęp do ESP32 web serwer.Podstawowy zestaw startowy LAFVIN ESP32 - web serwerDostęp do Web Serwer
Aby uzyskać dostęp web serwer, otwórz przeglądarkę, wklej adres IP ESP32, a zobaczysz następującą stronę.
Notatka: Twoja przeglądarka i ESP32 powinny być podłączone do tej samej sieci LAN.Zestaw startowy LAFVIN ESP32 Basic — dostęp do Web SerwerJeśli spojrzysz na Serial Monitor, możesz zobaczyć, co dzieje się w tle. ESP otrzymuje żądanie HTTP od nowego klienta (w tym przypadku Twojej przeglądarki).Zestaw startowy LAFVIN ESP32 Basic - żądanie HTTPMożesz również zobaczyć inne informacje na temat żądania HTTP.
Demonstracja
Teraz możesz sprawdzić, czy Twoje web serwer działa prawidłowo. Kliknij przyciski, aby sterować diodami LED.Zestaw startowy LAFVIN ESP32 Basic - tłoW tym samym czasie możesz rzucić okiem na Serial Monitor, aby zobaczyć, co dzieje się w tle. Na przykładample, gdy klikniesz przycisk włączający GPIO 26, ESP32 otrzyma żądanie na /26/on URL.Podstawowy zestaw startowy LAFVIN ESP32 - URLGdy ESP32 otrzyma to żądanie, włącza diodę LED podłączoną do GPIO 26 i aktualizuje jej stan na web strona.Podstawowy zestaw startowy LAFVIN ESP32 - web stronaPrzycisk GPIO 27 działa w podobny sposób. Sprawdź, czy działa prawidłowo.Zestaw startowy LAFVIN ESP32 Basic - działa prawidłowo

Jak działa kod

W tej sekcji przyjrzymy się bliżej kodowi, aby zobaczyć jak on działa.
Pierwszą rzeczą, którą musisz zrobić, jest dodanie biblioteki WiFi.LAFVIN ESP32 Podstawowy zestaw startowy - biblioteka WiFiJak wspomniano wcześniej, w poniższych wierszach należy wpisać swój identyfikator SSID i hasło w cudzysłowie.Zestaw startowy LAFVIN ESP32 Basic - cudzysłówNastępnie ustaw swoje web serwer do portu 80.Podstawowy zestaw startowy LAFVIN ESP32 - web serwerPoniższy wiersz tworzy zmienną, w której przechowywany jest nagłówek żądania HTTP:Zestaw startowy LAFVIN ESP32 Basic - HTTPrequestNastępnie tworzysz zmienne pomocnicze, aby przechowywać bieżący stan swoich wyjść. Jeśli chcesz dodać więcej wyjść i zapisać ich stan, musisz utworzyć więcej zmiennych.Zestaw startowy LAFVIN ESP32 Basic - zmienneMusisz również przypisać GPIO do każdego z wyjść. Tutaj używamy GPIO 26 i GPIO 27. Możesz użyć dowolnych innych odpowiednich GPIO.Zestaw startowy LAFVIN ESP32 Basic - inne odpowiednieorganizować coś()
Teraz przejdźmy do setup(). Najpierw uruchamiamy komunikację szeregową z szybkością transmisji 115200 w celach debugowania.Zestaw startowy LAFVIN ESP32 Basic - celeMożesz również zdefiniować swoje GPIO jako WYJŚCIA i ustawić je na stan NISKI.Zestaw startowy LAFVIN ESP32 Basic - GPIO jako WYJŚCIAPoniższe wiersze rozpoczynają połączenie Wi-Fi od WiFi.begin(ssid, password), czekają na pomyślne nawiązanie połączenia i wyświetlają adres IP ESP w Monitorze szeregowym.Zestaw startowy LAFVIN ESP32 Basic - SerialZestaw startowy LAFVIN ESP32 Basic - Serial 1pętla()
W pętli loop() programujemy, co się stanie, gdy nowy klient nawiąże połączenie z web serwer.
ESP32 zawsze nasłuchuje przychodzących klientów za pomocą następującego wiersza:Zestaw startowy LAFVIN ESP32 Basic - pętlaGdy otrzymamy żądanie od klienta, zapiszemy przychodzące dane. Następująca pętla while będzie działać tak długo, jak długo klient pozostaje połączony. Nie zalecamy zmiany poniższej części kodu, chyba że dokładnie wiesz, co robisz.Zestaw startowy LAFVIN ESP32 Basic - dokładnieZestaw startowy LAFVIN ESP32 Basic - dokładnie 1Zestaw startowy LAFVIN ESP32 Basic - dokładnie 2Następna sekcja instrukcji if i else sprawdza, który przycisk został naciśnięty w Twoim web i odpowiednio kontroluje wyjścia. Jak widzieliśmy wcześniej, tworzymy żądanie na różnych URLs w zależności od naciśniętego przycisku.Zestaw startowy LAFVIN ESP32 Basic - przycisk wciśniętyZestaw startowy LAFVIN ESP32 Basic - przycisk wciśnięty 1Na przykładample, jeśli naciśniesz przycisk GPIO 26 ON, ESP32 otrzyma żądanie na /26/ON URL (możemy zobaczyć te informacje w nagłówku HTTP na Serial Monitor). Możemy więc sprawdzić, czy nagłówek zawiera wyrażenie GET /26/on. Jeśli zawiera, zmieniamy zmienną output26state na ON, a ESP32 włącza diodę LED.
Podobnie działa to w przypadku innych przycisków. Jeśli więc chcesz dodać więcej wyjść, powinieneś zmodyfikować tę część kodu, aby je uwzględnić.
Wyświetlanie kodu HTML web strona
Następną rzeczą, którą musisz zrobić, jest utworzenie web strona. ESP32 wyśle ​​odpowiedź do Twojej przeglądarki z kodem HTML, aby zbudować web strona.
Ten web strona jest wysyłana do klienta za pomocą tego wyrażenia client.println(). Powinieneś wprowadzić to, co chcesz wysłać do klienta, jako argument.
Pierwszą rzeczą, którą powinniśmy wysłać, jest zawsze poniższy wiersz, który oznacza, że ​​wysyłamy kod HTML.Zestaw startowy LAFVIN ESP32 Basic - wysyłanie HTMLNastępnie poniższy wiersz tworzy web strona responsywna w dowolnym web przeglądarka.Podstawowy zestaw startowy LAFVIN ESP32 - web przeglądarkaA poniższe służy do zapobiegania żądaniom na faviconie. – Nie musisz się martwić tą linijką.Zestaw startowy LAFVIN ESP32 Basic - client.println

Stylizacja Web Strona

Następnie mamy trochę tekstu CSS, aby nadać styl przyciskom i web wygląd strony.
Wybieramy czcionkę Helvetica, definiujemy treść, która ma być wyświetlana jako blok i wyrównana do środka.Zestaw startowy LAFVIN ESP32 Basic — stylizacja Web StronaStylizujemy nasze przyciski kolorem #4CAF50, bez obramowania, tekstem w kolorze białym i z tym paddingiem: 16px 40px. Ustawiamy również dekorację tekstu na none, definiujemy rozmiar czcionki, margines i kursor jako wskaźnik.Zestaw startowy LAFVIN ESP32 Basic - wskaźnikDefiniujemy również styl dla drugiego przycisku, ze wszystkimi właściwościami przycisku, który zdefiniowaliśmy wcześniej, ale z innym kolorem. Będzie to styl dla przycisku wyłączania.Zestaw startowy LAFVIN ESP32 Basic - client.println 1

Ustawianie Web Nagłówek pierwszej strony
W następnym wierszu możesz ustawić pierwszy nagłówek swojego web strona. Tutaj mamy „ESP32 Web Serwer”, ale możesz zmienić ten tekst na dowolny inny.Podstawowy zestaw startowy LAFVIN ESP32 - Web Nagłówek stronyWyświetlanie przycisków i odpowiadającego im stanu
Następnie piszesz akapit, aby wyświetlić aktualny stan GPIO 26. Jak widać, używamy zmiennej output26State, dzięki czemu stan aktualizuje się natychmiast, gdy ta zmienna ulega zmianie.Zestaw startowy LAFVIN ESP32 Basic - zmienne zmianyNastępnie wyświetlamy przycisk włączania lub wyłączania, w zależności od bieżącego stanu GPIO. Jeśli bieżący stan GPIO jest wyłączony, wyświetlamy przycisk włączania, jeśli nie, wyświetlamy przycisk wyłączania.Zestaw startowy LAFVIN ESP32 Basic - wyświetl przycisk OFFTę samą procedurę stosujemy dla GPIO 27.
Zamykanie połączenia
Na koniec, gdy odpowiedź się zakończy, czyścimy zmienną nagłówka i zatrzymujemy połączenie z klientem za pomocą client.stop().Zestaw startowy LAFVIN ESP32 Basic — zamykanie połączenia

Podsumowanie

W tym samouczku pokazaliśmy Ci, jak zbudować web serwer z ESP32. Pokazaliśmy Ci prosty przykładampLe, który steruje dwiema diodami LED, ale pomysł polega na zastąpieniu tych diod przekaźnikiem lub innym wyjściem, które chcesz kontrolować.

Projekt 6 LED RGB Web Serwer

W tym projekcie pokażemy Ci, jak zdalnie sterować diodą LED RGB za pomocą płytki ESP32, używając web serwer z selektorem kolorów.
Koniec projektuview
Zanim zaczniemy, zobaczmy jak działa ten projekt:Podstawowy zestaw startowy LAFVIN ESP32 - projekt zakończonyview

  • ESP32 web serwer wyświetla selektor kolorów.
  • Gdy wybierasz kolor, Twoja przeglądarka wysyła zapytanie URL zawierający parametry R, ​​G i B wybranego koloru.
  • Twój ESP32 odbiera żądanie i dzieli wartość każdego parametru koloru.
  • Następnie wysyła sygnał PWM o odpowiedniej wartości do GPIO kontrolujących diodę LED RGB.

Jak działają diody LED RGB?
W przypadku diody LED RGB ze wspólną katodą wszystkie trzy diody LED mają wspólne połączenie ujemne (katodę). Wszystkie elementy zestawu są diodami RGB ze wspólną katodą.Zestaw startowy LAFVIN ESP32 Basic - diody LED RGB działająJak tworzyć różne kolory?
Za pomocą diody LED RGB można oczywiście uzyskać światło czerwone, zielone i niebieskie, a poprzez skonfigurowanie intensywności każdej diody LED można uzyskać również inne kolory.
Na przykładample, aby uzyskać czysto niebieskie światło, należy ustawić niebieską diodę LED na najwyższą intensywność, a zieloną i czerwoną diodę LED na najniższą intensywność. Aby uzyskać białe światło, należy ustawić wszystkie trzy diody LED na najwyższą intensywność.
Mieszanie kolorów
Aby uzyskać inne kolory, możesz połączyć trzy kolory o różnej intensywności. Aby dostosować intensywność każdej diody LED, możesz użyć sygnału PWM.
Ponieważ diody LED są umieszczone bardzo blisko siebie, nasze oczy widzą efekt połączenia kolorów, a nie trzy kolory osobno.
Aby dowiedzieć się, jak łączyć kolory, zapoznaj się z poniższą tabelą.
To najprostsza tabela mieszania kolorów, która jednak daje wyobrażenie na temat zasady działania i sposobu uzyskiwania różnych kolorów.Zestaw startowy LAFVIN ESP32 Basic - różne koloryWymagane części
Do realizacji tego projektu potrzebne będą następujące części:

  • Płyta ESP32 DEVKIT V1
  • Dioda LED RGB
  • 3 rezystory 220 omów
  • Przewody połączeniowe
  • Płytka stykowa

SchematycznyZestaw startowy LAFVIN ESP32 Basic - SchematKod
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).

  • Instalowanie dodatku ESP32 w Arduino IDE

Po złożeniu obwodu otwórz kod
Projekt_6_RGB_LED_Web_Server.ino w środowisku IDE Arduino.
Przed przesłaniem kodu nie zapomnij podać danych logowania do sieci, aby ESP mógł połączyć się z Twoją siecią lokalną.Zestaw startowy LAFVIN ESP32 Basic - sieć lokalnaJak działa kod
Szkic ESP32 wykorzystuje bibliotekę WiFi.h.Zestaw startowy LAFVIN ESP32 Basic - biblioteka WiFi.hPoniższe wiersze definiują zmienne łańcuchowe przechowujące parametry R, ​​G i B z żądania.Zestaw startowy LAFVIN ESP32 Basic - String redStringNastępne cztery zmienne służą do późniejszego dekodowania żądania HTTP.Zestaw startowy LAFVIN ESP32 Basic - żądanie HTTPUtwórz trzy zmienne dla GPIO, które będą sterować parametrami paska R, G i B. W tym przypadku używamy GPIO 13, GPIO 12 i GPIO 14.Zestaw startowy LAFVIN ESP32 Basic - GPIO wymagająTe GPIO muszą wyprowadzać sygnały PWM, więc najpierw musimy skonfigurować właściwości PWM. Ustaw częstotliwość sygnału PWM na 5000 Hz. Następnie skojarz kanał PWM dla każdego koloruZestaw startowy LAFVIN ESP32 Basic - każdy kolorNa koniec ustaw rozdzielczość kanałów PWM na 8-bitowąZestaw startowy LAFVIN ESP32 Basic - kanały PWMW setup() przypisz właściwości PWM do kanałów PWMZestaw startowy LAFVIN ESP32 Basic - kanały PWMPodłącz kanały PWM do odpowiednich GPIOZestaw startowy LAFVIN ESP32 Basic - odpowiednie GPIOPoniższa sekcja kodu wyświetla selektor kolorów w Twoim web i wysyła żądanie na podstawie wybranego koloru.Zestaw startowy LAFVIN ESP32 Basic - wybranyZestaw startowy LAFVIN ESP32 Basic - client.printlnZestaw startowy LAFVIN ESP32 Basic - client.println 1Po wybraniu koloru otrzymasz prośbę o następującym formacie.Podstawowy zestaw startowy LAFVIN ESP32 — poniższy format

Musimy więc podzielić ten ciąg, aby uzyskać parametry R, ​​G i B. Parametry są zapisywane w zmiennych redString, greenString i blueString i mogą mieć wartości od 0 do 255.Zestaw startowy LAFVIN ESP32 Basic - nagłówekZestaw startowy LAFVIN ESP32 Basic - nagłówek 1Aby sterować listwą za pomocą układu ESP32, należy użyć funkcji ledcWrite(), która generuje sygnały PWM z wartościami zdekodowanymi z protokołu HTTP wniosek.Zestaw startowy LAFVIN ESP32 Basic - żądanie HTTP 1Notatka: dowiedz się więcej o PWM z ESP32: Projekt 3 ESP32 PWM (wyjście analogowe)
Aby sterować paskiem za pomocą układu ESP8266, wystarczy użyć
Funkcja analogWrite() do generowania sygnałów PWM z wartościami zdekodowanymi z żądania HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(zielonyPin, zielonyString.toInt());
analogWrite(bluePin, blueString.toInt())
Ponieważ otrzymujemy wartości w zmiennej łańcuchowej, musimy je przekonwertować na liczby całkowite za pomocą metody toInt().
Demonstracja
Po wprowadzeniu danych logowania do sieci wybierz odpowiednią płytkę i port COM, a następnie prześlij kod do ESP32. Postępuj zgodnie z instrukcjami dotyczącymi przesyłania kodu.
Po przesłaniu otwórz Serial Monitor przy szybkości transmisji 115200 i naciśnij przycisk ESP Enable/Reset. Powinieneś otrzymać adres IP płyty.Zestaw startowy LAFVIN ESP32 Basic - ta sama sieć LANOtwórz przeglądarkę i wprowadź adres IP ESP. Teraz użyj selektora kolorów, aby wybrać kolor dla diody LED RGB.
Następnie należy nacisnąć przycisk „Zmień kolor”, aby zmienić kolor.Zestaw startowy LAFVIN ESP32 Basic - dioda LED RGBAby wyłączyć diodę LED RGB, wybierz kolor czarny.
Najmocniejsze kolory (znajdujące się na górze palety kolorów) przyniosą lepsze rezultaty.Zestaw startowy LAFVIN ESP32 Basic - lepsze rezultaty

Projekt 7 Przekaźnik ESP32 Web Serwer

Użycie przekaźnika z ESP32 to świetny sposób na zdalne sterowanie urządzeniami domowymi AC. Ten samouczek wyjaśnia, jak sterować modułem przekaźnika za pomocą ESP32.
Przyjrzymy się, jak działa moduł przekaźnika, jak podłączyć przekaźnik do ESP32 i zbudować web serwer umożliwiający zdalne sterowanie przekaźnikiem.
Przedstawiamy przekaźniki
Przekaźnik to elektrycznie sterowany przełącznik i jak każdy inny przełącznik, można go włączać i wyłączać, przepuszczając prąd lub nie. Można go kontrolować za pomocą małej objętościtages, podobnie jak 3.3 V dostarczane przez GPIO ESP32 i pozwala nam kontrolować wysokie głośnościtagtakie jak 12 V, 24 V lub napięcie sieciowetage (230 V w Europie i 120 V w USA).Zestaw startowy LAFVIN ESP32 Basic — wprowadzenie do przekaźnikówPo lewej stronie znajdują się dwa zestawy po trzy gniazda do podłączenia urządzeń o dużej mocy.tages, a piny po prawej stronie (niska głośność)tage) podłączyć do GPIO ESP32.
Objętość siecitage PołączeniaZestaw startowy LAFVIN ESP32 Basic - tom sieciowytage PołączeniaModuł przekaźnika pokazany na poprzednim zdjęciu ma dwa złącza, każde z trzema gniazdami: wspólnym (COM), normalnie zamkniętym (NC) i normalnie otwartym (NO).

  • COM: podłącz prąd, który chcesz kontrolować (prąd sieciowy)tagmi).
  • NC (Normally Closed): konfiguracja normalnie zamknięta jest używana, gdy chcesz, aby przekaźnik był domyślnie zamknięty. NC to piny COM, które są połączone, co oznacza, że ​​prąd płynie, dopóki nie wyślesz sygnału z ESP32 do modułu przekaźnika, aby otworzyć obwód i zatrzymać przepływ prądu.
  • NO (Normalnie Otwarty): konfiguracja normalnie otwarta działa w odwrotnej kolejności: nie ma połączenia między pinami NO i COM, więc obwód jest przerwany, dopóki nie wyślesz sygnału z ESP32 w celu zamknięcia obwodu.

Piny kontrolneZestaw startowy LAFVIN ESP32 Basic - piny sterująceNiska objętośćtagStrona e ma zestaw czterech pinów i zestaw trzech pinów. Pierwszy zestaw składa się z VCC i GND do zasilania modułu oraz wejścia 1 (IN1) i wejścia 2 (IN2) do sterowania odpowiednio dolnym i górnym przekaźnikiem.
Jeśli twój moduł przekaźnikowy ma tylko jeden kanał, będziesz mieć tylko jeden pin IN. Jeśli masz cztery kanały, będziesz mieć cztery piny IN itd.
Sygnał, który wysyłasz do pinów IN, określa, czy przekaźnik jest aktywny, czy nie. Przekaźnik jest wyzwalany, gdy napięcie wejściowe spada poniżej około 2 V. Oznacza to, że będziesz mieć następujące scenariusze:

  • Konfiguracja normalnie zamknięta (NC):
  • Sygnał WYSOKI – prąd płynie
  • Sygnał NISKI – prąd nie płynie
  • Konfiguracja normalnie otwarta (NIE):
  • Sygnał WYSOKI – prąd nie płynie
  • Sygnał NISKI – prąd w przepływie

Konfigurację normalnie zamkniętą należy stosować w przypadku, gdy prąd powinien płynąć przez większość czasu i chcemy go zatrzymywać tylko od czasu do czasu.
Użyj konfiguracji normalnie otwartej, gdy chcesz, aby prąd płynął okazjonalnie (np.ample, włącz wszystkoamp sporadycznie).
Wybór ZasilaczaZestaw startowy LAFVIN ESP32 Basic - Wybór zasilaczaDrugi zestaw pinów składa się z pinów GND, VCC i JD-VCC.
Pin JD-VCC zasila elektromagnes przekaźnika. Zwróć uwagę, że moduł ma zworkę łączącą piny VCC i JD-VCC; pokazana tutaj jest żółta, ale Twoja może mieć inny kolor.
Po założeniu zworki piny VCC i JD-VCC są połączone. Oznacza to, że elektromagnes przekaźnika jest zasilany bezpośrednio z pinu zasilania ESP32, więc moduł przekaźnika i obwody ESP32 nie są fizycznie odizolowane od siebie.
Bez zworki musisz zapewnić niezależne źródło zasilania, aby zasilić elektromagnes przekaźnika przez pin JD-VCC. Taka konfiguracja fizycznie izoluje przekaźniki od ESP32 za pomocą wbudowanego optoizolatora modułu, co zapobiega uszkodzeniu ESP32 w przypadku skoków napięcia.
SchematycznyZestaw startowy LAFVIN ESP32 Basic - SchematOstrzeżenie: Użycie dużej objętościtagZasilacze mogą spowodować poważne obrażenia.
Dlatego zamiast zasilania o dużej mocy stosuje się diody LED o średnicy 5 mm.tagżarówki e w eksperymencie. Jeśli nie jesteś zaznajomiony z siecią voltagpoproś kogoś, kto ci pomoże. Podczas programowania ESP lub podłączania obwodu upewnij się, że wszystko jest odłączone od zasilania sieciowego.tage.Zestaw startowy LAFVIN ESP32 Basic - objętość sieciowatageInstalowanie biblioteki dla ESP32
Aby to zbudować web serwer, używamy ESPAsyncWebBiblioteka serwera i biblioteka AsyncTCP.
Instalowanie ESPAsyncWebBiblioteka serwera
Aby zainstalować, wykonaj następujące kroki ESPAsyncWebSerwer biblioteka:

  1. Kliknij tutaj, aby pobrać ESPAsyncWebBiblioteka serwera. Powinieneś mieć
    folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip, a powinieneś otrzymać ESPAsyncWebFolder główny serwera
  3. Zmień nazwę swojego folderu z ESPAsyncWebSerwer-master do ESPAsyncWebSerwer
  4. Przenieś ESPAsyncWebFolder serwera do folderu bibliotek instalacyjnych Arduino IDE

Alternatywnie, w swoim Arduino IDE, możesz przejść do Szkic > Dołącz
Biblioteka > Dodaj bibliotekę .ZIP… i wybierz bibliotekę, którą właśnie pobrałeś.
Instalowanie biblioteki AsyncTCP dla ESP32
Ten ESPAsyncWebSerwer biblioteka wymaga AsyncTCP biblioteka do pracy. Śledź
Następne kroki instalacji tej biblioteki:

  1. Kliknij tutaj, aby pobrać bibliotekę AsyncTCP. Powinieneś mieć folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip, a powinieneś otrzymać folder AsyncTCP-master
    1. Zmień nazwę folderu z AsyncTCP-master na AsyncTCP
    3. Przenieś folder AsyncTCP do folderu bibliotek instalacyjnych Arduino IDE
    4. Na koniec ponownie otwórz Arduino IDE

Alternatywnie, w swoim Arduino IDE, możesz przejść do Szkic > Dołącz
Biblioteka > Dodaj bibliotekę .ZIP… i wybierz bibliotekę, którą właśnie pobrałeś.
Kod
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).
Instalowanie dodatku ESP32 w Arduino IDE
Po zainstalowaniu wymaganych bibliotek otwórz kod Project_7_ESP32_Relay_Web_Server.ino w środowisku IDE Arduino.
Przed przesłaniem kodu nie zapomnij podać danych logowania do sieci, aby ESP mógł połączyć się z Twoją siecią lokalną.Zestaw startowy LAFVIN ESP32 Basic - sieć lokalnaDemonstracja
Po wprowadzeniu niezbędnych zmian prześlij kod do ESP32.Upload code reference steps.
Otwórz monitor szeregowy z szybkością transmisji 115200 i naciśnij przycisk ESP32 EN, aby uzyskać jego adres IP. Następnie otwórz przeglądarkę w sieci lokalnej i wpisz adres IP ESP32, aby uzyskać dostęp do web serwer.
Otwórz monitor szeregowy z szybkością transmisji 115200 i naciśnij przycisk ESP32 EN, aby uzyskać jego adres IP. Następnie otwórz przeglądarkę w sieci lokalnej i wpisz adres IP ESP32, aby uzyskać dostęp do web serwer.Podstawowy zestaw startowy LAFVIN ESP32 - web serwerNotatka: Twoja przeglądarka i ESP32 powinny być podłączone do tej samej sieci LAN.
Powinieneś otrzymać coś takiego, z dwoma przyciskami równymi liczbie przekaźników zdefiniowanych w kodzie.Zestaw startowy LAFVIN ESP32 Basic - smartfonTeraz możesz sterować przekaźnikami za pomocą przycisków przy użyciu smartfona.Zestaw startowy LAFVIN ESP32 Basic - smartfon 1

Projekt_8_Synchronizacja_stanu_wyjściowego_ Web_Serwer

W tym projekcie pokazano, jak sterować wyjściami ESP32 lub ESP8266 za pomocą web serwer i fizyczny przycisk jednocześnie. Stan wyjściowy jest aktualizowany na web strona, niezależnie od tego, czy jest zmieniana za pomocą fizycznego przycisku, czy web serwer.
Koniec projektuview
Przyjrzyjmy się pokrótce, jak działa projekt.Podstawowy zestaw startowy LAFVIN ESP32 - projekt zakończonyviewESP32 lub ESP8266 jest hostem web serwer umożliwiający kontrolę stanu wyjścia;

  • Aktualny stan wyjścia jest wyświetlany na web serwer;
  • ESP jest również podłączony do fizycznego przycisku, który steruje tym samym wyjściem;
  • Jeżeli zmienisz stan wyjścia za pomocą fizycznego przycisku, jego aktualny stan zostanie również zaktualizowany. web serwer.

Podsumowując, projekt ten umożliwia sterowanie tym samym wyjściem za pomocą web serwer i przycisk jednocześnie. Za każdym razem, gdy zmienia się stan wyjścia, web Serwer został zaktualizowany.
Wymagane części
Oto lista części potrzebnych do zbudowania obwodu:

  • Płyta ESP32 DEVKIT V1
  • Dioda LED 5 mm
  • Rezystor 220Ohm
  • Naciśnij przycisk
  • Rezystor 10 kΩ
  • Płytka stykowa
  • Przewody połączeniowe

SchematycznyZestaw startowy LAFVIN ESP32 Basic - Schemat 1Instalowanie biblioteki dla ESP32
Aby to zbudować web serwer, używamy ESPAsyncWebBiblioteka serwera i biblioteka AsyncTCP. (Jeśli ten krok został już wykonany, możesz pominąć go i przejść do następnego).
Instalowanie ESPAsyncWebBiblioteka serwera
Aby zainstalować ESPAsync, wykonaj następujące krokiWebBiblioteka serwera:

  1. Kliknij tutaj, aby pobrać ESPAsyncWebBiblioteka serwera. Powinieneś mieć
    folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip, a powinieneś otrzymać ESPAsyncWebFolder główny serwera
  3. Zmień nazwę swojego folderu z ESPAsyncWebSerwer-master do ESPAsyncWebSerwer
  4. Przenieś ESPAsyncWebFolder serwera do folderu bibliotek instalacyjnych Arduino IDE
    Alternatywnie, w swoim Arduino IDE, możesz przejść do Szkic > Dołącz
    Biblioteka > Dodaj bibliotekę .ZIP… i wybierz bibliotekę, którą właśnie pobrałeś.

Instalowanie biblioteki AsyncTCP dla ESP32
Synchronizacja ESPAWebBiblioteka serwera wymaga biblioteki AsyncTCP do działania. Wykonaj następujące kroki, aby zainstalować tę bibliotekę:

  1. Kliknij tutaj, aby pobrać bibliotekę AsyncTCP. Powinieneś mieć folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip, a powinieneś otrzymać folder AsyncTCP-master
  3. Zmień nazwę folderu z AsyncTCP-master na AsyncTCP
  4. Przenieś folder AsyncTCP do folderu bibliotek instalacyjnych Arduino IDE
  5. Na koniec ponownie otwórz Arduino IDE
    Alternatywnie, w swoim Arduino IDE, możesz przejść do Szkic > Dołącz
    Biblioteka > Dodaj bibliotekę .ZIP… i wybierz bibliotekę, którą właśnie pobrałeś.

Kod
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).
Instalowanie dodatku ESP32 w Arduino IDE
Po zainstalowaniu wymaganych bibliotek otwórz kod
Projekt_8_Synchronizacja_stanu_wyjściowego_Web_Server.ino w środowisku IDE Arduino.
Przed przesłaniem kodu nie zapomnij podać danych logowania do sieci, aby ESP mógł połączyć się z Twoją siecią lokalną.Zestaw startowy LAFVIN ESP32 Basic - Kod

Jak działa kod

Stan przycisku i stan wyjścia
Zmienna ledState przechowuje stan wyjścia LED. Domyślnie, gdy web serwer uruchamia się, jest NISKI.Zestaw startowy LAFVIN ESP32 Basic — Code Works

buttonState i lastButtonState służą do wykrywania, czy przycisk został naciśnięty, czy nie.Zestaw startowy LAFVIN ESP32 Basic - został wydrukowanyPrzycisk (web serwer)
Nie uwzględniliśmy kodu HTML potrzebnego do utworzenia przycisku w zmiennej index_html.
Chcemy mieć możliwość zmiany tego stanu w zależności od aktualnego stanu diody LED, który można również zmienić za pomocą przycisku.
Stworzyliśmy więc symbol zastępczy dla przycisku %BUTTONPLACEHOLDER%, który zostanie zastąpiony tekstem HTML, aby później utworzyć przycisk w kodzie (robi się to w funkcji processor()).Zestaw startowy LAFVIN ESP32 Basic - został wciśnięty 1edytor()
Funkcja processor() zastępuje wszelkie symbole zastępcze w tekście HTML rzeczywistymi wartościami. Najpierw sprawdza, czy teksty HTML zawierają jakiekolwiek
symbole zastępcze %BUTTONPLACEHOLDER%.Zestaw startowy LAFVIN ESP32 Basic - procesorNastępnie wywołaj funkcję theoutputState(), która zwraca bieżący stan wyjściowy. Zapisujemy go w zmiennej outputStateValue.Zestaw startowy LAFVIN ESP32 Basic - outputStateNastępnie użyj tej wartości, aby utworzyć tekst HTML wyświetlający przycisk z odpowiednim stanem:Zestaw startowy LAFVIN ESP32 Basic - kod 4Żądanie HTTP GET w celu zmiany stanu wyjścia (JavaScript)
Po naciśnięciu przycisku wywoływana jest funkcja thetoggleCheckbox(). Funkcja ta będzie wysyłać żądanie do różnych URLs, aby włączyć lub wyłączyć diodę LED.Zestaw startowy LAFVIN ESP32 Basic - JavaScriptAby włączyć diodę LED, należy wysłać żądanie na /update?state=1 URL:Zestaw startowy LAFVIN ESP32 Basic - element.checkedW przeciwnym wypadku wysyła żądanie na /update?state=0 URL.
Żądanie HTTP GET w celu aktualizacji stanu (JavaScript)
Aby zachować aktualny stan wyjściowy web serwer, wywołujemy następującą funkcję, która tworzy nowe żądanie w /state URL co sekundę.Zestaw startowy LAFVIN ESP32 Basic - Aktualizacja stanuZestaw startowy LAFVIN ESP32 Basic - Aktualizacja stanu 1Obsługuj żądania
Następnie musimy zająć się tym, co się stanie, gdy ESP32 lub ESP8266 otrzyma żądania na tych urządzeniach. URLs.
Gdy żądanie zostanie odebrane na root /URL, wysyłamy stronę HTML i procesor.Zestaw startowy LAFVIN ESP32 Basic - obsługa żądańZestaw startowy LAFVIN ESP32 Basic - obsługa żądań 1Poniższe wiersze sprawdzają, czy otrzymałeś żądanie dotyczące /update?state=1 lub /update?state=0 URL i odpowiednio zmienia stan diody LED.Zestaw startowy LAFVIN ESP32 Basic - ledStateZestaw startowy LAFVIN ESP32 Basic - inputParamGdy żądanie zostanie odebrane w /state URL, wysyłamy aktualny stan wyjściowy:Zestaw startowy LAFVIN ESP32 Basic - stan wyjściapętla()
W pętli loop() odblokowujemy przycisk i włączamy lub wyłączamy diodę LED w zależności od wartości ledState zmienny.Zestaw startowy LAFVIN ESP32 Basic - pętla 1Demonstracja
Prześlij kod na płytkę ESP32. Poniżej przedstawiono kroki referencyjne dotyczące przesyłania kodu.
Następnie otwórz Monitor szeregowy i ustaw prędkość transmisji na 115200. Naciśnij przycisk EN/RST na płycie, aby uzyskać adres IP.Zestaw startowy LAFVIN ESP32 Basic - demonstracjaOtwórz przeglądarkę w swojej sieci lokalnej i wpisz adres IP ESP. Powinieneś mieć dostęp do web serwer, jak pokazano poniżej.
Notatka: Twoja przeglądarka i ESP32 powinny być podłączone do tej samej sieci LAN.Zestaw startowy LAFVIN ESP32 Basic - przeglądarkaMożesz przełączać przycisk na web serwer w celu włączenia diody LED.Podstawowy zestaw startowy LAFVIN ESP32 - web serwer 1Możesz również sterować tą samą diodą LED za pomocą fizycznego przycisku. Jej stan będzie zawsze automatycznie aktualizowany na web serwer.

Projekt 9 ESP32 DHT11 Web Serwer

W tym projekcie nauczysz się, jak zbudować asynchroniczny ESP32 web serwer z DHT11, który wyświetla temperaturę i wilgotność za pomocą Arduino IDE.
Wymagania wstępne
Ten web serwer, który zbudujemy, będzie automatycznie aktualizował odczyty bez konieczności odświeżania web strona.
Dzięki temu projektowi nauczysz się:

  • Jak odczytać temperaturę i wilgotność z czujników DHT;
  • Zbuduj asynchronicznie web serwer używający ESPAsyncWebBiblioteka serwera;
  • Automatyczna aktualizacja odczytów czujnika bez konieczności odświeżania web strona.

Asynchroniczny Web Serwer
Aby zbudować web serwer, którego będziemy używać ESPAsyncWebBiblioteka serwera który zapewnia łatwy sposób na zbudowanie asynchronicznego web serwer. Budowanie asynchronicznego web serwer ma kilka zalettages, jak wspomniano na stronie biblioteki GitHub, takie jak:

  • „Obsługuj więcej niż jedno połączenie jednocześnie”;
  • „Gdy wyślesz odpowiedź, będziesz od razu gotowy do obsługi innych połączeń, podczas gdy serwer zajmie się wysyłaniem odpowiedzi w tle”;
  • „Prosty silnik przetwarzania szablonów do obsługi szablonów”;

Wymagane części
Aby ukończyć ten samouczek, będziesz potrzebować następujących części:

  • Płyta rozwojowa ESP32
  • Moduł DHT11
  • Płytka stykowa
  • Przewody połączeniowe

SchematycznyZestaw startowy LAFVIN ESP32 Basic - Schemat 2Instalowanie bibliotek
Dla tego projektu musisz zainstalować kilka bibliotek:

Instalowanie biblioteki czujników DHT
Aby odczytać dane z czujnika DHT za pomocą Arduino IDE, należy zainstalować Biblioteka czujników DHTAby zainstalować bibliotekę, wykonaj następujące kroki.

  1. Kliknij tutaj, aby pobrać bibliotekę DHT Sensor. Powinieneś mieć folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip, a powinieneś otrzymać folder DHT-sensor-library-master
  3. Zmień nazwę folderu z DHT-sensor-library-master na DHT_sensor
  4. Przenieś folder DHT_sensor do folderu bibliotek instalacyjnych Arduino IDE
  5. Na koniec ponownie otwórz Arduino IDE

Instalowanie sterownika czujnika Adafruit Unified
Musisz również zainstalować Biblioteka sterownika czujnika Adafruit Unified do pracy z czujnikiem DHT. Wykonaj poniższe kroki, aby zainstalować bibliotekę.

  1. Kliknij tutaj, aby pobrać bibliotekę Adafruit Unified Sensor. Powinieneś mieć folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip, a powinieneś otrzymać folder Adafruit_sensor-master
  3. Zmień nazwę folderu z Adafruit_sensor-master na Adafruit_sensor
  4. Przenieś folder Adafruit_sensor do folderu bibliotek instalacyjnych Arduino IDE
  5. Na koniec ponownie otwórz Arduino IDE

Instalowanie ESPAsyncWebBiblioteka serwera

Aby zainstalować, wykonaj następujące kroki ESPAsyncWebSerwer biblioteka:

  1. Kliknij tutaj, aby pobrać ESPAsyncWebBiblioteka serwera. Powinieneś mieć
    folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip i powinieneś
    pobierz ESPAsyncWebFolder główny serwera
  3. Zmień nazwę swojego folderu z ESPAsyncWebSerwer-master do ESPAsyncWebSerwer
  4. Przenieś ESPAsyncWebFolder serwera do folderu bibliotek instalacyjnych Arduino IDE

Instalowanie biblioteki Async TCP dla ESP32
Ten ESPAsyncWebSerwer biblioteka wymaga AsyncTCP biblioteka do pracy. Wykonaj następujące kroki, aby zainstalować tę bibliotekę:

  1. Kliknij tutaj, aby pobrać bibliotekę AsyncTCP. Powinieneś mieć folder .zip w folderze Pobrane
  2. Rozpakuj folder .zip, a powinieneś otrzymać folder AsyncTCP-master
  3. Zmień nazwę folderu z AsyncTCP-master na AsyncTCP
  4. Przenieś folder AsyncTCP do folderu bibliotek instalacyjnych Arduino IDE
  5. Na koniec ponownie otwórz Arduino IDE

Kod
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).
Instalowanie dodatku ESP32 w Arduino IDE
Po zainstalowaniu wymaganych bibliotek otwórz kod
Projekt_9_ESP32_DHT11_Web_Server.ino w środowisku IDE Arduino.
Przed przesłaniem kodu nie zapomnij podać danych logowania do sieci, aby ESP mógł połączyć się z Twoją siecią lokalną.Zestaw startowy LAFVIN ESP32 Basic - KodJak działa kod
W poniższych akapitach wyjaśnimy, jak działa kod. Czytaj dalej, jeśli chcesz dowiedzieć się więcej lub przejdź do sekcji Demonstration, aby zobaczyć końcowy wynik.
Importowanie bibliotek
Najpierw zaimportuj wymagane biblioteki. WiFi, ESPAsyncWebDo zbudowania potrzebny jest serwer i ESPAsyncTCP web serwer. Biblioteki Adafruit_Sensor i DHT są potrzebne do odczytu z czujników DHT11 lub DHT22.LAFVIN ESP32 Basic Starter Kit - Importowanie bibliotekZestaw startowy LAFVIN ESP32 Basic — jak działa kodDefinicja zmiennych
Zdefiniuj GPIO, do którego podłączony jest pin danych DHT. W tym przypadku jest on podłączony do GPIO 4.LAFVIN ESP32 Podstawowy zestaw startowy - Definicja zmiennychNastępnie wybierz typ czujnika DHT, którego używasz. W naszym example, używamy DHT22. Jeśli używasz innego typu, musisz po prostu odkomentować swój czujnik i skomentować wszystkie pozostałe.Zestaw startowy LAFVIN ESP32 Basic - Definicja zmiennych 1

Utwórz obiekt DHT z typem i pinem, które zdefiniowaliśmy wcześniej.Zestaw startowy LAFVIN ESP32 Basic - Definicja zmiennych 2Utwórz asynchronicznieWebObiekt serwera na porcie 80.Zestaw startowy LAFVIN ESP32 Basic - Definicja zmiennych 3Odczyt funkcji temperatury i wilgotności
Stworzyliśmy dwie funkcje: jedną do odczytu temperatury Stworzyliśmy dwie funkcje: jedną do odczytu temperatury (readDHTTemperature()) i drugą do odczytu wilgotności (readDHTHumidity()).Zestaw startowy LAFVIN ESP32 Basic - readDHTHumidityZestaw startowy LAFVIN ESP32 Basic - odczyty czujnikówUzyskiwanie odczytów czujników jest tak proste, jak użycie metod readTemperature() i readHumidity() na obiekcie dht.Zestaw startowy LAFVIN ESP32 Basic - obiektMamy również warunek, który zwraca dwa myślniki (–) w przypadku, gdy czujnik nie otrzyma odczytów.Zestaw startowy LAFVIN ESP32 Basic - odczytyOdczyty są zwracane jako typ string. Aby przekonwertować float na string, użyj funkcji String()Zestaw startowy LAFVIN ESP32 Basic - StringDomyślnie odczytujemy temperaturę w stopniach Celsjusza. Aby uzyskać temperaturę w stopniach Fahrenheita, zakomentuj temperaturę w stopniach Celsjusza i usuń komentarz z temperatury w stopniach Fahrenheita, aby uzyskać następujące dane:Zestaw startowy LAFVIN ESP32 Basic - FahrenheitZestaw startowy LAFVIN ESP32 Basic - Fahrenheit 1Prześlij kod
Teraz prześlij kod do swojego ESP32. Upewnij się, że masz wybraną właściwą płytkę i port COM. Kroki odniesienia do przesłania kodu.
Po przesłaniu otwórz Serial Monitor przy szybkości transmisji 115200. Naciśnij przycisk resetowania ESP32. Adres IP ESP32 powinien zostać wydrukowany w Serial monitor.Zestaw startowy LAFVIN ESP32 Basic — prześlij kodDemonstracja
Otwórz przeglądarkę i wpisz adres IP ESP32. Twój web serwer powinien wyświetlić najnowsze odczyty czujników.
Notatka: Twoja przeglądarka i ESP32 powinny być podłączone do tej samej sieci LAN.
Należy pamiętać, że odczyty temperatury i wilgotności są aktualizowane automatycznie, bez konieczności odświeżania. web strona.Zestaw startowy LAFVIN ESP32 Basic - Demonstracja 1

Projekt_10_ESP32_Wyświetlacz_OLED

Projekt ten pokazuje, jak używać wyświetlacza OLED SSD0.96 o przekątnej 1306 cala z ESP32 przy użyciu Arduino IDE.
Przedstawiamy wyświetlacz OLED o przekątnej 0.96 cala
Ten Wyświetlacz OLED w tym samouczku wykorzystamy model SSD1306: monochromatyczny wyświetlacz o przekątnej 0.96 cala i rozdzielczości 128×64 pikseli, jak pokazano na poniższym rysunku.Zestaw startowy LAFVIN ESP32 Basic - wyświetlacz OLEDWyświetlacz OLED nie wymaga podświetlenia, co daje bardzo ładny kontrast w ciemnych miejscach. Ponadto jego piksele zużywają energię tylko wtedy, gdy są włączone, więc wyświetlacz OLED zużywa mniej energii w porównaniu z innymi wyświetlaczami.
Ponieważ wyświetlacz OLED używa protokołu komunikacyjnego I2C, okablowanie jest bardzo proste. Możesz użyć poniższej tabeli jako odniesienia.

Pin OLED ESP32
Wino 3.3 V
GND GND
SCL GPIO22
SDA GPIO21

SchematycznyZestaw startowy LAFVIN ESP32 Basic - SchematInstalowanie biblioteki OLED SSD1306 – ESP32
Dostępnych jest kilka bibliotek umożliwiających sterowanie wyświetlaczem OLED za pomocą ESP32.
W tym samouczku wykorzystamy dwie biblioteki Adafruit: Biblioteka Adafruit_SSD1306 I Biblioteka Adafruit_GFX.
Aby zainstalować te biblioteki, wykonaj następujące kroki.

  1. Otwórz Arduino IDE i przejdź do Sketch > Include Library > Manage Libraries. Powinien otworzyć się Library Manager.
  2. Wpisz „SSD1306” w polu wyszukiwania i zainstaluj bibliotekę SSD1306 od Adafruit.Podstawowy zestaw startowy LAFVIN ESP32 - OLEDLibrary–
  3. Po zainstalowaniu biblioteki SSD1306 od Adafruit wpisz „GFX” w polu wyszukiwania i zainstaluj bibliotekę.LAFVIN ESP32 Podstawowy zestaw startowy - biblioteka
  4. Po zainstalowaniu bibliotek uruchom ponownie Arduino IDE.

Kod
Po zainstalowaniu wymaganych bibliotek otwórz Project_10_ESP32_OLED_Display.ino w środowisku Arduino IDE.
Zaprogramujemy ESP32 za pomocą Arduino IDE, więc upewnij się, że masz zainstalowany dodatek ESP32, zanim przejdziesz dalej: (Jeśli wykonałeś już ten krok, możesz pominąć go i przejść do następnego).
Instalowanie dodatku ESP32 w Arduino IDEZestaw startowy LAFVIN ESP32 Basic - Kod 1Zestaw startowy LAFVIN ESP32 Basic - Kod 2Zestaw startowy LAFVIN ESP32 Basic - Kod 3Jak działa kod
Importowanie bibliotek
Najpierw musisz zaimportować niezbędne biblioteki. Bibliotekę Wire do używania I2C i biblioteki Adafruit do zapisu na wyświetlaczu: Adafruit_GFX i Adafruit_SSD1306.Zestaw startowy LAFVIN ESP32 Basic - Code Works 1Zestaw startowy LAFVIN ESP32 Basic - Code Works 2Zainicjuj wyświetlacz OLED
Następnie zdefiniuj szerokość i wysokość swojego OLED-a. W tym przykładzieample, używamy wyświetlacza OLED 128×64. Jeśli używasz innych rozmiarów, możesz to zmienić w zmiennych SCREEN_WIDTH i SCREEN_HEIGHT.Zestaw startowy LAFVIN ESP32 Basic - wyświetlacz OLEDNastępnie zainicjuj obiekt wyświetlany o szerokości i wysokości zdefiniowanych wcześniej za pomocą protokołu komunikacyjnego I2C (&Wire).Zestaw startowy LAFVIN ESP32 Basic - protokół komunikacyjnyParametr (-1) oznacza, że ​​wyświetlacz OLED nie ma pinu RESET. Jeśli wyświetlacz OLED ma pin RESET, powinien być podłączony do GPIO. W takim przypadku należy przekazać numer GPIO jako parametr.
W setup() zainicjuj monitor szeregowy z szybkością transmisji 115200 w celach debugowania.Zestaw startowy LAFVIN ESP32 Basic - celeZainicjuj wyświetlacz OLED za pomocą metody begin() w następujący sposób:Zestaw startowy LAFVIN ESP32 Basic - display.beginZestaw startowy LAFVIN ESP32 Basic - Serial.printlnTen fragment kodu wyświetla również komunikat na monitorze szeregowym, na wypadek gdybyśmy nie mogli połączyć się z wyświetlaczem.

Zestaw startowy LAFVIN ESP32 Basic - Serial.println 1Jeśli używasz innego wyświetlacza OLED, może być konieczna zmiana adresu OLED. W naszym przypadku adres to 0x3C.Zestaw startowy LAFVIN ESP32 Basic - adresPo zainicjowaniu wyświetlacza należy dodać dwusekundowe opóźnienie, aby wyświetlacz OLED miał wystarczająco dużo czasu na zainicjowanie się przed zapisaniem tekstu:Zestaw startowy LAFVIN ESP32 Basic - opóźnienieWyraźny wyświetlacz, ustaw rozmiar czcionki, kolor i pisz tekst
Po zainicjowaniu wyświetlacza wyczyść bufor wyświetlacza za pomocą metody clearDisplay():Zestaw startowy LAFVIN ESP32 Basic - wyświetlacz

Przed napisaniem tekstu należy ustawić jego rozmiar, kolor i miejsce wyświetlania na wyświetlaczu OLED.
Ustaw rozmiar czcionki za pomocą metody setTextSize():Zestaw startowy LAFVIN ESP32 Basic - wyświetlacz 1Ustaw kolor czcionki za pomocą metody setTextColor():
WHITE ustawia białą czcionkę i czarne tło.
Zdefiniuj pozycję, w której tekst się zaczyna, używając metody setCursor(x,y). W tym przypadku ustawiamy tekst tak, aby zaczynał się na współrzędnych (0,0) – w lewym górnym rogu.Zestaw startowy LAFVIN ESP32 Basic - setTextColor 1Na koniec możesz wysłać tekst na wyświetlacz za pomocą metody println() w następujący sposóbZestaw startowy LAFVIN ESP32 Basic - kod 5Następnie należy wywołać metodę display(), aby wyświetlić tekst na ekranie.Zestaw startowy LAFVIN ESP32 Basic - wyświetlacz

Biblioteka Adafruit OLED udostępnia przydatne metody umożliwiające łatwe przewijanie tekstu.

  • startscrollright(0x00, 0x0F): przewijanie tekstu od lewej do prawej
  • startscrollleft(0x00, 0x0F): przewijanie tekstu od prawej do lewej
  • startscrolldiagright(0x00, 0x07): przewijanie tekstu od lewego dolnego rogu do prawego górnego rogu startscrolldiagleft(0x00, 0x07): przewijanie tekstu od prawego dolnego rogu do lewego górnego rogu

Prześlij kod
Teraz prześlij kod do ESP32.Upload, postępując zgodnie z instrukcjami.
Po przesłaniu kodu na wyświetlaczu OLED pojawi się przewijający się tekst.Zestaw startowy LAFVIN ESP32 Basic - tekst przewijanylogotyp LAFVIN

Dokumenty / Zasoby

Podstawowy zestaw startowy LAFVIN ESP32 [plik PDF] Instrukcja obsługi
Zestaw startowy ESP32 Basic, ESP32, Zestaw startowy Basic, Zestaw startowy

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *