Osnove hardvera: kako funkcioniraju pull-down i pull-up otpornici

Ako ste ikad povezali gumb s Arduinom, naišli ste na ovaj dijagram:

U početku to može zbuniti. Moje prve misli: „Zašto mi treba otpornik? Samo želim da mi kaže da li se pritisne tipka. "

Nakon puno čitanja, nije bilo jednostavnog objašnjenja.

Što se ovdje događa

U tom gumbu - AKA prekidaču - žice su oblikovane u obliku "H". Ali sredina nije spojena - ili sklop nije povezan - sve dok ne pritisnemo gumb.

U stvarnosti iz Arduina želimo čitati a 0kada ništa nije povezano i a 1kad se pritisne tipka.

Na Arduinu se to naziva općeniti ulazni izlaz (GPIO).

Dakle, možemo učiniti nešto poput ovoga:

Na lijevu stranu kruga spajamo pozitivne (5v, 3,3 V ili VCC).

Kad se pritisne tipka, GPIO će očitati a 1i sve je u redu.

Pa ne. Pogledajmo ponovno Dijagram 2:

Željeli smo 0kad ništa nije povezano, ali kako to možete garantirati? Trenutno ne postoji način da se zajamči GPIO 0.

U zraku postoje i elektromagnetske frekvencije koje bi vaš GPIO mogle privući na 0ili 1. Moglo bi čak i fluktuirati između njih dvoje! Na ovaj način, ne možemo biti sigurni da je to 0(tako sam loš u igri riječi). To je također poznato kao logično 0.

Jedan od načina za dobivanje logike 0je vezivanje pribadače za uzemljenje:

Yay! Dakle, sada je to zajamčena logička nula. Dok pritiskate gumb, to će biti 1sada. Pravo?

Pa ne.

Upravo ste stvorili kratki spoj. ?

Tu dolazi otpor. Da bismo izbjegli kratki spoj, moramo dodati otpor našem krugu. Otpornik drži stvari pod kontrolom.

Struja će krenuti putem najmanjeg otpora. Vaš GPIO sada će registrirati znak 1kada se pritisne tipka. Ovako:

Woo Hoo! Sad radimo s nečim.

Pogledajmo sada suprotno: pull-up otpornici. Ista je stvar, ali obrnuto. Dok se tipka ne pritisne, GPIO će registrirati a 1. Kada pritisnete tipku, GPIO će biti 0.

Iako nije pritisnut, GPIO je povezan s pozitivnim (VCC). Dakle, bilo koja struja koja je tamo bit će povučena tako da GPIO registrira logički 1.

Ovdje je važno napomenuti da električna energija uvijek želi ići na tlo. Dakle, kad pritisnemo gumb, struja koja teče teći će u zemlju. Dakle, svaka struja koja bi išla na GPIO ide s tim, ostavljajući GPIO logičnim 0.

? Kraj.

Zašto sam ovo napisao?

Pridružio sam se tvrtki Losant u rujnu 2016. godine bez hardverskog iskustva. Svaki pojedinačni početni komplet hardvera daje vam gumb bez objašnjenja ovog koncepta. Nadam se da ovo pomaže i vašoj žarulji. ?

Ovo je samo ogreblo površinu. Ako želite dublje istražiti, pogledajte ove resurse:

Otpornici na izvlačenje - learn.sparkfun.com

Još jedna stvar koju treba istaknuti je da što je veći otpor na izvlačenje, to je sporiji pin da reagira na ... learn.sparkfun.com

Volim povratne informacije. Dakle, molim vas javite mi ako bi se ovo moglo poboljšati. Ako sam na ovome potpuno promašio loptu, javite mi! Volio bih da to učinim boljim za druge.