A Tour af hindberjum Pi GPIO

01 af 09

Óákveðinn greinir í ensku Kynning á Pins hindberjum Pípu

Raspberry Pi GPIO. Richard Saville

Hugtakið "GPIO" (General Purpose Input Output) er ekki eingöngu til Raspberry Pi. Inntak og framleiðsla pinna má finna á flestum microcontrollers eins og Arduino, Beaglebone og fleira.

Þegar við tölum um GPIO með Raspberry Pi, þá erum við að vísa til langa stutta pinna efst í vinstra horninu á borðinu. Eldri gerðir voru með 26 pinna, en flest okkar munu nota núverandi líkan með 40.

Þú getur tengt hluti og önnur vélbúnaðartæki við þessi pinna og notaðu kóða til að stjórna því sem þeir gera. Það er mikilvægur hluti af Raspberry Pi og frábær leið til að læra um rafeindatækni.

Eftir nokkrar hugbúnaðarverkefni finnur þú líklega sjálfur að gera tilraunir með þessum pinna, fús til að blanda kóðann með vélbúnaði til að gera hlutina að gerast í "raunveruleikanum".

Þetta ferli getur verið ógnvekjandi ef þú ert nýr á vettvangi og miðað við að einn falskur hreyfing getur skaðað Raspberry Pi þinn, þá er það skiljanlegt að það sé kvíðlegt svæði fyrir byrjendur að kanna.

Þessi grein mun útskýra hvað hver tegund af GPIO pinna gerir og takmarkanir þeirra.

02 af 09

The GPIO

GPIO pinna eru númeruð 1 til 40 og geta verið flokkaðar undir mismunandi aðgerðum. Richard Saville

Í fyrsta lagi skulum kíkja á GPIO í heild. Spennurnar gætu lítt þau sömu en þau hafa öll mismunandi aðgerðir. Myndin hér að ofan sýnir þessar aðgerðir í mismunandi litum sem við munum útskýra í eftirfarandi skrefum.

Hver pinna er númeruð frá 1 til 40 og byrjar neðst til vinstri. Þetta eru líkamlega pinna númer, en einnig eru númer / merkingar samninga eins og "BCM" sem eru notaðar við ritun kóða.

03 af 09

Power & Ground

The Raspberry Pi býður upp á marga kraft og jörð pinna. Richard Saville

Hápunktur rauður, máttur pinna merkt '3' eða '5' fyrir 3.3V eða 5V.

Þessir spjöld leyfa þér að senda beint tæki til tækis án þess að þurfa að fá kóða. Það er engin leið til þess að slökkva á þessu.

Það eru 2 máttur teinar - 3,3 volt og 5 volt. Samkvæmt þessari grein er 3.3V járnbrautin takmörkuð við 50mA núverandi teikningu, en 5V járnbrautin getur veitt hvaða núverandi afköst er eftir frá aflgjafanum þínum eftir að Pi hefur tekið það sem þarf.

Hápunktur brúnn eru jörðarmálin (GND). Þessir prjónar eru nákvæmlega það sem þeir segja - jörðarmörk - sem eru mikilvægur þáttur í hvaða rafeindatækniverkefni.

(5V GPIO pinna eru líkamsnúmer 2 og 4. 3.3V GPIO pinna eru líkamsnúmer 1 og 17. Ground GPIO pinna eru líkamsnúmer 6, 9, 14, 20, 25, 30, 34 og 39)

04 af 09

Input / Output Pins

Inntak og útgangstengi gerir þér kleift að tengja vélbúnað eins og skynjara og rofa. Richard Saville

Grænu prjónarnir eru það sem ég kalla "almenna" inntak / útgangstengi. Þessir geta hæglega notast sem inntak eða framleiðsla án þess að hafa áhyggjur af sambandi við aðrar aðgerðir eins og I2C, SPI eða UART.

Þetta eru pinna sem geta sent orku í LED, buzzer eða aðra hluti eða notað sem inntak til að lesa skynjara, rofa eða annað inntakstæki.

Framleiðsla máttur þessara pinna er 3,3V. Hver pinna ætti ekki að vera meiri en 16mA af núverandi, annaðhvort sökk eða uppspretta, og allt sett af GPIO pinna ætti ekki að fara yfir meira en 50mA á hverjum tíma. Þetta getur verið takmarkandi, svo þú gætir þurft að verða skapandi í ákveðnum verkefnum.

