Найти тему
Электроника, ESP32, Arduino

Знакомьтесь ESP32-S3-DevKitC-1 pinout

Оглавление

Театр начинается с вешалки, а работа с микроконтроллером с назначения выводов. Даже если использовать его только как "конструктор для домохозяек" в среде Arduino IDE исключительно с использованием готовых библиотек - необходимо понимать на какие ноги, что подключать, и какие лучше не использовать совсем и почему.

ESP32-S3-WROOM периферийные устройства

  • 20 каналов аналого-цифрового преобразователя (АЦП)
  • 4 интерфейса SPI
  • 2 интерфейса UART
  • 2 интерфейса I2C
  • 8 выходных каналов ШИМ (LEDC)
  • 2 цифро-аналоговых преобразователя (ЦАП)
  • 1 интерфейс I2S
  • 14 емкостных датчиков GPIO

Вы можете решить, какие контакты будут UART, I2C, SPI, PWM и т. д. — вам просто нужно назначить их в коде. Это возможно благодаря функции мультиплексирования чипа ESP32-S3.

esp32-s3-devkitc-1 pinout diagram
esp32-s3-devkitc-1 pinout diagram

Пихать такую диаграмму в схемы проектов не очень удобно - поэтому решил нарисовать свою собственную. Здесь указаны только наиболее часто используемые интерфейсы SPI, I2C и UART и ноги к которым обычно по умолчанию привязаны библиотеки в среде Arduino IDE).

esp32-s3-devkitc-1 pinout
esp32-s3-devkitc-1 pinout

GPIO 0, 45 которые нельзя использовать;

GPIO 39, 40, 41, 42 могут менять свое состояние при загрузке платы;

GPIO 46 может использоваться только как вход;

GPIO 38 встроенный светодиод;

GPIO 48 любопытная плюшка - адресный RGB светодиод.

ESP32-S3-WROOM емкостные сенсорные GPIO

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

Эти внутренние сенсорные датчики подключены к следующим GPIO:

  • Touch1 (GPIO 1)
  • Touch2 (GPIO 2)
  • Touch3 (GPIO 3)
  • Touch4 (GPIO 4)
  • Touch5 (GPIO 5)
  • Touch6 (GPIO 6)
  • Touch7 (GPIO 7)
  • Touch8 (GPIO 8)
  • Touch9 (GPIO 9)
  • Touch10 (GPIO 10)
  • Touch11 (GPIO 11)
  • Touch12 (GPIO 12)
  • Touch13 (GPIO 13)
  • Touch14 (GPIO 14)

Поддержка тач-интерфейса реализована в среде Arduino IDE - если лень паять кнопки, можно использовать любые другие металлические площадки. Писал об этом тут.

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

ESP32-S3 имеет 2 АЦП SAR ( регистр последовательного приближения ), поддерживающих в общей сложности 20 каналов измерения (аналоговые контакты). Это GPIO, которые можно использовать в качестве АЦП и соответствующих каналов:

  • АЦП1_CH0 (GPIO 1)
  • АЦП1_CH1 (GPIO 2)
  • АЦП1_CH2 (GPIO 3)
  • АЦП1_CH3 (GPIO 4)
  • АЦП1_CH4 (GPIO 5)
  • АЦП1_CH5 (GPIO 6)
  • АЦП1_CH6 (GPIO7)
  • АЦП1_CH7(GPIO8)
  • АЦП1_CH8 (GPIO 9)
  • АЦП1_CH9 (GPIO 10)
  • АЦП2_CH0 (GPIO 11)
  • АЦП2_CH1 (GPIO 12)
  • АЦП2_CH2 (GPIO 13)
  • АЦП2_CH3 (GPIO 14)
  • АЦП2_CH4 (GPIO 15)
  • АЦП2_CH5 (GPIO 16)
  • АЦП2_CH6 (GPIO 17)
  • АЦП2_CH7 (GPIO 18)
  • АЦП2_CH8 (GPIO 19)
  • АЦП2_CH9 (GPIO 20)

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

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

  • ЦАП1 (GPIO17)
  • ЦАП2 (GPIO18)

ESP32-S3 RTC GPIO

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

  • RTC_GPIO0 (GPIO0) (контакт для обвязки)
  • RTC_GPIO1 (GPIO1)
  • RTC_GPIO2 (GPIO2)
  • RTC_GPIO3 (GPIO3)
  • RTC_GPIO4 (GPIO4)
  • RTC_GPIO5 (GPIO5)
  • RTC_GPIO6 (GPIO6)
  • RTC_GPIO7 (GPIO7)
  • RTC_GPIO8 (GPIO8)
  • RTC_GPIO9 (GPIO9)
  • RTC_GPIO10 (GPIO10)
  • RTC_GPIO11 (GPI11)
  • RTC_GPIO12 (GPI12)
  • RTC_GPIO13 (GPIO13)
  • RTC_GPIO14 (GPIO14)
  • RTC_GPIO15 (GPIO15)
  • RTC_GPIO16 (GPIO16)
  • RTC_GPIO17 (GPIO17)
  • RTC_GPIO18 (GPIO18)
  • RTC_GPIO19 (GPIO19)
  • RTC_GPIO20 (GPIO20)
  • RTC_GPIO21 (GPIO21)

ESP32-S3 PWM

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

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

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

ESP32-S3 I2C

ESP32-S2 имеет два канала I2C, и любой вывод можно установить как SDA или SCL. При использовании ESP32-S3 с Arduino IDE по умолчанию используются следующие контакты I2C:

  • GPIO 8 (SDA)
  • GPIO9 (SCL)

ESP32-S3 Потребляемый ток GPIO

Абсолютный максимальный ток, потребляемый каждым GPIO, составляет 40 мА в соответствии с разделом «Рекомендуемые условия эксплуатации» в таблице данных ESP32-S3.

Сам я еще только начинаю работать с этой версией платы ESP32, поэтому дальше все будем тестировать и проверять - информации для старта изложенной в этой статье я думаю, что будет достаточно.

Оглавление канала тут:

Всем удачи!