Tour de la Frambo Pi GPIO

01 de 09

Enkonduko al la Frembaj Pi-Pingloj

La Frambo Pi GPIO. Richard Saville

La termino 'GPIO' (Ĝenerala Propozenta Eniga Eligo) Ne estas ekskluziva al la Frambo Pi. Enmetaj kaj elsendaj pingloj troviĝas plejparte de mikrokontroliloj kiel ekzemple Arduino, Beaglebone kaj pli.

Kiam ni parolas pri GPIO kun la Frambo Pi, ni aludas al la longa bloko de pingloj ĉe la supra maldekstra angulo de la tabulo. Pli malnovaj modeloj havis 26 pingloj, tamen la plej multaj el ni uzos nunan modelon kun 40.

Vi povas konekti komponantojn kaj aliajn aparatajn aparatojn al ĉi tiuj pingloj, kaj uzi kodon por kontroli kion ili faras. Ĝi estas grava parto de la Frambo Pi kaj bonega maniero por lerni pri elektroniko.

Post kelkaj programprogramoj, vi verŝajne trovos vin spertanta kun ĉi tiuj pingloj, avida miksi vian kodon kun aparataro por fari aferojn okazi en 'reala vivo'.

Ĉi tiu procezo povas timigi se vi estas nova al la sceno, kaj konsiderante ke unu falsa movado povas damaĝi vian Frambon Pi, ĝi estas komprenebla, ke ĝi estas nervoza areo por komencantoj esplori.

Ĉi tiu artikolo klarigos, kion faras ĉiu tipo de GPIO-pin kaj iliaj limigoj.

02 de 09

La GPIO

La pingloj GPIO estas numeritaj 1 ĝis 40, kaj povas esti grupigitaj sub malsamaj funkcioj. Richard Saville

Unue, ni rigardu la GPIO en lia aro. La pingloj eble aspektas samaj, sed ĉiuj havas malsamajn funkciojn. La supra bildo montras ĉi tiujn funkciojn en malsamaj koloroj, kiujn ni klarigos en la sekvaj paŝoj.

Ĉiu pinglo estas kalkulita de 1 ĝis 40 ekde la malsupro maldekstre. Ĉi tiuj estas la fizikaj pingaj nombroj, tamen, ekzistas ankaŭ numeri / etikedaj konvencioj kiel 'BCM', kiuj estas uzataj dum skribado de kodo.

03an de 09

Potenco & Tero

La Frambo Pi ofertas multoblan potencon kaj grundajn pingojn. Richard Saville

Elstarita ruĝa, estas potencaj pingloj etikeditaj '3' aŭ '5' por 3.3V aŭ 5V.

Ĉi tiuj pingloj permesas vin rekte sendi potencon al aparato sen neceso de iu ajn kodo. Ne estas maniero ankaŭ turni ĉi tiujn.

Estas 2 potencaj reloj - 3.3 voltoj kaj 5 voltoj. Laŭ ĉi tiu artikolo, la 3-a veturilo estas limigita al 50mA aktuala kotizo, dum la 5V-fervojo povas provizi, kia ajn nuna kapablo restos de via potenco post kiam la Pi prenis tion, kion ĝi bezonas.

Frapita bruna estas la grundaj pingloj (GND). Ĉi tiuj pingloj estas precize, kion ili diras - grundaj pingloj - kiuj estas esenca parto de iu ajn elektronika projekto.

(5-a GPIO-pingloj estas fizikaj nombroj 2 kaj 4. 3.3V GPIO-pingloj estas fizikaj nombroj 1 kaj 17. Tero GPIO-pingloj estas fizikaj nombroj 6, 9, 14, 20, 25, 30, 34 kaj 39)

04 de 09

Enmeto / Eligo Pingloj

La pingloj de Enigo kaj Eligo permesas al vi konekti aparataron kiel sensores kaj ŝaltiloj. Richard Saville

La verdaj pingloj estas tio, kion mi nomas "generie" enigo / elsendaj pingloj. Ĉi tiuj povas esti facile uzataj kiel enigoj aŭ eliroj sen ia maltrankvilo pri kolizio kun aliaj funkcioj kiel I2C, SPI aŭ UART.

Ĉi tiuj estas la pingloj, kiuj povas sendi potencon al LED, buzzer aŭ aliaj komponantoj, aŭ esti uzataj kiel enigo por legi sensores, ŝaltiloj aŭ alia eniga aparato.

