По-перше, зараз забудьте резистор 100 Ом. Це не потрібно для роботи кнопки, це просто захист у випадку, якщо ви зробите помилку програмування.
- Якщо натиснути кнопку, P2 буде безпосередньо підключений до +5 V, так що це буде сприйматися як високий рівень, який буде "1".
- Якщо кнопка відпущена, то +5 В більше не рахується, між портом і землею знаходиться лише 10 кОм.
×
Тепер резистор 100 Ом. Якщо ви випадково зробили висновок штифта і встановили його низьким, тоді натискання кнопки призведе до короткого замикання: мікроконтролер встановлює на штирі 0 В, а перемикач +5 В на той же штифт. Мікроконтролеру це не подобається, і ІС може бути пошкоджений. У таких випадках резистор 100 Ом повинен обмежувати струм до 50 мА. (Що все-таки трохи забагато, резистором 1 кОм було б краще.)
Оскільки вхідний штифт не буде подавати струм (крім низького витоку) навряд чи буде падіння напруги через резистор.
10 кОм - типове значення для підтягування або пониження. Менше значення дасть вам навіть менший перепад напруги, але 10 мВ або 1 мВ не мають великої різниці. Але є щось інше: якщо кнопку натиснути, то через резистор буде 5 В, тож буде протікати струм 5 В / 10 кОм = 500 мкА. Це досить низько, щоб не викликати жодних проблем, і ви все одно не будете тримати довгий час натискання кнопки. Але ви можете замінити кнопку перемикачем, який може тривалий час бути закритим. Тоді, якби ви вибрали спускання 1 кОм, у вас буде 5 мА через резистор до тих пір, поки вимикач закритий, і це трохи марно. 10 кОм - це хороше значення.
Зауважте, що ви можете перевернути це догори дном, щоб отримати підтягуючий резистор, і переключитися на землю, коли натиснути кнопку.
Це переверне вашу логіку: натискання кнопки дасть вам "0" замість "1", але робота однакова: натискання кнопки зробить вхід 0 В, якщо ви відпустите кнопку, резистор підключить вхід до рівня +5 В (із незначним падінням напруги).
Це зазвичай робиться, і виробники мікроконтролерів враховують це: більшість мікроконтролерів мають внутрішні підтягуючі резистори, які можна активувати або дезактивувати в програмному забезпеченні. Якщо ви використовуєте внутрішню підтяжку, вам потрібно лише підключити кнопку до землі, це все. (Деякі мікроконтролери також мають налаштовані спади, але вони набагато рідше.)