Arduino:Справочник языка Arduino/Константы/INPUT

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Цифровой контакт можно переключить в следующие режимы: INPUT, INPUT_PULLUP или OUTPUT. В зависимости от того или иного режима контакт обретает те или иные электрические свойства. Переключение режима осуществляется при помощи функции pinMode().

INPUT

Переключение контакта в режим INPUT означает, что он переключается в «высокоимпедансное состояние» или, другими словами, в состояние высокого сопротивления. Контакту в режиме INPUT не требуется большое энергообеспечение, поскольку это состояние можно сравнить с тем, как если бы впереди контакта стоял последовательно подключенный резистор на 100 МОм. Это удобно, например, если вам нужно сосчитать данные с датчика.

Теперь допустим, что контакт переключен на INPUT, и перед вами стоит задача сосчитать данные, например, с кнопочного переключателя. Если переключатель находится в открытом состоянии (т.е. если кнопка не нажата), то значение на входящем (INPUT) контакте будет «плавать», тем самым давая непредсказуемые результаты. Чтобы этого избежать, электротехники используют подтягивающие и стягивающие резисторы. Их цель — в том, чтобы, пока кнопка не нажата, «подтянуть» это «плавающее» значение к нужному состоянию. Как правило, для этого используются 10-кОмовые резисторы, поскольку их сопротивление, с одной стороны, слишком мало, чтобы значение не «плавало», а с другой, достаточно высоко, чтобы не блокировать слишком много тока, пока кнопка будет нажата (т.е. когда переключатель будет находиться в закрытом состоянии). Более подробно об этом можно прочесть тут.

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

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

См.также

Внешние ссылки