Я новичок в «электротехнике» и работаю над небольшим проектом Arduino. Я хочу, чтобы переключатель SPST использовался в качестве цифрового входа на плате.
У меня один из проводов переключателя подключен к положительному, а другой подключен к цифровому входу. Проблема в том, что при выключении я не могу быть уверен, что вход будет заземлен. Как я могу убедиться, что вход заземлен, когда переключатель выключен?
Будет ли это работать, если я подключу цифровой вход к резистору, который подключен к земле, поэтому, когда переключатель выключен, он будет заземлен, но когда переключатель включен, он не закоротит - это сработает?
Самым обычным решением было бы подключить одну сторону переключателя к земле. Другой подключите к цифровому входу, а также к резистору от 1 до 10 кОм, идущему к плюсу питания.
Идти другим путем, с подтягивающим резистором, как описывает Бруно, можно, но менее предпочтительно. Многие входы уже имеют степень неявного подтягивания и будут считывать «1», если не подключены, хотя и не совсем надежно. Но если ваш переключатель уже подключен к положительной шине, то подтягивание вниз — нормальное решение, хотя многие предпочитают использовать небольшой резистор при подключении логических входов к положительной шине.
Многие микроконтроллеры также имеют внутренние подтягивающие и/или подтягивающие резисторы на выводах GPIO, которые можно активировать путем записи в регистр конфигурации. Если вы управляете входом такого микроконтроллера, вам может вообще не понадобиться внешний подтягивающий/понижающий резистор, хотя не каждый микроконтроллер имеет его.
Да, это будет работать, как вы описали. Это называется подтягивающим резистором, потому что он гарантирует, что при разомкнутом контакте цифровой вход находится в состоянии логического 0 (низкий). Обычно для этой цели можно использовать резистор на 10 кОм.
Это сработает и даст вам положительную логику: высокий уровень (логическая «1»), когда переключатель замкнут.
Но, как говорит Крис, перевернутая вещь более распространена: переключатель подключен к земле, а подтягивающий (вместо подтягивающего) резистор к источнику питания. Ваша логика будет инвертирована: логическая «1» будет соответствовать разомкнутому выключателю.
Хорошая причина для подтягивающей версии заключается в том, что большинство микроконтроллеров уже интегрированы, и вы можете включать/отключать их в зависимости от ваших потребностей. Некоторые микроконтроллеры также имеют настраиваемые раскрывающиеся списки, но они менее распространены.
Если вам нужен внешний подтягивающий резистор, 10 кОм может быть хорошим значением. Вход микроконтроллера может иметь ток утечки до 1 мкА, и тогда 10 кОм дадут незначительные 10 мВ. Более низкие значения, безусловно, возможны, но имейте в виду, что они будут иметь больший ток на землю, когда переключатель замкнут. Резистор 1 кОм будет потреблять 5 мА при напряжении питания 5 В, что на самом деле является пустой тратой энергии. Для 10 кОм это всего 500 мкА. Для приложений с очень низким энергопотреблением вы можете увеличить значение до 100 кОм, но помните о токе утечки; 1 мкА даст падение на 100 мВ!
Мэтт Янг
Губка Боб
гбарри
Губка Боб
Крис Стрэттон