Taith o'r Mws Pi GPIO

01 o 09

Cyflwyniad i'r Pins Pi's Mws

Y Mws Pi MÔN. Richard Saville

Nid yw'r term 'GPIO' (Allbwn Mewnbwn Diben Cyffredinol) yn unigryw i'r Mws Mws. Gellir dod o hyd i biniau mewnbwn ac allbwn ar y rhan fwyaf o ficrocontrolwyr megis yr Arduino, Beaglebone a mwy.

Pan fyddwn yn sôn am GPIO gyda'r Mws Coch, rydym yn cyfeirio at y bloc hir o finnau ar gornel uchaf y chwith. Roedd gan fodelau hŷn 26 pin, fodd bynnag, bydd y rhan fwyaf ohonom yn defnyddio model cyfredol gyda 40.

Gallwch chi gysylltu cydrannau a dyfeisiau caledwedd eraill i'r pinnau hyn, a defnyddio cod i reoli'r hyn maen nhw'n ei wneud. Mae'n rhan bwysig o'r Mws Mws a ffordd wych o ddysgu am electroneg.

Ar ôl ychydig o brosiectau meddalwedd, fe fyddwch chi'n debygol o ddod o hyd i arbrofi gyda'r pinnau hyn, yn awyddus i gymysgu'ch cod gyda chaledwedd er mwyn gwneud i bethau ddigwydd mewn 'bywyd go iawn'.

Gall y broses hon fod yn fygythiol os ydych chi'n newydd i'r lleoliad, ac o'r farn y gall un symudiad ffug ddifrodi'ch Mws Môr, mae'n ddealladwy ei bod yn ardal nerfus i ddechreuwyr archwilio.

Bydd yr erthygl hon yn egluro beth mae pob math o pin GPIO yn ei wneud a'i gyfyngiadau.

02 o 09

Y GPIO

Mae pinnau GPIO yn rhif 1 i 40, a gellir eu grwpio o dan wahanol swyddogaethau. Richard Saville

Yn gyntaf, gadewch i ni edrych ar y GPIO yn gyffredinol. Efallai y bydd y pinnau'n edrych yr un fath ond mae gan bob un ohonynt wahanol swyddogaethau. Mae'r ddelwedd uchod yn dangos y swyddogaethau hyn mewn gwahanol liwiau y byddwn yn eu hesbonio yn y camau canlynol.

Mae pob pin wedi'i rifo o 1 i 40 gan ddechrau ar y chwith isaf. Dyma'r rhifau pin ffisegol, fodd bynnag, mae yna hefyd gonfensiynau rhifo / labelu megis 'BCM' a ddefnyddir wrth ysgrifennu cod.

03 o 09

Pŵer a Daear

Mae'r Mws Mafon yn cynnig pins lluosog a phriod daear. Richard Saville

Wedi'u goleuo'n goch, mae pinnau pŵer wedi'u labelu '3' neu '5' ar gyfer 3.3V neu 5V.

Mae'r pinnau hyn yn eich galluogi i anfon pwer yn uniongyrchol i ddyfais heb yr angen am unrhyw god. Nid oes ffordd o droi'r rhain i ffwrdd naill ai.

Mae yna 2 riliau pŵer - 3.3 folt a 5 folt. Yn ôl yr erthygl hon, mae'r rheilffordd 3.3V wedi'i gyfyngu i dynnu cyfredol 50mA, tra gall y rheilffyrdd 5V ddarparu pa bynnag gyfle sydd ar hyn o bryd sydd wedi'i adael o'ch cyflenwad pŵer ar ôl i'r Pi gymryd yr hyn sydd ei angen arno.

Pinsin y ddaear (GND) sy'n cael eu hamlygu'n frig. Mae'r pinnau hyn yn union beth maen nhw'n ei ddweud - pinnau daear - sy'n rhan hanfodol o unrhyw brosiect electroneg.

(Mae pinnau GPIO 5V yn rhifau corfforol 2 a 4. Mae pinnau GPIO 3.3V yn rhifau ffisegol 1 a 17. Mae pinnau GPIO ar y tir yn rhifau corfforol 6, 9, 14, 20, 25, 30, 34 a 39)

04 o 09

Pinsin Mewnbwn / Allbwn

Mae'r pinnau Mewnbwn ac Allbwn yn caniatáu i chi gysylltu caledwedd fel synwyryddion a switshis. Richard Saville

Y pinnau gwyrdd yw'r hyn yr wyf yn galw pinnau mewnbwn / allbwn 'generig'. Gellir defnyddio'r rhain yn hawdd fel mewnbynnau neu allbynnau heb unrhyw bryderon ynghylch gwrthdaro â swyddogaethau eraill megis I2C, SPI neu UART.

Dyma'r pinnau a all anfon pŵer i LED, cysur, neu gydrannau eraill, neu eu defnyddio fel mewnbwn i ddarllen synwyryddion, switshis neu ddyfais fewnbwn arall.

