En introduktion til Raspberry Pi's Pins
Udtrykket "GPIO" (General Purpose Input Output) er ikke udelukkende for Raspberry Pi. Input og output stifter kan findes på de fleste mikrocontrollere som Arduino, Beaglebone og meget mere.
Når vi taler om GPIO med Raspberry Pi, henviser vi til den lange blok af ben i øverste venstre hjørne af brættet. Ældre modeller havde 26 stifter, men de fleste af os vil bruge en nuværende model med 40.
Du kan forbinde komponenter og andre hardwareenheder til disse stifter og bruge kode til at styre, hvad de gør. Det er en vigtig del af Raspberry Pi og en fantastisk måde at lære om elektronik.
Efter nogle få softwareprojekter vil du sandsynligvis finde dig selv eksperimenterende med disse stifter, ivrig efter at blande din kode med hardware for at få tingene til at ske i 'virkeligheden'.
Denne proces kan være skræmmende, hvis du er ny på scenen, og i betragtning af at en falsk bevægelse kan skade din Raspberry Pi, er det forståeligt, at det er et nervøst område for begyndere at udforske.
Denne artikel vil forklare, hvad hver type GPIO-pin gør og deres begrænsninger.
02 af 09GPIO
Lad os først se på GPIO som helhed. Stifterne kan se det samme ud, men de har alle forskellige funktioner. Billedet ovenfor viser disse funktioner i forskellige farver, som vi vil forklare i de følgende trin.
Hver pin er nummereret fra 1 til 40, der starter nederst til venstre. Disse er de fysiske pinnumre, men der er også nummerering / mærkningskonventioner som 'BCM', som bruges til at skrive kode.
03 af 09Power & Ground
Fremhævet rødt, er stifter mærket '3' eller '5' til 3.3V eller 5V.
Disse ben giver dig mulighed for direkte at sende strøm til en enhed uden behov for nogen kode. Der er heller ikke mulighed for at slukke disse.
Der er 2 strømskinner - 3,3 volt og 5 volt. Ifølge denne artikel er 3,3 V-skinnen begrænset til 50 mA nuværende træk, mens 5 V-skinnen kan give uanset den nuværende kapacitet, der er tilbage fra din strømforsyning, efter at Pi har taget, hvad den har brug for.
Fremhævet bruner jorden pins (GND). Disse stifter er præcis, hvad de siger - jordstifter - som er en vigtig del af ethvert elektronikprojekt.
(5V GPIO ben er fysiske tal 2 og 4. 3.3V GPIO ben er fysiske tal 1 og 17. Jord GPIO ben er fysiske tal 6, 9, 14, 20, 25, 30, 34 og 39)
04 af 09Input / Output Pins
De grønne stifter er hvad jeg kalder 'generiske' input / output stifter. Disse kan nemt bruges som input eller output uden bekymringer for sammenstød med andre funktioner som I2C, SPI eller UART.
Disse er de stifter, der kan sende strøm til en LED, summer eller andre komponenter eller bruges som input til at læse sensorer, switche eller anden input enhed.
Udgangseffekten af disse stifter er 3,3 V. Hver stift må ikke overskride 16mA strøm, enten synke eller sourcing, og hele sæt GPIO-stifter bør ikke overstige mere end 50mA på en gang. Dette kan være restriktive, så du kan blive kreativ i visse projekter.
(Generiske GPIO-ben er fysiske tal 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 og 40)
05 af 09I2C Pins
I gul har vi I2C-stifterne. I2C er en kommunikationsprotokol, der simpelthen tillader enheder at kommunikere med Raspberry Pi. Disse stifter kan også bruges som "generiske" GPIO-stifter.
Et godt eksempel på at bruge I2C er den meget populære MCP23017 port expander chip, der kan give dig flere input / output stifter gennem denne I2C-protokol.
(I2C GPIO-ben er fysiske pinnumre 3 og 5)
06 af 09UART (Serial) Pins
I grå er UART-stifterne. Disse stifter er en anden kommunikationsprotokol, der tilbyder serielle forbindelser, og kan også bruges som 'generiske' GPIO-indgange / -udgange også.
Min foretrukne brug for UART er at aktivere en seriel forbindelse fra min Pi til min bærbare computer via USB. Dette kan opnås ved hjælp af add-on boards eller enkle kabler og fjerner behovet for en skærm eller internetforbindelse for at få adgang til din Pi.
(UART GPIO-stifter er fysiske pinnumre 8 og 10)
07 af 09SPI Pins
I pink, vi har SPI stifterne. SPI er en grænsefladebuss, der sender data mellem Pi og andre hardware / periferiudstyr. Det er almindeligt anvendt til kæde af enheder som en LED matrix eller display.
Ligesom andre kan disse stifter også bruges som 'generiske' GPIO-indgange / -udgange.
(SPI GPIO-ben er fysiske pinnumre 19, 21, 23, 24 og 26)
08 af 09DNC Pins
Endelig er to pins i blåt, der i øjeblikket er mærket som DNC, der står for 'Do Not Connect'. Dette kan ændre sig i fremtiden, hvis Raspberry Pi Foundation ændrer boards / software.
(DNC GPIO pins er fysiske pinnumre 27 og 28)
09 af 09GPIO nummereringskonventioner
Ved kodning med GPIO har du mulighed for at importere GPIO-biblioteket på en af to måder - BCM eller BOARD.
Den mulighed jeg foretrækker er GPIO BCM. Dette er Broadcom nummereringskonventionen, og jeg finder ud af, at den bruges mere almindeligt på tværs af projekter og hardware add-ons.
Den anden mulighed er GPIO BOARD. Denne metode bruger de fysiske pinnumre i stedet, hvilket er praktisk, når man tæller ben, men du finder det brugt mindre i projekteksempler.
GPIO-tilstanden indstilles, når du importerer GPIO-biblioteket:
At importere som BCM:
importere RPi.GPIO som GPIO
GPIO.setmode (GPIO.BCM)
At importere som BOARD:
importere RPi.GPIO som GPIO
GPIO.setmode (GPIO.BOARD)
Begge disse metoder gør præcis det samme arbejde, det er bare et spørgsmål om nummerering præference.
Jeg bruger jævnligt brug af praktiske GPIO-mærkebrætter som RasPiO Portsplus (billedet) for at kontrollere, hvilke stifter jeg også forbinder ledninger med. Én side viser BCM nummereringskonventionen, den anden viser BOARD - så du er dækket af ethvert projekt, du finder.