Экскурсія па GPIO Raspberry Pi

01 з 09

Ўвядзенне ў пене маліна Пі

Raspberry Pi GPIO. Рычард Сэвилл

Тэрмін 'GPIO' (General Purpose Input Output) не з'яўляецца эксклюзівам для Raspberry Pi. Ўваходныя і выходныя кантакты могуць быць знойдзеныя на большасці мікракантролераў, такія як Arduino, Beaglebone і шмат чаго іншага.

Калі мы гаворым пра GPIO з Raspberry Pi, мы спасылаемся на доўгі блок загваздак ў верхнім левым куце платы. Старыя мадэлі былі 26 кантактаў, аднак большасць з нас будзе выкарыстоўваць існуючую мадэль з 40.

Вы можаце падключыць кампаненты і іншыя апаратныя прылады да гэтых высноў, і выкарыстоўвайце код, каб кантраляваць тое, што яны робяць. Гэта важная частка Raspberry Pi і выдатны спосаб даведацца аб электроніцы.

Пасля некалькіх праграмных праектаў, вы, верагодна, знайсці сабе паэксперыментаваць з гэтымі штыфтамі, жадаючы змешваць код з апаратнымі сродкамі, каб усё адбылося ў «рэальным жыцці».

Гэты працэс можа быць страшным, калі вы пачатковец на сцэне, і прымаючы пад увагу, што адзін няправільны крок можа прывесці да пашкоджання Raspberry Pi, гэта зразумела, што гэта нервовае вобласць для пачаткоўцаў, каб даследаваць.

Гэты артыкул растлумачыць, што кожны тып GPIO штыфта робіць і іх абмежаванне.

02 з 09

GPIO

Штыфты GPIO пранумараваны ад 1 да 40, і могуць быць згрупаваны ў адпаведнасці з рознымі функцыямі. Рычард Сэвилл

Па-першае, давайце паглядзім на GPIO ў цэлым. Стрыжні могуць выглядаць аднолькава, але ўсе яны маюць розныя функцыі. Малюнак вышэй паказвае гэтыя функцыі ў розных колерах, якія мы патлумачым у наступных кроках.

Кожны загваздка пранумараваны ад 1 да 40, пачынаючы з ніжняй левай частцы. Гэта фізічныя нумары кантактаў, аднак, таксама нумарацыя / пагадненне маркіроўкі, такія як «ВСМ», якія выкарыстоўваюцца пры напісанні кода.

03 з 09

Харчаванне і наземны

Raspberry Pi прапануе некалькі харчавання і зазямлення кантактаў. Рычард Сэвилл

Вылучаныя чырвоным колерам, з'яўляюцца электрычныя кантакты пазначаныя «3» або «5» для 3.3V або 5V.

Гэтыя кантакты дазваляюць непасрэдна падаваць харчаванне да прылады без неабходнасці якой-небудзь кода. Там няма ніякага спосабу ператварыць іх прэч небудзь.

Ёсць 2 шыны харчавання - 3,3 вольта і 5 вольт. Згодна з гэтым артыкулам, 3. рэйкі абмежаваныя 50мА спажываеце таку, у той час як рэйкі 5V могуць забяспечыць любы ток магутнасці, астатняя ад блока харчавання пасля таго, як Пі узяў тое, што яму трэба.

Выдзелены карычневыя з'яўляюцца кантакты зазямлення (GND). Гэтыя высновы з'яўляюцца менавіта тое, што яны кажуць - высновы зямлі - якія з'яўляюцца неад'емнай часткай любога праекта электронікі.

(5V GPIO шпількі фізічныя ліку 2 і 4. 3.3V GPIO штыфты ўяўляюць сабой фізічныя колькасці 1 і 17. Падстава GPIO штыфты ўяўляюць сабой фізічныя колькасці 6, 9, 14, 20, 25, 30, 34 і 39)

04 з 09

Ўваходныя / выходныя высновы

У Уваходныя і выходныя кантакты дазваляюць падлучаць апаратныя сродкі, такія як датчыкі і перамыкачы. Рычард Сэвилл

Зялёныя шпількі, што я называю «агульныя» ўваходныя / выходныя кантакты. Яны могуць быць лёгка выкарыстаны ў якасці уваходаў або выхадаў без якіх-небудзь боязі адносна сутыкнення з іншымі функцыямі, такімі як I2C, SPI або UART.

Гэтыя кантакты, якія могуць адпраўляць харчаванне на святлодыёд, зумер, або іншыя кампаненты, або быць выкарыстаны ў якасці ўваходных дадзеных для чытання датчыкаў, перамыкачоў або іншай прылады ўводу.

Выхадныя магутнасць гэтых кантактаў складае 3,3. Кожны загваздка не павінен перавышаць 16 мА току, альбо тануць або пошук, і ўвесь набор GPIO штыфтоў не павінна перавышаць больш чым на 50 ма ў любы момант часу. Гэта можа быць абмежаваным, так што вы, магчыма, прыйдзецца атрымаць творчы падыход у некаторых праектах.