(Generic GPIO pinna eru líkamsnúmer 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 og 40)

05 af 09

I2C Pins

I2C gerir þér kleift að tengja önnur tæki við Pi með aðeins nokkrum pinna. Richard Saville

Í gulu, höfum við I2C pinna. I2C er samskiptareglur sem einfaldlega gerir tækjum kleift að eiga samskipti við Raspberry Pi. Þessir prjónar geta einnig verið notaðir sem "almennar" GPIO prjónar.

Gott dæmi um notkun I2C er mjög vinsæl MCP23017 port expander flís, sem getur gefið þér fleiri inntak / útgangstengi með þessum I2C samskiptareglum.

(I2C GPIO pinna eru líkamlega pinna númer 3 og 5)

06 af 09

UART (Serial) Pins

Tengdu við pípuna þína á serial tengingu við UART pinna. Richard Saville

Í gráu eru UART pinna. Þessir prjónar eru önnur samskiptareglur sem bjóða upp á raðatengingar og geta einnig verið notaðir sem "almennar" GPIO inntak / framleiðsla eins og heilbrigður.

Uppáhaldsnotkun mín fyrir UART er að gera rafræna tengingu frá Pi minn til minn fartölvu yfir USB. Þetta er hægt að ná með því að nota viðbótarborð eða einfaldar kaplar og fjarlægir þörfina fyrir skjá eða nettengingu til að fá aðgang að Pi.

(UART GPIO pinna eru líkamleg PIN númer 8 og 10)

07 af 09

SPI Pins

SPI Pins - annar gagnlegur samskiptareglur. Richard Saville

Í bleiku höfum við SPI pinna. SPI er tengibúnaður sem sendir gögn milli Pi og annarrar vélbúnaðar / jaðartæki. Það er almennt notað til að tengja tæki eins og LED-fylki eða skjá.

Eins og aðrir, geta þessar prjónar einnig notaðar sem "almennar" GPIO inntak / framleiðsla eins og heilbrigður.

(SPI GPIO pinna eru líkamlegir pinna tölur 19, 21, 23, 24 og 26)

08 af 09

DNC Pins

Ekkert að sjá hér - DNC pinna þjóna ekki hlutverki. Richard Saville

Að lokum eru tvær pinna í bláu sem eru nú merktar sem DNC sem stendur fyrir 'Ekki tengja'. Þetta getur breyst í framtíðinni ef Raspberry Pi Foundation breytir stjórnum / hugbúnaði.

(DNC GPIO pinna eru líkamsnúmer 27 og 28)

09 af 09

GPIO númerakonningar

Portsplus er handvirkt tól til að kanna GPIO pinna númer. Richard Saville

Þegar þú ert með kóða með GPIO hefur þú kost á að flytja inn GPIO bókasafnið á einum af tveimur vegu - BCM eða BOARD.

Möguleiki sem ég vil frekar er GPIO BCM. Þetta er Broadcom númeranúmerið og ég kemst að því að það er notað almennt í verkefnum og vélbúnaðar viðbótum.

Annað valkostur er GPIO BOARD. Þessi aðferð notar líkamlega pinna tölurnar í staðinn, sem er vel þegar telja pinna, en þú munt finna að það er notað minna í dæmi um verkefni.

GPIO stillingin er stillt við innflutning á GPIO bókasafni:

Til að flytja inn sem BCM:

flytja inn RPi.GPIO sem GPIO GPIO.setmode (GPIO.BCM)

Til að flytja inn sem BOARD:

flytja inn RPi.GPIO sem GPIO GPIO.setmode (GPIO.BOARD)

Báðar þessar aðferðir gera nákvæmlega það sama starf, það er bara spurning um að tala um val.

Ég nota reglulega handvirka GPIO merkispjöld eins og RasPiO Portsplus (mynd) til að athuga hvaða pinna ég tengi vír líka. Einn hliðin sýnir BCM númerunarsamninginn, önnur sýnir BOARD - þannig að þú ert þakinn fyrir hvaða verkefni þú finnur.