Grundlæggende hardware: hvordan pull-down og pull-up modstande fungerer

Hvis du nogensinde har tilsluttet en knap til en Arduino, er du stødt på dette diagram:

Først kan dette være forvirrende. Mine første tanker: ”Hvorfor har jeg brug for en modstand? Jeg vil bare fortælle mig, om der trykkes på knappen. ”

Efter en masse læsning var der ikke en simpel forklaring.

Hvad sker der her

I den knap - AKA en afbryder - er ledningerne formet som "H". Men midten er ikke tilsluttet - eller kredsløbet er ikke forbundet - indtil vi trykker på knappen.

I virkeligheden vil vi læse fra Arduino a 0når intet er tilsluttet og a 1når der trykkes på knappen.

På Arduino kaldes dette General Purpose Input Output (GPIO).

Så vi kan gøre noget som dette:

Vi forbinder positive (5v, 3.3V eller VCC) til venstre side af kredsløbet.

Nu, når der trykkes på knappen, læser GPIO en 1, og alt er godt.

Altså nej. Lad os se på Diagram 2 igen:

Vi ønskede en, 0når intet er forbundet, men hvordan kan du garantere dette? I øjeblikket er der ingen måde at garantere, at GPIO er 0.

Der er også elektromagnetiske frekvenser i luften, der kan trække din GPIO til 0eller 1. Det kunne endda svinge mellem de to! På denne måde kan vi ikke være positive, det er en 0(jeg er så dårlig til ordspil). Dette er også kendt som en logisk 0.

En måde at få en logisk 0er at binde stiften til jorden:

Yay! Så nu er det et garanteret logisk nul. Mens du trykker på knappen, bliver det 1nu. Ret?

Altså nej.

Du har lige oprettet en kortslutning. ?

Det er her modstanden kommer ind. For at undgå kortslutning skal vi tilføje modstand til vores kredsløb. Modstanden holder tingene under kontrol.

Elektricitet tager den mindste modstands vej. Din GPIO registrerer nu a, 1når der trykkes på knappen. Ligesom:

Woo Hoo! Nu arbejder vi med noget.

Lad os nu se på det modsatte: pull-up modstande. Det er den samme ting, men i omvendt retning. Mens der ikke trykkes på knappen, registrerer GPIO en 1. Når du trykkede på knappen, er GPIO det 0.

Mens vi ikke trykker på det, har vi GPIO tilsluttet positivt (VCC). Så enhver strøm, der er der, trækkes op, så GPIO registrerer en logisk 1.

Det er vigtigt at bemærke her, at elektricitet altid vil gå til jorden. Så når vi trykker på knappen, strømmer den strøm, der flyder til jorden. Således går enhver strøm, der ville have været til GPIO, med den og efterlod GPIO logisk 0.

? Slutningen.

Hvorfor skrev jeg dette?

Jeg kom til Losant i september 2016 uden hardware-oplevelse. Hvert enkelt hardware-startsæt giver dig en knap uden forklaring på dette koncept. Forhåbentlig hjælper dette også din pære til at slukke. ?

Dette ridsede kun overfladen. Hvis du vil grave dybere, skal du tjekke disse ressourcer:

Pull-up-modstande - learn.sparkfun.com

En anden ting at påpege er, at jo større modstanden til pull-up er, jo langsommere er stiften at reagere på ... learn.sparkfun.com

Jeg elsker feedback. Så lad mig det vide, hvis dette kunne forbedres. Hvis jeg helt savnede bolden på dette, så lad mig det vide! Jeg ville elske at gøre det bedre for andre.