Стягивающие и подтягивающие резисторы. В чём различие

Стягивающие и подтягивающие резисторы широко применяются в схемотехнике для подавления помех (шумов).
Давайте сразу начнём с примера и зальём на arduino следующий скетч, а в пин 10 воткнём небольшой проводок:
void setup () {
Serial.begin (9600);
}
void loop () {
Serial.println (digitalRead(10));
}
Включив монитор порта увидим, что на экране мелькают нолики и единички - это и есть шум. Но от него легко избавится. Для этого нам понадобится либо стягивающий, либо подтягивающий резистор (сопротивление), в зависимости от ситуации.
Надо отметить, что физически стягивающий и подтягивающий резисторы ничем не отличаются, то есть один и тот же резистор можно использовать и так, и так. Различая только в подключении. Главное, чтоб наминал резистора был большой: 10 кОм или более. Но обо всём по порядку.

Возьмём к примеру подключение обычной кнопки к ардуино. Подсоединяем один контакт кнопки к плюсу, а другой к пину 10 (скетч у нас уже залит). На мониторе порта видны те же самые нолики и единички. Нажимаем на кнопку – 1, отпускаем опять 1..0..0..1..1… А должно быть нажали – 1, отпустили – 0. Чтобы добиться этого применим стягивающий резистор.
Стягивающий резистор
Стягивающий резистор – резистор соединяющий нужный нам участок цепи с нулём (землёй, GND). В нашем примере это участок между пином 10 и кнопкой. Подсоединим всё по схеме:
Открываем монитор порта: кнопка не нажата – нули. Нажимаем – единице. Таким образом мы чётко разграничили состояния кнопки: нажата – 1, не нажата – 0. С этим уже можно работать…
Подтягивающий резистор
Но что нам делать если при нажатой кнопке на вход ардуино мы можем подать только 0 (землю, GND). С этим я столкнулся, когда решил применить в проекте энкодер на модуле KY-040. В нём есть встроенная кнопка, при нажатии на которую на выход подаётся земля. И чтобы воспользоваться этой кнопкой я применил подтягивающий резистор.Подтягивающий резистор – резистор соединяющий нужный нам участок цепи с плюсом (+). И так, переделаем нашу схему так: один контакт кнопки подсоединяем к земле (GND), другой к пину 10, а резистор одним концом подсоединяем к участку между кнопкой и пином 10, а другой к +5В (+3.3 - непринципиально).

Открыв монитор порта видим: когда кнопка не нажата на пин 10 подаётся логическая 1, нажимаем кнопку и там уже логический 0.