Po pierwsze, na razie zapomnij o oporniku 100 Ω. Nie jest wymagane do działania przycisku, jest tylko jako ochrona na wypadek popełnienia błędu programowania.
- Po naciśnięciu przycisku P2 zostanie bezpośrednio podłączony do +5 V, więc będzie to postrzegane jako wysoki poziom, czyli „1”.
- Po zwolnieniu przycisku +5 V już się nie liczy, tylko 10 kΩ między portem a ziemią.
×
Teraz rezystor 100 Ω. Jeśli przypadkowo zrobiłbyś wyjście pinowe i ustawiłeś je na niskim poziomie, naciśnięcie przycisku spowoduje zwarcie: mikrokontroler ustawia 0 V na pin, a przełącznik +5 V na ten sam pin. Mikrokontroler tego nie lubi, a układ scalony może zostać uszkodzony. W takich przypadkach rezystor 100 Ω powinien ograniczać prąd do 50 mA. (Co wciąż jest trochę za dużo, lepiej byłoby użyć opornika 1 kΩ).
Ponieważ nie przepłynie prąd do wtyku wejściowego (oprócz niskiego upływu) prawie nie będzie spadku napięcia na rezystorze.
10 kΩ jest typową wartością dla podciągania lub opuszczania. Niższa wartość da ci nawet niższy spadek napięcia, ale 10 mV lub 1 mV nie robi dużej różnicy. Ale jest coś jeszcze: jeśli przycisk zostanie wciśnięty, na rezystorze będzie 5 V, więc przepłynie prąd 5 V / 10 kΩ = 500 µA. Jest wystarczająco niski, aby nie powodować żadnych problemów, i tak długo nie będziesz trzymać przycisku wciśniętego. Możesz jednak zastąpić przycisk przełącznikiem, który może być zamknięty na długi czas. Następnie, jeśli wybrałbyś obniżenie 1 kΩ, miałbyś 5 mA przez rezystor, dopóki przełącznik jest zamknięty, a to trochę marnotrawstwo. 10 kΩ to dobra wartość.
Pamiętaj, że możesz obrócić to do góry nogami, aby uzyskać rezystor podciągający, i przełączyć na masę po naciśnięciu przycisku.
Spowoduje to odwrócenie logiki: naciśnięcie przycisku da ci „0” zamiast „1”, ale działanie jest takie samo: naciśnięcie przycisku spowoduje wejście 0 V, jeśli zwolnisz przycisk, opornik połączy wejście do poziomu +5 V (z nieznacznym spadkiem napięcia).
Tak zwykle się to robi, a producenci mikrokontrolerów biorą to pod uwagę: większość mikrokontrolerów ma wewnętrzne rezystory podciągające, które można aktywować lub dezaktywować w oprogramowaniu. Jeśli korzystasz z wewnętrznego podciągania, wystarczy podłączyć przycisk do uziemienia, to wszystko. (Niektóre mikrokontrolery mają również konfigurowalne menu rozwijane, ale są one znacznie mniej powszechne).