Справочник по распиновке ESP8266: какие контакты GPIO следует использовать?

Эта статья представляет собой руководство по GPIO ESP8266: схемы выводов, их функции и способы их использования.

Чип ESP8266 12-E имеет 17 контактов GPIO. Не все GPIO доступны на всех макетных платах ESP8266, некоторые GPIO не рекомендуется использовать, а другие имеют очень специфические функции. С помощью этого руководства вы узнаете, как правильно использовать GPIO ESP8266 и избежать многочасовых разочарований, используя наиболее подходящие контакты для ваших проектов.

Распиновка чипа ESP8266 12-E

На следующем рисунке показана разводка микросхемы ESP8266 12-E. Используйте эту диаграмму, если вы используете в своих проектах чистый чип ESP8266.

esp8266 12-E

Примечание. Не все GPIO доступны на всех макетных платах, но каждый конкретный GPIO работает одинаково независимо от используемой вами макетной платы.

На данный момент существует большое разнообразие макетных плат с чипом ESP8266, которые отличаются количеством доступных GPIO, размером, форм-фактором и т. д.

Наиболее широко используемыми платами ESP8266 являются ESP-01 , ESP8266-12E NodeMCU Kit и Wemos D1 Mini .

Распиновка ESP8266-01

Если вы используете плату ESP8266-01, вы можете использовать следующую схему GPIO в качестве справки.

NodeMCU ESP8266 12-E Kit

Распиновка комплекта ESP8266 12-E NodeMCU показана ниже.

Распиновка Wemos D1 Mini

На следующем рисунке показана распиновка WeMos D1 Mini.

Скачать PDF со схемами выводов ESP8266

Мы собрали удобный PDF-файл, который вы можете скачать и распечатать, чтобы схемы ESP8266 всегда были у вас под рукой:

СКАЧАТЬ

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

Периферийные устройства ESP8266 включают в себя:

  • 17 GPIO
  • SPI
  • I2C (реализовано программно)
  • Интерфейсы I2S с DMA
  • UART
  • 10-битный АЦП

Лучшие выводы для использования — ESP8266

Важная вещь, которую следует отметить в отношении ESP8266, заключается в том, что номера GPIO не соответствуют шелкографии на плате. Например, D0 соответствует GPIO16, а D1 соответствует GPIO5.

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

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

Label GPIO Input Output Notes
D0 GPIO16 no interrupt no PWM or I2C support HIGH at boot
used to wake up from deep sleep
D1 GPIO5 OK OK often used as SCL (I2C)
D2 GPIO4 OK OK often used as SDA (I2C)
D3 GPIO0 pulled up OK connected to FLASH button, boot fails if pulled LOW
D4 GPIO2 pulled up OK HIGH at boot
connected to on-board LED, boot fails if pulled LOW
D5 GPIO14 OK OK SPI (SCLK)
D6 GPIO12 OK OK SPI (MISO)
D7 GPIO13 OK OK SPI (MOSI)
D8 GPIO15 pulled to GND OK SPI (CS)
Boot fails if pulled HIGH
RX GPIO3 OK RX pin HIGH at boot
TX GPIO1 TX pin OK HIGH at boot
debug output at boot, boot fails if pulled LOW
A0 ADC0 Analog input X

GPIO, подключенные к флэш-чипу

GPIO6-GPIO11 обычно подключаются к микросхеме флэш-памяти на платах ESP8266. Таким образом, эти контакты не рекомендуется использовать.

Пины, используемые во время загрузки

Можно предотвратить загрузку ESP8266, если некоторые выводы вытянуты в LOW или HIGH. В следующем списке показано состояние следующих контактов на BOOT:

  • GPIO16: уровень высокий при загрузке
  • GPIO0: сбой загрузки, если задать НИЗКИЙ уровень
  • GPIO2 : уровень высокий на BOOT, сбой загрузки, если задать НИЗКИЙ уровень
  • GPIO15 : ошибка загрузки, если задать ВЫСОКИЙ уровень
  • GPIO3 : уровень высокий при загрузке
  • GPIO1 : уровень высокий при BOOT, сбой загрузки, если задать НИЗКИЙ уровень
  • GPIO10 : уровень высокий при загрузке
  • GPIO9 : уровень высокий при загрузке

Контакты HIGH при загрузке

Есть определенные контакты, которые выдают сигнал 3,3 В при загрузке ESP8266. Это может быть проблематично, если у вас есть реле или другие периферийные устройства, подключенные к этим GPIO. Следующие GPIO выдают сигнал HIGH при загрузке:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Кроме того, другие GPIO, кроме GPIO5 и GPIO4, могут выдавать низковольтный сигнал при загрузке, что может быть проблематично, если они подключены к транзисторам или реле.

GPIO4 и GPIO5 являются наиболее безопасными для использования GPIO, если вы хотите управлять реле.

Аналоговый вход

ESP8266 поддерживает аналоговое чтение только в одном GPIO. Этот GPIO называется ADC0 и обычно обозначается на шелкографии как A0 .

Максимальное входное напряжение на выводе ADC0 составляет от 0 до 1 В, если вы используете чистый чип ESP8266. Если вы используете макетную плату, такую ​​как комплект ESP8266 12-E NodeMCU, диапазон входного напряжения составляет от 0 до 3,3 В, поскольку эти платы содержат внутренний делитель напряжения.

Встроенный светодиод

Большинство плат разработки ESP8266 имеют встроенный светодиод. Этот светодиод обычно подключается к GPIO2.

Светодиод работает с инвертированной логикой. Отправьте сигнал HIGH, чтобы выключить его, и сигнал LOW, чтобы включить его.

Пин RST

Когда на вывод RST подается НИЗКИЙ уровень, ESP8266 сбрасывается. Это аналогично нажатию встроенной кнопки RESET.

GPIO0

Когда GPIO0 получает НИЗКИЙ уровень, он переводит ESP8266 в режим загрузчика. Это то же самое, что и нажатие встроенной кнопки FLASH/BOOT.

GPIO16

GPIO16 можно использовать для пробуждения ESP8266 от глубокого сна. Чтобы вывести ESP8266 из глубокого сна, GPIO16 должен быть подключен к контакту RST. 

I2C

У ESP8266 нет аппаратных выводов I2C, но его можно реализовать программно. Таким образом, вы можете использовать любые GPIO в качестве I2C. Обычно в качестве контактов I2C используются следующие GPIO:

  • GPIO5 : SCL
  • GPIO4 : SDA

СПИ

Выводы, используемые в качестве SPI в ESP8266:

  • GPIO12 : MISO
  • GPIO13 : MOSI
  • GPIO14 : SCLK
  • GPIO15 : CS

Контакты ШИМ

ESP8266 поддерживает программную ШИМ на всех контактах ввода/вывода: от GPIO0 до GPIO15. Сигналы ШИМ на ESP8266 имеют 10-битное разрешение. 

Пины прерывания

ESP8266 поддерживает прерывания в любом GPIO, кроме GPIO16.

Продолжение следует. Подписывайтесь на новости.

Переведено и озвучено с буржуйских сайтов)

Оставлять комментарии могут только зарегистрированные пользователи. Указав email, ваше имя и комментарий вы пройдете простую регистрацию. На указанный вами email будет выслан пароль от аккаунта. Если у вас уже есть аккаунт
Нет комментариев. Но вы можете оставить его первым.