Ten przewodnik Pinout po ESP32 zawiera następującą treść:
1: Wprowadzenie do ESP32
2: Pins ESP32 GPIO
3: Pins ESP32 ADC
4: Pins DAC
5: Pins PWM
6: Piny SPI w ESP32
7: Piny I2C
8: Pins I2S
9: Uart
10: Pojemne szpilki dotykowe
11: Pinsy do pasowania ESP32
12: Piny wysokie w rozruchu
13: Enable (EN) PIN
14: ESP32 Power Pins
15: ESP32 Halla czujnik efektu
Zanim przejdziemy do przodu, podsumowaliśmy krótkie wprowadzenie do tablicy IoT ESP32.
1: Wprowadzenie do ESP32
1.1: pinout esp32
Wiele wariantów ESP32 jest dostępnych na rynku, dziś omówimy szczegółowy pinout 30-pinowy wariant, który jest dostarczany z mikrokontrolerem ESP32-WAR-32.
W sumie 48 pinów jest dostępnych w układach ESP32 wśród których 30 pinów jest narażonych na użytkownika, podczas gdy inne są zintegrowane wewnątrz mikrokontrolera; Niektóre płyty zawierają również sześć dodatkowych zintegrowanych pinów SPI, które podsumowują całkowity pin do 36.
1.2: ESP32 30 Pin Board
Poniższy obraz przedstawia szczegółowy pinout wariantu pin ESP32 30 zawierającego wszystkie jego peryferyjne, które szczegółowo omawiamy jeden.
Niektóre główne urządzenia peryferyjne wewnątrz ESP32 to:
*ESP32 Chip zawiera w sumie 48 pinów, z czego tylko 30 pinów dostępnych do interfejsu zewnętrznego (na niektórych płytkach 36, które obejmują 6 dodatkowych pinów SPI) Pozostałe 18 pinów jest zintegrowane wewnątrz chipu do celów komunikacyjnych.
1.3: ESP32 36 Pin Board
Oto obraz płyty ESP32 o łącznie 36 pinów.
1.4: Różnica między wersją ESP32 30 PIN a wersją ESP32 36 PIN
Zarówno ESP32 PARAD SHARE SAMY SEPCYFIKACJA Jedyna różnica tutaj to 6 dodatkowych pinów, które są eksponowane w płytce ESP32 (36 pinów) to zintegrowane pin SPI Flash, a po drugie GPIO 0 jest zastąpione pinem GND w płycie ESP32 (30 pinów), co skutkuje w tym brak Dotyk 1 I ADC2 CH1 szpilka.
2: Pins ESP32 GPIO
Jak wspomniano wcześniej ESP32 ma w sumie 48 pinów, z których tylko 30 pinów jest dostępnych dla użytkowników. Każdy z tych 30 punktów wyjściowych ogólnego celu ma określoną funkcję i można je skonfigurować za pomocą określonego rejestru. Istnieją różne piny GPIO, takie jak UART, PWM, ADC i DAC.
Spośród tych 30 pinów niektóre są mocy, a niektóre można skonfigurować zarówno jako wejście, jak i wyjście, podczas gdy są tylko pewne piny, które są tylko wejściowe.
2.1: Pinsy wejściowe/wyjściowe
Prawie wszystkie piny GPIO można skonfigurować jako wejściowe i wyjściowe, z wyjątkiem 6 szeregowych interfejsu flash (SPI), których nie można skonfigurować do celów wejściowych lub wyjściowych. Te 6 pinów SPI jest dostępnych na tablicy wersji 36 PINS.
Tabela podana poniżej wyjaśnia status pinów GPIO ESP32, które mogą być używane jako wejście i wyjście:
Tutaj OK oznacza, że odpowiedni pin może być używany jako wejście lub wyjście.
Pin GPIO | WEJŚCIE | WYJŚCIE | Opis |
GPIO 0 | Podjechał | OK | Wyjście PWM przy rozruchu |
GPIO 1 | Pin TX | OK | DEBUGUJ WYJĄTKU W BOOT |
GPIO 2 | OK | OK | Na pokładzie LED |
GPIO 3 | OK | Pin Rx | Wysoko w rozruchu |
GPIO 4 | OK | OK | - |
GPIO 5 | OK | OK | Wyjście PWM przy rozruchu |
GPIO 6 | - | - | SPI Flash Pin |
GPIO 7 | - | - | SPI Flash Pin |
GPIO 8 | - | - | SPI Flash Pin |
GPIO 9 | - | - | SPI Flash Pin |
GPIO 10 | - | - | SPI Flash Pin |
GPIO 11 | - | - | SPI Flash Pin |
GPIO 12 | OK | OK | Upoważnienie rozruchu przy wysokim pociągnięciu |
GPIO 13 | OK | OK | - |
GPIO 14 | OK | OK | Wyjście PWM przy rozruchu |
GPIO 15 | OK | OK | Wyjście PWM przy rozruchu |
GPIO 16 | OK | OK | - |
GPIO 17 | OK | OK | - |
GPIO 18 | OK | OK | - |
GPIO 19 | OK | OK | - |
GPIO 21 | OK | OK | - |
GPIO 22 | OK | OK | - |
GPIO 23 | OK | OK | - |
GPIO 25 | OK | OK | - |
GPIO 26 | OK | OK | - |
GPIO 27 | OK | OK | - |
GPIO 32 | OK | OK | - |
GPIO 33 | OK | OK | - |
GPIO 34 | OK | Tylko dane wejściowe | |
GPIO 35 | OK | Tylko dane wejściowe | |
GPIO 36 | OK | Tylko dane wejściowe | |
GPIO 39 | OK | Tylko dane wejściowe |
2.2: Pinsy tylko wejściowe
Piny GPIO 34 do 39 nie mogą być skonfigurowane jako wyjściowe, ponieważ są one wyłącznie do celów wejściowych. Wynika to z braku wewnętrznego opornika podciągnięcia lub wyciągnięcia, dlatego może być używany tylko jako wejście.
Również GPIO 36 (VP) i GPIO 39 (VN) są używane do przedwzmacniaczy ultra-niskich szumów w ESP32 ADC.
Podsumowując następujące, to tylko piny wejściowe w ESP32:
2.3: Piny przerwania
Wszystkie szpilki GPIO w ESP32 mogą podejmować zewnętrzne przerwy. Pomaga to monitorować zmiany przy określonym przerwie zamiast ciągłego monitorowania.
2.4: Piny RTC
ESP32 ma również kilka pinów GPIO RTC. Te piny RTC pozwalają ESP32 pracować w trybie głębokiego uśpienia. Gdy ESP32 znajduje się w trybie głębokiego uśpienia podczas uruchamiania ultra-niskiego zasilania (ULP), które te piny RTC mogą obudzić ESP32 z głębokiego snu, oszczędzając duży procent mocy.
Te piny RTC GPIO mogą działać jako zewnętrzne źródło wzbudzenia, aby obudzić ESP32 z głębokiego snu w określonym czasie lub przerwać. Pins RTC GPIO obejmuje:
3: Pins ESP32 ADC
Zarząd ESP32 ma dwa zintegrowane 12-bitowe ADC znane również jako SAR (kolejne rejestry przybliżenia) ADCS. ESP32 płyty ADC obsługują 18 różnych analogowych kanałów wejściowych, co oznacza, że możemy podłączyć 18 różnych czujników analogowych, aby pobrać z nich dane wejściowe.
Ale tak nie jest tutaj; Te kanały analogowe są podzielone na dwie kategorie Kanał 1 i kanał 2, oba te kanały mają pewne piny, które nie zawsze są dostępne do wejścia ADC. Zobaczmy, jakie są te piny ADC wraz z innymi.
3.1: ESP32 ADC Pinout
Jak wspomniano wcześniej, płyta ESP32 ma 18 kanałów ADC. Spośród 18 tylko 15 jest dostępnych na tablicy Devkit V1 Doit z w sumie 30 gpios.
Spójrz na swoją planszę i zidentyfikuj szpilki ADC, gdy podkreśliliśmy je na poniższym obrazku:
3.2: Pin ADC Channel 1
Poniżej znajduje się podane mapowanie PID płyty ESP32 Devkit Doit. ADC1 w ESP32 ma 8 kanałów, jednak płyta Doit Devkit obsługuje tylko 6 kanałów. Ale gwarantuję, że są jeszcze więcej niż wystarczające.
ADC1 | GPIO PIN ESP32 |
CH0 | 36 |
CH1 | 37* (na) |
CH2 | 38* (na) |
CH3 | 39 |
CH4 | 32 |
CH5 | 33 |
CH6 | 34 |
CH7 | 35 |
*Te piny nie są dostępne do interfejsu zewnętrznego; Są one zintegrowane wewnątrz chipów ESP32.
Następujący obraz Pokaż kanały ESP32 ADC1:
3.3: Pin ADC Channel 2
Devkit DOIT ma 10 kanałów analogowych w ADC2. Chociaż ADC2 ma 10 kanałów analogowych do odczytu danych analogowych, kanały te nie zawsze są dostępne do użycia. ADC2 jest udostępniany na pokładowe sterowniki Wi -Fi, co oznacza, że w momencie korzystania z Wi -Fi te ADC2 nie będą dostępne. Rozwiązanie tego problemu polega na użyciu ADC2 tylko wtedy, gdy sterownik Wi-Fi jest wyłączony.
ADC2 | GPIO PIN ESP32 |
CH0 | 4 |
CH1 | 0 (Na w 30 pin wersja esp32-devkit doit) |
CH2 | 2 |
CH3 | 15 |
CH4 | 13 |
CH5 | 12 |
CH6 | 14 |
CH7 | 27 |
CH8 | 25 |
CH9 | 26 |
Poniżej obraz pokazuje mapowanie PID kanału ADC2.
3.4: Jak używać ESP32 ADC
ESP32 ADC działa w podobny sposób, jak tylko Arduino, jest tutaj różnica jest 12-bitowa ADC. Tak więc płyta ESP32 mapuje wartości napięcia analogowego od 0 do 4095 w cyfrowej wartości dyskretnych.
Notatka: ESP32 ADC jest domyślnie ustawiony na 12 bitów, jednak możliwe jest skonfigurowanie go w 0-bit, 10-bitowy i 11-bitowy. 12-bitowy domyślny ADC może mierzyć wartość 2^12 = 4096 a napięcie analogowe wynosi od 0 V do 3.3v.
3.5: Ograniczenie ADC dotyczące ESP32
Oto kilka ograniczeń ESP32 ADC:
Nieliniowość ESP32 można zobaczyć na seryjnym monitorie Arduino IDE.
4: Pins DAC
ESP32 ma dwa na pokładzie 8-bitowy DAC (Przetwornik cyfrowo-analogowy). Korzystanie z pinów ESP32 DAC Każdy cyfrowy sygnał można przekształcić w analog. Zastosowanie pinów DAC obejmują napięcie i kontrolę PWM.
Poniżej znajdują się dwa szpilki DAC na tablicy ESP32.
5: Pins PWM
Płyta ESP32 zawiera 16 niezależnych kanałów modulacji szerokości impulsu (PWM), które mogą wysyłać różne sygnały PWM. Prawie wszystkie GPIO mogą wygenerować sygnał PWM, jednak piny wejściowe 34,35,36,39 nie może być używane jako piny PWM, ponieważ nie mogą one wysłać sygnału.
Notatka: W 36 PIN ESP32, wbudowane 6 pinów zintegrowanych Flash SPI (GPIO 6, 7, 8, 9, 10, 11) nie można używać jako PWM.
Przeczytaj tutaj kompletny przewodnik dla początkujących do kontrolowania pin ESP32 PWM za pomocą Arduino IDE.
6: Piny SPI w ESP32
ESP32 ma cztery urządzenia peryferyjne SPI zintegrowane z mikrokontrolerem:
Większość tablic ESP32 jest wyposażona w wstępne piny SPI zarówno dla SPI2, jak i SPI3. Jeśli jednak nie zostanie przypisany, zawsze możemy przypisać piny SPI w kodzie. Poniżej znajdują się piny SPI znalezione na większości planszy ESP32, które są wstępnie wypisane:
Interfejs SPI | Mosi | Miso | Sclk | Cs |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Powyżej wspomniane piny SPI mogą się różnić w zależności od typu tablicy. Teraz napiszmy kod, aby sprawdzić piny SPI ESP32 za pomocą Arduino IDE.
Aby uzyskać pełny samouczek na temat szeregowego interfejsu peryferyjnego, kliknij tutaj.
7: Piny I2C
Płyta ESP32 jest wyposażona w jeden autobus I2C, który obsługuje do 120 urządzeń I2C. Domyślnie dwa piny SPI dla SDA i SCL są zdefiniowane odpowiednio na GPIO 21 i 22. Jednak używanie polecenia drut.początek (SDA, SCL) Możemy skonfigurować dowolny GPIO jako interfejs I2C.
Po dwóch pinach GPIO są domyślnie zestaw dla I2C:
8: Pins I2S
I2S (Inter-IC Sound) to synchroniczny protokół komunikacji, który seryjnie przesyła sygnały audio między dwoma cyfrowymi urządzeniami audio.
ESP32 ma dwa peryferyjne I2S, każdy z nich działa w trybie komunikacji w połowie dupleks.
Zwykle dwa piny DAC w ESP32 są używane do komunikacji audio I2S. Poniżej znajdują się szpilki I2S w ESP32:
W przypadku pinów danych szeregowych I2S (SD) możemy skonfigurować dowolny pin GPIO.
9: Uart
Domyślnie ESP32 ma trzy interfejsy UART, które są UART0, UART1 i UART2. Zarówno UART0, jak i UART2 są użyteczne zewnętrznie, jednak UART1 nie jest dostępne do interfejsu zewnętrznego i komunikacji, ponieważ jest on wewnętrznie podłączony do zintegrowanej pamięci Flash SPI.
Notatka: ESP32 Chip ma zdolność multipleksowania, co oznacza, że do komunikacji można również użyć różnych pin.
Poniżej znajduje się szpilki UART ESP32:
Autobus UART | Rx | TX | Opis |
Uart0 | GPIO 3 | GPIO 1 | Może być używane, ale nie zalecane, ponieważ wewnętrznie podłączone do konwertera USB-Serial |
UART1 | GPIO 9 | GPIO 10 | Nie używaj podłączonej do SPI wewnętrznej pamięci Flash ESP32 |
UART2 | GPIO 16 | GPIO 17 | Dozwolone do użycia |
10: Pojemne szpilki dotykowe
ESP32 ma 10 pinów GPIO, które mają wbudowane wsparcie dla pojemnościowych czujników dotykowych. Używając tych pinów, można wykryć każdą zmianę ładunku elektrycznego. Te szpilki działają jak podkładka dotykowa, takie jak wkład zmysłowy z ludzkiego palca lub jakikolwiek inny przerywanie dotyków spowodowane.
Za pomocą tych pinów możemy również zaprojektować zewnętrzne źródło budzenia dla ESP32 z trybu głębokiego uśpienia.
Piny dotykowe obejmują:
Poniżej znajdują się styki czujników dotykowych na płycie ESP32:
Touch_1 W tej wersji płyty ESP32 (30 pin) brakuje. Touch_1 Pin jest na (GPIO0), który jest obecny w 36-styku ESP32.
Oto samouczek na temat pojemnościowego czujnika dotykowego ESP32 z Arduino IDE.
11: Pinsy do pasowania ESP32
ESP32 ma piny pasujące, które mogą umieścić ESP32 w różnych trybach, takich jak bootloader lub tryb flashowania. W większości płyt zawierających wbudowane w serial USB nie musimy się martwić o te piny, ponieważ sama płyta umieszcza ESP32 w trybie migającym lub rozruchowym.
Jednak w przypadku używania tych pinów można napotkać problemy w przesyłaniu nowego kodu, migania oprogramowania lub resetowania płyty ESP32.
Poniżej znajdują się dostępne szpilki do paska ESP32:
12: Piny wysokie w rozruchu
Niektóre piny GPIO pokazują nieoczekiwane zachowanie, gdy wyjścia podłączone do tych pinów, ponieważ te piny wykazują wysoki stan lub generują sygnał PWM po uruchomieniu lub zresetowaniu płyty ESP32.
Te szpilki to:
13: Enable (EN) PIN
Ten szpilka służy do włączenia płyty ESP32. Za pomocą tego możemy kontrolować regulator napięcia ESP32. Ten pin umożliwia chip po wyciągnięciu wysoko i po wyciągnięciu nisko, ESP32 działa przy minimalnej mocy.
Łącząc pin EN (Włącz) do GND 3.3V na pokładzie regulator napięcia wyłącza to, co oznacza, że możemy użyć zewnętrznego przycisku do ponownego uruchomienia ESP32 w razie potrzeby.
14: ESP32 Power Pins
ESP32 ma wiele źródeł wejściowych zasilania. Do zasilania ESP32 można użyć głównie dwóch pinów, które obejmują pin VIN (VIN) i 3v3 (3.3v) Pin. Głównym źródłem zasilania ESP32 jest użycie kabla USB. Pozostałe dwa źródła wymagały zewnętrznej podaży regulowanej.
ESP32 ma na pokładzie Regulator napięcia wyjścia 3.3v, który przyjmuje dane wejściowe z dwóch źródeł USB i pin VN, a następnie przekształca napięcie wejściowe (5 V) na 3.3v dla ESP32.
Poniżej znajdują się trzy źródła energii dla ESP32:
Notatka: 3v3 Pin ESP32 nie jest podłączony do regulatora napięcia na pokładzie Nie zaleca się użycia tego do wprowadzania mocy, ponieważ niewielki wzrost napięcia spowoduje większy przepływ prądu z terminalu wyjściowego regulatora LDO (AMS1117) Wejście powodujące trwałe uszkodzenie regulatora napięcia ESP32.
Jeśli jednak masz stałą 3.Dostawa 3V, a następnie można go użyć.
Po drugie, nie podawaj więcej niż 9 V pin VN, ponieważ ESP32 potrzebuje tylko 3.3v do pracy; Wszystkie pozostałe napięcia zostaną rozproszone jako ciepło.
Aby uzyskać bardziej szczegółowy przewodnik na temat źródeł zasilania ESP32 i wymagań napięcia, sprawdź ten samouczek, jak zasilać ESP32.
15: ESP32 Halla czujnik efektu
ESP32 ma wbudowany czujnik efektu Halla, którego możemy wykryć zmiany w polu magnetycznym i odpowiednio wykonać określone wyjście.
Oto samouczek na temat korzystania z ESP32 wbudowanego czujnika efektu Hall i wydrukowania danych odczytu na monitorze szeregowym.
Wniosek
Począwszy od ESP32 nigdy nie był łatwy, ale użycie tego artykułu na ESP32 Pinout Ktoś może zacząć od płyty opartej na IoT w ciągu kilku minut. Tutaj ten artykuł zawiera wszystkie szczegóły dotyczące pinout ESP32. Każdy pin ESP32 jest omawiany w szerokich szczegółach. Więcej samouczków na temat określonych pinów Sprawdź inne samouczki na tablicy ESP32.