Table of contents
Uvod PULL-UP vs PULL-DOWN otpornik Izračun vrijednosti otpornika Unutarnji PULL-UP otporniciUvod
Pull Up i Pull Down otpornici su jednostavne, ali bitne komponente u digitalnoj elektronici. Oni osiguravaju da ulazni pinovi na mikrokontrolerima i drugim logičkim uređajima održavaju željeno stanje umjesto da se ponašaju nepredvidljivo. Dobar primjer za to su Dasduino ulazni pinovi, bez pull-up ili pull-down otpornika, digitalni ulazni pinovi su u stanju visoke impedancije. To znači da je pin izuzetno osjetljiv na električni šum i male promjene napona. Pokušajte pokrenuti jednostavni program koji očitava stanje digitalnog pina. Očitavanja koja dobijete trebala bi biti LOW ili 0. Međutim, ako pokušate rukom dodirnuti spojenu žicu, primijetit ćete da očitanja nasumično fluktuiraju. Ovaj fenomen nazivamo plutajućim pinom (eng. floating pin) i može uzrokovati nepouzdano ponašanje, što nije prihvatljivo u sustavima koji se oslanjaju na precizan i stabilan rad mikrokontrolera.
Dovođenjem nekorištenih ili neaktivnih ulaza u stabilno HIGH ili LOW stanje, ovi otpornici pomažu u sprječavanju šuma, lažnog okidanja i nepouzdanog ponašanja sklopa. Razumijevanje kako i kada koristiti pull-up ili pull-down otpornike ključni je korak u projektiranju stabilnih i predvidljivih digitalnih sustava.
PULL-UP vs PULL-DOWN otpornik
Pull-up i pull-down otpornici nisu neka vrsta posebnih otpornika, već jednostavno otpornici fiksne vrijednosti (obično 4,7 kΩ ili 10 kΩ, više o tome kasnije) spojeni između pina na mikrokontroleru i +5V za pull-up konfiguraciju ili GND za pull-down konfiguraciju. Kako bismo demonstrirali ovaj koncept plutajućih pinova i kako riješiti taj problem, koristit ćemo jednostavan primjer tipke.
Jednu tipku spojit ćemo pomoću pull-down otpornika, a drugu pomoću pull-up otpornika. Uobičajena vrijednost otpornika, poput 10 kΩ, dobro funkcionira za obje konfiguracije. S ovim konekcijama, pull-down tipka će pokazivati LOW (0) kada nije pritisnuta i HIGH (1) kada je pritisnuta. Pull-up tipka će se ponašati suprotno: pokazivat će HIGH (1) kada nije pritisnuta i LOW (0) kada je pritisnuta.
To osigurava da nijedan gumb neće davati nasumična ili plutajuća očitanja.

Kod ispod čita stanja oba gumba na pinovima 7 (pull down) i 6 (pull up) te ispisuje njihove vrijednosti na serijski monitor (eng. Serial Monitor).
const int buttonPin1 = 7;
const int buttonPin2 = 6;
int buttonState1 = 0;
int buttonState2 = 0;
void setup()
{
Serial.begin(115200);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
}
void loop()
{
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
Serial.println("Button 1 state: " + String(buttonState1) + ", Button 2 state: " + String(buttonState2));
delay(200);
}
Izračun vrijednosti otpornika
Vrijednost otpornika ovisi o dva faktora. Prvi je potrošnja, rasipanje energije. Ako je vrijednost otpornika preniska (VISOKA +5V u gornjem primjeru), napon će prolaziti kroz pull-up otpornik i nepotrebno trošiti energiju kada je strujni krug zatvoren. Energija će se trošiti na zagrijavanje. Ovo stanje se naziva strong pull-up i treba ga izbjegavati kada vašem krugu nije potrebno puno snage. Drugi faktor je napon kada je krug otvoren, tj. pritisnut. Ako je vrijednost otpornika prevelika, ulazni napon može biti premalen da bi ga mikrokontroler registrirao kao promjenu. Ovo stanje se naziva weak pull-up.
Pull-up i pull-down otpornici obično se biraju u rasponu od 1kΩ do 10kΩ za većinu mikrokontrolerskih sustava od 5V i 3,3V. Uobičajena vrijednost opće namjene je 4,7kΩ. Niže vrijednosti otpora (1–4,7 kΩ) pružaju jače povlačenje (pull) i korisne su u "bučnim" okruženjima ili za određene senzore, dok veće vrijednosti (10 kΩ ili više) smanjuju potrošnju struje, ali daju slabiju imunost na šum.
Točna vrijednost otpornika ovisi o čimbenicima kao što su šum signala, potrebna brzina i prihvatljiva potrošnja struje. Ohmov zakon možete koristiti za provjeru struje koja teče kada je linija usmjerena prema pull-up ili pull-down otporniku, ali on sam po sebi ne određuje vrijednost.
Unutarnji PULL-UP otpornici
Interni pull-up otpornici su komponente unutar mikrokontrolera koje su spojene na pin kako bi se osiguralo da ima definirano logičko stanje (HIGH ili LOW) kada nije pogonjen vanjskim signalom. To uklanja potrebu za dodavanjem namjenskog otpornika. Za korištenje internog pull-up otpornika, jednostavno definirajte pin u svom kodu pomoću INPUT_PULLUP.
