Не отступай и не сдавайся !!!
Ардуино, ESP32, ESP8266, LoRa. Обучение. Моделирование. Программирование под заказ.
Измерение и контроль параметров: температура, влажность, освещённость, давление, наличие напряжения, датчик движения, тревожная кнопка (дача, квартира, дом, цех, теплица, офис). Выдача измеренных параметров на персональную страницу в Интернете, на планшет, в смартфон. В случае выхода параметров за заданные границы - оповещение по электронной почте, sms.

ESP32: 36 pin. Описание pin



Левая сторона. Сверху вниз.

вывода
Наименование
вывода
GPIO Input Output I/O ADC TOUCH ШИМ
PWM
DAC     Описание
                         
2 3V3                     Питание: +3,3В
3 EN                     Сброс
4 SENSOR VP 36 OK     ADC0   +       input only
5 SENSOR VP 39 OK     ADC3   +       input only
6 IO34 34 OK     ADC6   +       input only
7 IO35 35 OK     ADC7   +       input only
8 IO32 32 OK OK   ADC4 TOUCH9 +        
9 IO33 33 OK OK   ADC5 TOUCH8 +        
10 IO25 25 OK OK   ADC18   + DAC_1      
11 IO26 26 OK OK   ADC19   + DAC_2      
12 IO27 27 OK OK   ADC17 TOUCH7 +        
13 IO14 14 OK OK   ADC16 TOUCH6 +   HSPICLK HS2 CLK outputs PWM signal at boot
14 IO12 12 OK OK   ADC15 TOUCH5 +   HSPIC HS DATA2 boot fail if pulled high
1 GND                      
16 IO13 13 OK OK   ADC14 TOUCH4 +   HSPID HS DATA3  
17 SD2 9 x x       +       connected to the integrated SPI flash
18 SD3 10 x x       +       connected to the integrated SPI flash
  GND                      
  +5V                     Питание: +5В
                         
Правая сторона. Сверху вниз.

вывода
Наименование
вывода
GPIO Input Output I/O ADC TOUCH ШИМ
PWM
DAC     Описание
                         
  GND                      
37 IO23 23 OK OK       +   VSIPID HS1 STROBE  
36 SCL IO22 22 OK OK       +   VSPIWP    
35 TXD0   1           +       debug output at boot
34 RXD0   3 OK         +       HIGH at boot
33 SDA IO21 21 OK OK       +   VSIHD    
  GND                      
31 IO19 19 OK OK       +   VSPIQ    
30 IO18 18 OK OK       +   VSPICLK HS1-DATA7  
29 IO05 5 OK OK       +   VSPICSO HS1-DATA6 outputs PWM signal at boot
28 IO17 17 OK OK       +     HS1-DATA5  
27 IO16 16 OK OK       +     HS1-DATA4  
26 IO4 4 OK OK   ADC10 TOUCH0 +   HSPIHD HS1-DATA1  
25 IO0 0       ADC11 TOUCH1 +        
24 IO2 2 OK OK   ADC12 TOUCH2 +   HSPIWP HS2-DATA0 connected to on-board LED
23 IO15 15 OK OK   ADC13 TOUCH3 +   HSPICSO HS2-CMD  
22 SD1 8 x x       +   SPID HS1-DATA1 connected to the integrated SPI flash
21 SD0 7 x x       +   SPIQ HS1-DATA0 connected to the integrated SPI flash
20 CLK 6 x x       +   SPICLK HS1-CLK connected to the integrated SPI flash
                         
    0 pulled up OK               outputs PWM signal at boot
    11 x x               connected to the integrated SPI flash



ESP32: 30 pin


ESP32: 38 pin


ESP32: Периферийные устройства

К периферийным устройствам ESP32 относятся:

  • 18 Каналов аналого-цифрового преобразователя (АЦП )
  • 3 Интерфейса SPI3
  • Интерфейс UART2
  • Интерфейс I2C16
  • Выходные каналы ШИМ
  • 2 Цифро-аналоговых преобразователя (ЦАП)
  • 2 Интерфейса I2S10
  • Емкостные считывающие GPIO

Функции АЦП (аналого-цифровой преобразователь) и ЦАП (цифро-аналоговый преобразователь) назначены строго определённым пинам. Тем не менее, вы сами решаете, какие контакты будут отведены под интерфейсы UART, I2C, SPI, PWM и т. д. - они определяются в коде прошивки. Это возможно благодаря функции мультиплексирования чипа ESP32.

Существуют пины, назначенные по умолчанию, как показано на следующем рисунке (это пример платы ESP32 DEVKIT V1 DOIT с 36 контактами - расположение контактов может меняться в зависимости от производителя). Вы можете их переопределять.

Кроме того, есть контакты с определенными функциями, которые делают их подходящими или не подходящими для конкретного проекта. В следующей таблице показано, какие выводы лучше всего использовать в качестве входов, выходов, а с какими следует соблюдать осторожность.

Контакты, с "ОК", подходят для использования. Пины без "ОК", подходят для использования, но вы должны обратить на них внимание, потому что они могут иметь неожиданное поведение, в основном при загрузке. 

ESP32: Пины только для входа

GPIO с 34 по 39 являются GPI - только входные. Эти контакты не имеют внутренних подтягивающих или понижающих резисторов. Они не могут быть использованы как выходы, поэтому используйте эти контакты только как входы:

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

ESP32: SPI-flash встроена в ESP-WROOM-32

