Цифровые выводы Arduino

Особенность платформы Arduino в том, что ее выводы могут выполнять функции входа и выхода. В этой статье будет рассматриваться работа выводов в режимах входа и выхода. Большая часть входов Arduino способна работать в виде цифровых портов ввода и вывода – на это также стоит обратить внимание.

Выводы платформы Arduino настроены заводом изготовителем как порты ввода, поэтому нет необходимости в применении функции pinMode(). Такие порты дают сравнительно малую нагрузку на микросхему. Внутреннее сопротивление будет равно резистору в 100 Мом, подключенному к выводу схемы. Следовательно, понадобится малое значение тока для перевода порта из одного режима в другой. С помощью этого выводы микросхемы можно использовать для подключения фотодиода, датчика касания или похожего датчика со схемой, похожей на RC-цепь.

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

Настройка выводов Arduino

Atmega, микроконтроллер, оборудован встроенными резисторами 20 кОм, подтягивающими к питанию. Они поддаются программированию следующими командами:

  • pinMode(pin, INPUT); // назначить выводу порт ввода;
  • digitalWrite(pin, HIGH); // включить подтягивающий резистор.

Задача такого резистора – пропустить ток, необходимый для легкого свечения светодиода, который подключен к выводу, настроенному как порт ввода. Такое свечение говорит о том, что вывод не настроен как порт вывода в функции pinMode() при программировании.

Подтягивающие резисторы и состояния вывода (HIGH или LOW) находятся под управлением одних и тех же регистров. Таким образом, если порт настроен как порт ввода со значением HIGH, то конфигурация передаст значение HIGH функцией pinMode(). Это операция функционирует и в противоположном направлении.

Как не испортить Arduino?

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

В низком импедансе находятся выводы настроенные как порты вывода. Они способны проводить большой ток. Такие выводы могут быть как источником тока, так и потребителем тока до 40 мА. Такой силы тока достаточно для подключения светодиода с последовательным резистором, но не хватает для подключения двигателей, соленоидов и большей части реле.

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

Добавить комментарий


Защитный код
Обновить

Последние комментарии

Последнии темы форума

  • Нет сообщений для показа