La potenco de eliro de ĉi tiuj pingloj estas 3.3V. Ĉiu pinglo ne devas superi 16mA de fluo, nek enprofundiĝanta aŭ envendado, kaj la tuta aro de GPIO-pingloj ne devas superi pli ol 50mA samtempe. Ĉi tio povas esti limiga, do vi eble devas krei iujn projektojn.

(Ĝeneralaj GPIO-pingloj estas fizikaj nombroj 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 kaj 40)

05 de 09

I2C Pingloj

I2C permesas konekti aliajn aparatojn al via Pi kun nur kelkaj pingloj. Richard Saville

En flava, ni havas la I2C-pingloj. I2C estas komunika protokolo, kiu en simplaj terminoj permesas al mekanismoj komuniki kun la Frambo Pi. Ĉi tiuj pingloj ankaŭ povas esti uzataj kiel "generitaj" GPIO-pinĉiloj.

Bona ekzemplo de uzado de I2C estas la populara ĉifono de ekspanderigilo de haveno MCP23017, kiu povas doni al vi pliajn enirojn / elirojn per ĉi tiu protokolo I2C.

(I2C GPIO-pingloj estas fizikaj pingaj nombroj 3 kaj 5)

06 de 09

UART (Seriaj) Pingloj

Konekti al via Pi per seria konekto kun la UART-pingloj. Richard Saville

En griza, estas la UART-pingloj. Ĉi tiuj pingloj estas alia komunika protokolo, kiu proponas seriajn ligojn, kaj ankaŭ povas esti uzataj kiel GPI-enigoj / eliroj.

Mia plej ŝatata uzo por UART estas ebligi serian konekton de mia Pi al mia tekkomputilo super USB. Ĉi tio povas esti atingita per aldonaj tabuloj aŭ simplaj kabloj kaj forigas la bezonon de ekrano aŭ interreta konekto por aliri vian Pi.

(UART GPIO-pingloj estas fizikaj pingaj nombroj 8 kaj 10)

07 de 09

SPIaj Pingloj

La SPI-Pingloj - Alia utila komunika protokolo. Richard Saville

En rozkolora , ni havas la SPI-poŝojn. SPI estas interfaco-buso, kiu sendas datumojn inter la Pi kaj aliaj aparataro / ekstercentraj. Ĝi estas kutime uzita por ĉenado de aparatoj kiel LED-matrico aŭ ekrano.

Kiel aliaj, ĉi tiuj pingloj ankaŭ povas esti uzataj kiel GPI-enigoj / eliroj ankaŭ.

(SPI-GPIO-pingloj estas fizikaj pingaj nombroj 19, 21, 23, 24 kaj 26)

08 de 09

DNC-Pingloj

Nenio por vidi ĉi tie - la DNC-pingloj ne funkcias. Richard Saville

Finfine estas du pingloj en bluo, kiuj nuntempe estas etikeditaj kiel DNC, kiuj signifas 'Ne Konekti'. Ĉi tio eble ŝanĝos en la estonteco se la Raspberry Pi Foundation ŝanĝos la tabulojn / programaron.

(DNC GPIO-pingloj estas fizikaj pingaj nombroj 27 kaj 28)

09 de 09

Konvencioj de numerado de GPIO

La Portspluso estas oportuna ilo por kontrolado de GPIO-pin-nombroj. Richard Saville

Kiam kodita kun la GPIO, vi havas la elekton importi la GPIO-bibliotekon laŭ unu maniero - BCM aŭ BOARD.

La opcio, kiun mi preferas, estas GPIO BCM. Ĉi tiu estas la varianta konvencio de Broadcom kaj mi trovas, ke ĝi estas uzata pli komune inter projektoj kaj aparataro-aldonoj.

La dua opcio estas GPIO BOARD. Ĉi tiu metodo uzas la fizikajn pinglojn anstataŭe, kio estas oportuna kiam kalkulataj pingloj, sed vi trovos ĝin uzata malpli en projektoj.

La modo GPIO estas metita kiam importado de la GPIO-biblioteko:

Importi kiel BCM:

Importi RPi.GPIO kiel GPIO GPIO.setmode (GPIO.BCM)

Importi kiel BOARDO:

Importi RPi.GPIO kiel GPIO GPIO.setmode (GPIO.BOARD)

Ambaŭ ĉi tiuj metodoj faras ĝuste la saman laboron, ĝi estas nur afero pri nombranta prefero.

Mi regule uzas oportunajn etikedojn de GPIO-etikedoj, kiel ekzemple la RasPiO Portsplus (en la bildo) por kontroli ĉu pingloj mi ankaŭ konektas dratojn. Unuflanke montras la BCM-numeron konvencion, la alia montras BOARD - do vi estas kovrita por iu projekto, kiun vi trovos.