От GPIO 6 до GPIO 11 представлены в некоторых платах ESP32. Однако эти пины подключены к встроенной флэш-памяти SPI на микросхеме ESP-WROOM-32 их рекомендуется использовать для других целей. Назначение этих пинов:

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

ESP32: Емкостные сенсорные GPIO

ESP32 имеет 10 внутренних емкостных сенсорных датчиков. Они могут отслеживать всё, что содержит электрический заряд, например, они могут обнаруживать изменения, возникающие при касании пальцами GPIO. Эти контакты могут быть легко встроены в датчики касания и заменять механические кнопки. Емкостные сенсорные контакты также могут быть использованы для пробуждения ESP32 от глубокого сна.

Внутренние сенсорные датчики подключены к этим GPIO:

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

ESP32: Аналого-цифровой преобразователь (АЦП)

ESP32 имеет входные каналы АЦП 18 x 12 бит. Это GPIO, которые можно использовать в качестве АЦП:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_12 GPO (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)

Примечание: контакты ADC2 нельзя использовать при использовании Wi-Fi. Поэтому, если вы используете Wi-Fi и у вас возникают проблемы с получением значения от GPIO ADC2, вы можете вместо этого рассмотреть возможность использования GPIO ADC1, что должно решить вашу проблему.

Входные каналы АЦП имеют разрешение 12 бит. Это означает, что вы можете получить аналоговые показания в диапазоне от 0 до 4095, в которых 0 соответствует 0 В, а 4095 - 3,3 В. У вас также есть возможность установить разрешение ваших каналов в коде, а также диапазон АЦП.

Выводы АЦП ESP32 работают не линейно. Об этом следует помнить при использовании выводов АЦП. Ниже представлен график получемых значений в зависимости от напряжения:

ESP32: Цифро-аналоговый преобразователь (ЦАП)

На ESP32 имеются два 8-битных канала ЦАП для преобразования цифровых сигналов в аналоговые выходные сигналы напряжения. Пины ЦАП:

  • ЦАП1 (GPIO25)
  • ЦАП2 (GPIO26)

ESP32: RTC GPIO

На ESP32 есть поддержка RTC GPIO. GPIO, маршрутизируемые в подсистему с низким энергопотреблением RTC, можно использовать, когда ESP32 находится в состоянии глубокого сна. Эти RTC GPIO могут использоваться для выхода ESP32 из глубокого сна, когда работает сопроцессор Ultra Low Power (ULP). Следующие GPIO могут быть использованы в качестве внешнего источника пробуждения.

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 ( GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

ESP32: Широтно-импульсная модуляция / PWM

ШИМ-контроллер ESP32 имеет 16 независимых каналов, которые можно настроить для генерации ШИМ-сигналов с различными свойствами. Все выводы, которые могут выступать в качестве выходов, могут использоваться в качестве выводов ШИМ (GPIO с 34 по 39 не могут генерировать ШИМ).

Чтобы установить сигнал ШИМ, вам необходимо определить эти параметры в коде:

  • Частота сигнала;
  • Рабочий цикл;
  • ШИМ-канал;
  • GPIO, на которых вы хотите вывести сигнал.

ESP32: I2C

При использовании ESP32 с Arduino IDE следует использовать выводы ESP32 I2C по умолчанию (поддерживаются библиотекой Wire):

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

ESP32: SPI

Пины для SPI по умолчанию:

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

ESP32: Прерывания

Все GPIO могут быть настроены для обработки прерываний.

ESP32: Strapping pins

Strapping pin - связывающий вывод, связывающий контакт (переопределяющий назначение других выводов при подаче на него сигнала)

  • GPIO 0
  • GPIO 2
  • GPIO 4
  • GPIO 5
  • GPIO 12
  • GPIO 15

Они используются для перевода ESP32 в режим загрузчика или в режим перепрошивки. На большинстве плат разработки со встроенным USB / Serial вам не нужно беспокоиться о состоянии этих контактов. Плата переводит контакты в правильное состояние для перепрошивки или режима загрузки.

Однако, если к этим контактам подключены периферийные устройства, у вас могут возникнуть проблемы при попытке загрузить новый код, перепрошить ESP32 или перезагрузить плату. 

ESP32: Пины с изменением сигнала при загрузке

Некоторые GPIO изменяют свое состояние на Hight или выводят ШИМ-сигналы при загрузке или сбросе. Это означает, что если у вас есть выходы, подключенные к этим GPIO, вы можете получить неожиданные результаты при перезагрузке или загрузке ESP32.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 - GPIO 11 (подключены к встроенной флэш-памяти SPI ESP32 - использовать не рекомендуется).
  • GPIO 14
  • GPIO 15

ESP32: Пин En (Enable) / RST (Reset)

En (Enable) / RST (Reset) - Вы можете использовать этот контакт, подключенный к кнопке, например, для перезапуска ESP32.

Для автоматизации загрузки программы в модуль - поставить электролитический конденсатор 10мкФ между выводами EN и GND!!! Без конденсатора для загрузки необходимо наживать кнопку "boot/En/RST".

Также, не забудьте саединить вывод(ы) GND контроллера с шиной GND макетной платы!!! Это позволит сэкономить массу времени и нервов.

ESP32: Допустимый ток у GPIO

Абсолютный максимальный ток, потребляемый GPIO, составляет 40 мА.

ESP32: Встроенный датчик Холла

ESP32 также имеет встроенный датчик Холла, который обнаруживает изменения в магнитном поле в его окружении.

 

Похожие запросы по теме:

© 2000-2023 - 24/1/23 19:35
Хостинг нашего сайта осуществляется узлом www.cherepovets-city.ru