Skip to content

Референция GPIOs

Развойна платка ESP32-101-board

Таблица GPIOs 101-board

Връзки на периферните модули от развойната платка към микроконтролера:

GPIOs за развойна платка ESP32-101-board
GPIO / ESP32 pin Периферен Модул Описание Използван режим
GPIO2 / D2 LED-G/PO2 Зелен светодиод / транзисторен изход 2 Digital Output, PWM
GPIO4 / D4 LED-R/PO1 Червен светодиод / транзисторен изход 1 Digital Output, PWM
GPIO5 / D5 <свободен> Няма конкретна функция в ESP32-101-board -
GPIO12 / D12 ENC-SW Бутон на ротационния енкодер Digital Input
GPIO13 / D13 ENC-A Сигнал “A” на ротационния енкодер Digital Input
GPIO14 / D14 ENC-B Сигнал “B” на ротационния енкодер Digital Input
GPIO15 / D15 BATT Измерване на нивото на батерията (при захранване през куплунг “POWER”) Analog Input
GPIO16 / RX2 IR-RX Инфра-червен приемник (демодулатор, 38 kHz) Digital Input
GPIO17 / TX2 IR-TX Инфра-червен излъчвател (светодиод) Digital Output
GPIO18 / D18 SW2 Бутон “SW2” Digital Input
GPIO19 / D19 SW1 Бутон “SW1” Digital Input
GPIO21 / D21 I2C-SDA Комуникационен интерфейс “I2C” – даннова линия I2C-SDA
GPIO22 / D22 I2C-SCL Комуникационен интерфейс “I2C” – тактова линия I2C-SCL
GPIO23 / D23 JOY-SW Бутон на джойстика Digital Input
GPIO25 / D25 LED-B/PO3 Син светодиод / транзисторен изход 3 Digital Output, PWM
GPIO26 / D26 PB Пиезо-зумер PWM
GPIO27 / D27 TS1 Сензор за допир “TS1” TOUCH
GPIO32 / D32 TS3 Сензор за допир “TS3” TOUCH
GPIO33 / D33 TS2 Сензор за допир “TS2” TOUCH
GPIO34 / D34 PT Сензор за светлина (фото-транзистор ) Analog Input
GPIO35 / D35 TMP Сензор за температура (MCP9701) Analog Input
GPIO36 / VP JOY-Y Ос “Y” на джойстика Analog Input
GPIO39 / VN JOY-X Ос “X” на джойстика Analog Input

Забележки към GPIOs 101-board

I2C

I2C e комуникационен интерфейс за свързване на различни специализирани модули към микроконтролера. Към пинове I2C-SDA и I2C-SCL са свързани дисплея, жироскопа и допълнителната памет. Отделно могат да се добавят и още външни модули, като за това се използва куплунг I2C в горния ляв край на ESP32-101-board. За да се различават устройствата, всяко има уникален адрес:

  • LCD дисплей0x3C
  • Жироскоп0x68
  • Външна памет0x50
Ротационен енкодер

Сигналите Encoder-A и Encoder-B се използват за определяне посоката на въртене на ротационния енкодер. И двата пина имат заложени pull-up резистори и филтрови кондензатори на платката.

Бутони
  1. Пиновете, към които са свързани бутоните (SW1, SW2, ENC-SW, JOY-SW), нямат заложени pull-up резистори – необходимо е да се използват софтуерните такива! Също така нямат заложени филтрови кондензатори – за целта се прилагат софтуерни техники за филтриране трептенията на контактите.

Електрическа схема

Електрическа схема на развойната платка може да изтеглите като PDF от тук или да запазите снимката по-долу:

scheme

Микроконтролер ЕSP32

Таблица GPIOs