Pŵer allbwn y pinnau hyn yw 3.3V. Ni ddylai pob pin fod yn fwy na 16mA o gyfredol, naill ai'n suddo neu'n dod o hyd, ac ni ddylai'r set gyfan o finiau GPIO fod yn fwy na 50mA ar unrhyw adeg. Gall hyn fod yn gyfyngol, felly efallai y bydd yn rhaid i chi fod yn greadigol mewn rhai prosiectau.

(Mae pinnau GPIO generig yn rhifau corfforol 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 a 40)

05 o 09

Pinsin I2C

Mae I2C yn caniatáu i chi gysylltu dyfeisiau eraill i'ch Pi gyda dim ond ychydig o byiniau. Richard Saville

Mewn melyn, mae gennym y pinnau I2C. Mae I2C yn brotocol cyfathrebu sydd, mewn termau syml, yn caniatáu i ddyfeisiau gyfathrebu â'r Mws Mws. Gellir defnyddio'r pinnau hyn hefyd fel pinnau GPIO 'generig'.

Enghraifft dda o ddefnyddio I2C yw'r sglodyn porthladd poblogaidd MCP23017, a all roi mwy o finynnau mewnbwn / allbwn i chi drwy'r protocol I2C hwn.

(Mae pinnau GPIO I2C yn rhifau pin corfforol 3 a 5)

06 o 09

Pinsin UART (Serial)

Cysylltwch â'ch Pi dros gysylltiad cyfresol gyda'r pinnau UART. Richard Saville

Mewn llwyd, yw'r pinnau UART. Mae'r pinnau hyn yn brotocol cyfathrebu arall sy'n cynnig cysylltiadau cyfresol, a gellir eu defnyddio hefyd fel mewnbynnau / allbynnau GPIO 'generig' hefyd.

Fy hoff ddefnydd ar gyfer UART yw galluogi cysylltiad cyfresol gan fy Pi i fy laptop dros USB. Gellir cyflawni hyn trwy ddefnyddio byrddau ategol neu geblau syml ac yn dileu'r angen am sgrîn neu gysylltiad rhyngrwyd i gael mynediad at eich Pi.

(Mae pinnau GPIO UART yn rhifau pin ffisegol 8 a 10)

07 o 09

Pinsiau SPI

Pinsiau SPI - protocol cyfathrebu defnyddiol arall. Richard Saville

Yn binc , mae gennym y pinnau SPI. Bys rhyngwyneb yw SPI sy'n anfon data rhwng y Pi a chaledwedd / perifferolion eraill. Fe'i defnyddir yn aml ar gyfer cannodi dyfeisiadau megis matrics neu arddangosfa LED.

Fel eraill, gellir defnyddio'r pinnau hyn hefyd fel mewnbwn / allbynnau GPIO 'generig' hefyd.

(Mae pinnau GPIO SPI yn rhifau pin ffisegol 19, 21, 23, 24 a 26)

08 o 09

Pinsiau DNC

Dim i'w weld yma - nid oes gan y pinnau DNC unrhyw swyddogaeth. Richard Saville

Yn olaf mae dau bins mewn glas sydd, ar hyn o bryd, yn cael eu labelu fel DNC, sef 'Do Not Connect'. Efallai y bydd hyn yn newid yn y dyfodol os bydd y Sefydliad Mwg Mws yn newid y byrddau / meddalwedd.

(Mae pinnau GPNC DNC yn rhifau pin ffisegol 27 a 28)

09 o 09

Confensiynau Rhifio GPIO

Mae'r Portsplus yn offeryn defnyddiol ar gyfer gwirio rhifau pin GPIO. Richard Saville

Wrth godio gyda'r GPIO, mae gennych chi ddewis i fewnforio llyfrgell GPIO mewn un o ddwy ffordd - BCM neu BOARD.

Yr opsiwn sy'n well gennyf yw GPIO BCM. Dyma'r confensiwn niferus Broadcom a dwi'n canfod ei fod yn cael ei ddefnyddio'n fwy cyffredin ar draws prosiectau ac ategolion caledwedd.

Yr ail opsiwn yw GPIO BWRDD. Mae'r dull hwn yn defnyddio rhifau pin ffisegol yn lle hynny, sy'n ddefnyddiol wrth gyfrif pinnau, ond fe welwch ei fod yn llai defnyddiol mewn enghreifftiau prosiect.

Mae'r modd GPIO wedi'i osod wrth fewnforio llyfrgell GPIO:

I fewnforio fel BCM:

mewnforio RPi.GPIO fel GPIO GPIO.setmode (GPIO.BCM)

I fewnforio fel BWRDD:

mewnforio RPi.GPIO fel GPIO GPIO.setmode (GPIO.BOARD)

Mae'r ddau ddull hyn yn gwneud yr un swydd yn union, dim ond mater o rifo dewis yw.

Rwy'n gwneud defnydd rheolaidd o fyrddau labeli GPIO defnyddiol fel y RasPiO Portsplus (yn y llun) i wirio pa biniau rydw i'n cysylltu â gwifrau hefyd. Mae un ochr yn dangos y confensiwn rhifo BCM, mae'r llall yn dangos BWRDD - felly rydych chi'n cael eich cynnwys ar gyfer unrhyw brosiect a gewch chi.