Какие контакты ESP32 имеют подтягивания

Kakie Kontakty Esp32 Imeut Podtagivania



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

Понимание подтягивающих резисторов

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

Чтобы избежать этой проблемы, между входным контактом и источником напряжения (обычно Vcc) подключается подтягивающий резистор, чтобы гарантировать, что по умолчанию на входе отображается высокое состояние (логическая 1). Когда вход подключен к низкому (логическому 0) сигналу, резистор притягивает вход к земле, позволяя входу считывать состояние низкого уровня.







Встроенные подтягивающие штифты на ESP32

Микроконтроллер ESP32 имеет 34 контакта ввода/вывода общего назначения (GPIO), которые можно настроить как цифровые или аналоговые контакты. Среди этих 34 контактов некоторые контакты имеют встроенные подтягивающие резисторы, которые можно активировать с помощью программного обеспечения.



В следующей таблице показаны контакты ESP32 со встроенными подтягивающими резисторами:



Пин код Имя контакта Встроенный подтягивающий резистор
0 GPIO0 Да
2 GPIO2 Да
4 GPIO4 Да
5 GPIO5 Да
12 GPIO12 Да
13 GPIO13 Да
14 GPIO14 Да
пятнадцать GPIO15 Да
25 GPIO25 Да
26 GPIO26 Да
27 GPIO27 Да
32 GPIO32 Да
33 GPIO33 Да
3. 4 GPIO34 Нет
35 GPIO35 Нет
36 GPIO36 Нет
39 GPIO39 Нет

Как видите, большинство цифровых выводов ESP32 имеют встроенные подтягивающие резисторы. Однако не все булавки имеют эту функцию. Контакты 34, 35, 36 и 39 не имеют встроенных подтягивающих резисторов.





Примечание: В ESP32 встроенные подтягивающие и подтягивающие резисторы доступны только на выводах, которые поддерживают как ввод, так и вывод. GPIO 34-39 , которые ограничены только входом, не имеют встроенных резисторов.



Проверьте полный Справочник по распиновке ESP32 .

Включение подтягивающих резисторов на ESP32

Чтобы включить подтягивающий резистор на выводе ESP32, вы можете использовать gpio_set_pull_mode() функция, предоставляемая инфраструктурой ESP-IDF.

Эта функция принимает два аргумента:

  • Номер вывода GPIO
  • Режим подтягивания

Режим подтягивания может быть либо GPIO_PULLUP_ENABLE или GPIO_PULLUP_DISABLE . Вот пример кода, который включает подтягивающий резистор на GPIO2:

#include 'драйвер/gpio.h'

пустота enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

контактный режим ( 5 , INPUT_PULLUP ) ;

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

Кроме того, мы также можем включить внутренние подтяжки на ESP32, используя контактный режим () Функция Ардуино.

контактный режим ( 5 , INPUT_PULLUP ) ;

Приведенный выше код активирует внутренний подтягивающий резистор на контакте 5 . Точно так же вы можете включить внутренний подтягивающий резистор, указав режим INPUT_PULLDOWN .

Заключение

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