Таблица GPIOs
GPIO / ESP32 Основни Режими Важна информация Вход Изход
0 / - GPIO0 , ADC2_CH1 , TOUCH1 pull-up; не е изведен на пин; свързан към бутон “BOOT”; извежда PWM сигнал при стартиране на контролера
1 / TX0 GPIO1, UART0_TX свързан към USB-преобразувателя; извежда debug информация при стартиране
2 / D2 GPIO2, ADC2_CH2, TOUCH2 pull-down
3 / RX0 GPIO3, UART0_RX свързан към USB-преобразувателя; извежда високо ниво при стартиране
4 / D4 GPIO4, ADC2_CH0, TOUCH0 pull-down
5 / D5 GPIO5, VSPI_CS pull-up; извежда PWM сигнал при стартиране на контролера
6 - 11 GPIO6- GPIO11, SD, SPI, UART1 не са изведени на пинове; към тях е свързана програмната (флаш) памет на микроконтролера; не трябва да се използват в потребителската програма
12 / D12 GPIO12, ADC2_CH5 , TOUCH5, HSPI_MISO pull-down; контролерът не стартира ако по време на включване или рестарт има високо ниво
13 / D13 GPIO13, ADC2_CH4,TOUCH4, HSPI_MOSI
14 / D14 GPIO14, ADC2_CH6, TOUCH6, HSPI_CLK извежда PWM сигнал при стартиране на контролера
15 / D15 GPIO15, ADC2_CH3, TOUCH3, HSPI_CS pull-up; извежда PWM сигнал при стартиране на контролера
16 / RX2 GPIO16, UART2_RX
17 / TX2 GPIO17, UART2_TX
18 / D18 GPIO18, VSPI_CLK
19 / D19 GPIO19, VSPI_MISO
21 / D21 GPIO21, I2C_SDA
22 / D22 GPIO22, I2C_SCL
23 / D23 GPIO23, VSPI_MOSI
25 / D25 GPIO25, ADC2_CH8, DAC, I2S
26 / D26 GPIO26, ADC2_CH9, DAC, I2S
27 / D27 GPIO27, ADC2_CH7, TOUCH7, I2S
32 / D32 GPIO32, ADC1_CH4, TOUCH9
33 / D33 GPIO33, ADC1_CH5, TOUCH8
34 / D34 GPI34, ADC1_CH6 само цифров вход (не може да бъде изход); няма вътрешни резистори
35 / D35 GPI35, ADC1_CH7 само цифров вход (не може да бъде изход); няма вътрешни резистори
36 / VP GPI36, ADC1_CH0 само цифров вход (не може да бъде изход); няма вътрешни резистори
39 / VN GPI39, ADC1_CH3 само цифров вход (не може да бъде изход); няма вътрешни резистори

използвай спокойно

не използвай

използвай с внимание ,виж забележки

Снимка GPIOs

esp-pinout

Забележки към GPIOs

Пинове GPIO 0, 2, 4, 5, 12, 15
  • участват в процеса по стартиране на микроконтролера и е важно в първоначалния момент състоянията им да са както са посочени в таблицата (трябва да се съобрази схемата на свързване когато се използват като входове)! В противен случай микроконтролера няма да започне да изпълнява програмата!
Пинове GPIO 0, 1, 3, 5, 14, 15
  • по време на стартиране на микроконтролера временно се установяват във високо състояние, което може да доведе до нежелателно включване на свързани периферни модули (трябва да се съобрази схемата на свързване когато се използват като изходи)!
Пинове GPIO 34, 35, 36, 39
  • не могат да бъдат използвани като изходи! Освен това нямат възможност за включване на вътрешни резистори!
Аналогови входове ADC1 ADC2

Аналоговите входове от модул ADC2 (от ADC2_CH0 до ADC2_CH9) не могат да бъдат използвани при включен WiFi модул! Аналоговите входове от модул ADC1 работят винаги!

Общо за GPIO
  • Всичко пинове, които могат да бъдат използвани като входове, имат и прекъсвания (промяна на ниво или фронт)
  • Всички пинове, които могат да бъдат използвани като изходи, имат и PWM функция (широчинно-импулсна модулация)