(Агульны GPIO шпількі фізічныя колькасці 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 і 40)

05 з 09

I2C Pins

I2C дазваляе падключаць іншыя прылады да Пі ўсяго пару загваздак. Рычард Сэвилл

У жоўты колер, у нас ёсць I2C шпількі. I2C ўяўляе сабой пратакол сувязі, які ў простых тэрмінах дазваляе прыладам абменьвацца дадзенымі з Raspberry Pi. Гэтыя высновы таксама могуць быць выкарыстаны ў якасці «радавой» GPIO шпількі.

Добрым прыкладам выкарыстання I2C з'яўляецца вельмі папулярным чып MCP23017 порт пашыральнік, які можа даць вам больш ўваходных / выходных кантактаў праз гэты пратакол I2C.

(I2C , GPIO шпількі фізічныя нумары кантактаў 3 і 5)

06 з 09

УАПП (паслядоўны) Загваздкі

Падключэнне да Pi праз паслядоўны порт з UART штыфтамі. Рычард Сэвилл

У шэрым колеры, з'яўляюцца шпількі UART. Гэтыя штыфты іншы пратакол сувязі, які прапануе паслядоўныя злучэння, а таксама можа быць выкарыстаны ў якасці «родавых» GPIO уваходаў / выхадаў, а таксама.

Мой любімы выкарыстоўваць для UART, каб уключыць паслядоўнае злучэнне ад майго Pi да майго ноўтбука праз USB. Гэта можа быць дасягнута з дапамогай надбудовы на дошках або простых кабеляў і ліквідуе неабходнасць у экране або падлучэнне да Інтэрнэту для доступу да вашага Pi.

(УАППЫ GPIO шпількі фізічныя нумары высноў 8 і 10)

07 з 09

SPI Pins

У SPI загваздкі - яшчэ адзін карысны пратакол сувязі. Рычард Сэвилл

У ружовым, у нас ёсць кантакты SPI. SPI ўяўляе сабой інтэрфейс шына, які перадае дадзеныя паміж Pi і іншымі апаратнымі / перыферыйнымі прыладамі. Гэта звычайна выкарыстоўваецца для пабудовы ланцужкі з прылад, такіх як святлодыёдным матрыца або дысплей.

Як і іншыя, гэтыя штыфты могуць быць таксама выкарыстаны ў якасці «родавых» GPIO уваходаў / выхадаў, а таксама.

(SPI , GPIO шпількі фізічныя нумары высноў 19, 21, 23, 24 і 26)

08 з 09

DNC Pins

Нішто не ўбачыць тут - DNC штыфты ня служаць ніякай функцыі. Рычард Сэвилл

Нарэшце два кантакту сіняга колеру, што, у цяперашні час, пазначаныя як DNC, які выступае за "Ня подключайте. Гэта можа змяніцца ў будучыні, калі Raspberry Pi Foundation мяняе дошку / праграмнае забеспячэнне.

(РСК GPIO шпількі фізічныя нумары высноў 27 і 28)

09 з 09

Нумарацыя канвенцый GPIO

Portsplus ўяўляе сабой зручны інструмент для праверкі нумары кантактаў GPIO. Рычард Сэвилл

Пры кадаванні з GPIO, у вас ёсць выбар, каб імпартаваць бібліятэку GPIO ў адным з двух спосабаў - BCM або BOARD.

Варыянт Я аддаю перавагу GPIO BCM. Гэта нумарацыя канвенцыі Broadcom і я лічу, што ён выкарыстоўваецца часцей за ўсё ў розных праектах і апаратных дапаўненняў.

Другі варыянт GPIO BOARD. Гэты метад выкарыстоўвае фізічныя нумары кантактаў замест гэтага, што вельмі зручна пры падліку кантактаў, але вы ўбачыце, што выкарыстоўваецца менш у прыкладах праектаў.

Рэжым GPIO усталёўваецца пры імпарце бібліятэкі GPIO:

Для імпарту ў ВСМ:

імпарт RPi.GPIO, як GPIO GPIO.setmode (GPIO.BCM)

Каб імпартаваць у BOARD:

імпарт RPi.GPIO, як GPIO GPIO.setmode (GPIO.BOARD)

Абодва гэтых метаду робяць дакладна тую ж працу, гэта проста пытанне нумарацыі пераваг.

Я рэгулярна раблю выкарыстанне зручнай поплаткаў GP этыкетак, такія як RasPiO Portsplus (на фота), каб праверыць, якія высновы я злучальныя правады таксама. Адзін бок паказвае нумарацыю BCM канвенцыі, іншы паказвае BOARD - так вы ахоплены для любога праекта вы знойдзеце.