de Taron Foxworth

Elementele fundamentale ale hardware-ului: cum funcționează rezistențele pull-down și pull-up

Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down
Un rezistor cu plumb axial

Dacă ați conectat vreodată un buton la un Arduino, ați dat peste această diagramă:

Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down

La început, acest lucru poate fi confuz. Primele mele gânduri: „De ce am nevoie de un rezistor? Vreau doar să-mi spună dacă butonul este apăsat. ”

După multe lecturi, nu a existat o explicație simplă.

Ce se petrece aici

1612077005 971 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down
Diagrama 1

În acel buton – AKA un comutator – firele sunt formate sub forma unui „H”. Dar mijlocul nu este conectat – sau circuitul nu este conectat – până nu apăsăm butonul.

În realitate, vrem să citim din Arduino a 0 când nimic nu este conectat și a 1 când butonul este apăsat.

Pe Arduino, aceasta se numește ieșire de intrare cu scop general (GPIO).

Deci, putem face așa ceva:

1612077005 94 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down
Diagrama 2

Conectăm pozitiv (5v, 3,3V sau VCC) la partea stângă a circuitului.

Acum, când butonul este apăsat, GPIO va citi un 1, și totul este bun.

1612077006 921 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down
Diagrama 3

Ei bine, nu. Să aruncăm o privire din nou la Diagrama 2:

1612077006 561 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down
Diagrama 2

Am vrut o 0 când nimic nu este conectat, dar cum poți garanta acest lucru? În prezent, nu există nicio modalitate de a garanta existența GPIO 0.

Există, de asemenea, frecvențe electromagnetice în aer care ar putea atrage GPIO 0 sau 1. Ar putea chiar să fluctueze între cei doi! În acest fel, nu putem fi siguri că este un 0 (Sunt atât de rău la jocurile de cuvinte). Acest lucru este, de asemenea, cunoscut sub numele de logică 0.

O modalitate de a obține un logic 0 este să legați știftul la sol:

1612077006 578 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down

Ura! Deci, acum este un zero logic garantat. În timp ce apăsați butonul, va fi 1 acum. Dreapta?

Ei bine, nu.

1612077006 469 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down

Tocmai ai creat un scurt circuit. ?

Aici intră rezistorul. Pentru a evita un scurtcircuit, trebuie să adăugăm rezistență circuitului nostru. Rezistorul ține lucrurile sub control.

1612077007 439 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down

Electricitatea va lua calea celei mai puțin rezistente. GPIO-ul dvs. va înregistra acum un 1 când butonul este apăsat. Ca astfel:

1612077007 423 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down
Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down

Woo hoo! Acum lucrăm cu ceva.

Acum, să ne uităm la opusul: rezistențe pull-up. Este același lucru, dar invers. În timp ce butonul nu este apăsat, GPIO va înregistra un 1. Când ați apăsat butonul, GPIO va fi 0.

Deși nu este apăsat, avem GPIO conectat la pozitiv (VCC). Deci, orice curent existent va fi tras în sus, astfel încât GPIO să înregistreze o logică 1.

1612077007 636 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down

Este important să rețineți aici că electricitatea vrea întotdeauna să meargă la sol. Deci, atunci când apăsăm butonul, curentul care curge va curge către sol. Astfel, orice curent care ar fi mers la GPIO merge cu el, lăsând GPIO la un nivel logic 0.

1612077008 802 Elementele fundamentale ale hardware ului modul in care functioneaza rezistentele pull down

? Sfârșitul.

De ce am scris asta?

m-am alăturat Losant în septembrie 2016 fără experiență hardware. Fiecare kit hardware de pornire vă oferă un buton fără explicații despre acest concept. Sperăm că acest lucru vă ajută să se stingă și becul. ?

Acest lucru a zgâriat doar suprafața. Dacă doriți să adânciți, consultați aceste resurse:

Rezistențe de tragere – learn.sparkfun.com
Un alt lucru de subliniat este că, cu cât este mai mare rezistența la tragere, cu atât știftul trebuie să răspundă la …learn.sparkfun.com

Ador feedback-ul. Deci, vă rog să-mi spuneți dacă acest lucru ar putea fi îmbunătățit. Dacă mi-a lipsit total mingea, să-mi dai de veste! Mi-ar plăcea să o fac mai bună pentru alții.