Un recorregut pel gerro Pi GPIO

01 de 09

Una introducció als pin de Raspberry Pi

The Raspberry Pi GPIO. Richard Saville

El terme 'GPIO' (Sortida d'entrada de propòsit general) no és exclusiu de Raspberry Pi. Els pins d'entrada i sortida es poden trobar a la majoria de microcontroladors com ara Arduino, Beaglebone i molt més.

Quan parlem de GPIO amb Raspberry Pi, ens referim al llarg bloc d'agulles que hi ha a l'extrem superior esquerre del tauler. Els models anteriors tenien 26 pines, però la majoria de nosaltres usarà un model actual amb 40.

Podeu connectar els components i altres dispositius de maquinari a aquests pins, i utilitzar el codi per controlar el que fan. És una part important de Raspberry Pi i una excel·lent forma d'aprendre sobre l'electrònica.

Després d'uns quants projectes de programari, probablement et trobaràs experimentant amb aquests pins, desitjant mesclar el codi amb el maquinari per fer que les coses passin a la vida real.

Aquest procés pot ser intimidatori si sou nou en l'escena, i tenint en compte que una jugada falsa pot fer malbé el Raspberry Pi, és comprensible que es tracti d'una zona nerviosa per als principiants a explorar.

En aquest article s'explicarà el que fa cada tipus de pin GPIO i les seves limitacions.

02 de 09

El GPIO

Els pins GPIO estan numerats del 1 al 40, i es poden agrupar sota diferents funcions. Richard Saville

En primer lloc, fem una ullada al GPIO en general. Els pins poden tenir el mateix aspecte, però tots tenen funcions diferents. La imatge superior mostra aquestes funcions en diferents colors que us explicarem en els passos següents.

Cada pin està numerat de l'1 al 40 començant a la part inferior esquerra. Aquests són els nombres físics de pin, però, també hi ha convencions de numeració / etiquetatge com ara 'BCM' que s'utilitzen en escriure codi.

03 de 09

Energia i terra

La Raspberry Pi ofereix múltiples pins d'alimentació i terra. Richard Saville

Destacats de color vermell, hi ha pines d'alimentació etiquetades com '3' o '5' per a 3,3 V o 5 V.

Aquests pins us permeten enviar energia directament a un dispositiu sense necessitat de cap codi. Tampoc hi ha cap manera de desactivar-los.

Hi ha 2 carrils d'alimentació: 3,3 volts i 5 volts. Segons aquest article, el rail 3.3V està limitat al sorteig actual de 50 mA, mentre que el carril 5V pot proporcionar la capacitat actual de la seva font d'alimentació després que Pi hagi pres el que necessita.

Els marrons destacats són els pins de terra (GND). Aquests clavilles són exactament el que diuen: pins de terra, que són una part vital de qualsevol projecte d'electrònica.

(Els pins GPIO de 5V són els nombres físics 2 i 4. Els pins GPIO de 3.3V són els nombres físics 1 i 17. Els pins GPIO terrestres són nombres físics 6, 9, 14, 20, 25, 30, 34 i 39)

04 de 09

Pines d'entrada / sortida

Els botons d'entrada i sortida permeten connectar maquinari com sensors i commutadors. Richard Saville

Els pins verds són el que anomeno pins d'entrada / sortida genèrics. Aquests es poden utilitzar fàcilment com a entrades o sortides sense cap tipus de preocupació per evitar altres funcions com ara I2C, SPI o UART.

Aquests són els claus que poden enviar energia a un LED, timbre o altres components, o es poden utilitzar com a entrada per llegir sensors, interruptors o un altre dispositiu d'entrada.

La potència de sortida d'aquests pins és de 3.3V. Cada pin no ha d'excedir els 16 mA de corrent, ja sigui en enfonsament o en el proveïment, i tot el conjunt de pins GPIO no hauria d'excedir de més de 50 mA en qualsevol moment. Això pot ser restrictiu, de manera que és possible que hagueu d'haver creat en determinats projectes.

(Els patrons GPIO genèrics són els números físics 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 i 40)

05 de 09

Pins I2C

I2C us permet connectar altres dispositius al vostre Pi amb només un parell d'agulles. Richard Saville

En groc, tenim els pins I2C. I2C és un protocol de comunicació que en termes simples permet als dispositius comunicar-se amb Raspberry Pi. Aquests pins també es poden utilitzar com a pins genèrics GPIO.

Un bon exemple d'utilitzar I2C és el xip d'expansor del port MCP23017 molt popular, que pot donar-vos més pins d'entrada / sortida a través d'aquest protocol I2C.

(Els patrons I2C GPIO són ​​els nombres físics 3 i 5)

06 de 09

UART (Serial) Pins

Connecteu-vos a la vostra pi mitjançant una connexió en sèrie amb els botons UART. Richard Saville

En gris, són els pines UART. Aquests pins són un altre protocol de comunicació que ofereix connexions en sèrie, i també es poden utilitzar com a entrades / sortides genèriques GPIO.

El meu ús preferit per a UART és permetre una connexió en sèrie del meu Pi al meu portàtil a través d'USB. Això es pot aconseguir utilitzant taulers complementaris o cables senzills i elimina la necessitat d'una pantalla o connexió a Internet per accedir al vostre Pi.

(Els patrons UART GPIO són ​​els nombres físics 8 i 10)

07 de 09

PINs SPI

Els botons SPI - un altre protocol de comunicació útil. Richard Saville

En rosa , tenim les butlletes SPI. SPI és un bus d'interfície que envia dades entre el Pi i altres maquinari / perifèrics. S'utilitza comunament per a l'encadenament de dispositius com ara una matriu o pantalla LED.

Igual que altres, aquests pins també es poden utilitzar com a entrades / sortides genèriques GPIO.

(Els patrons SPI GPIO són ​​els números físics dels pedaços 19, 21, 23, 24 i 26)

08 de 09

DNC pins

No hi ha res que veure aquí: els botons DNC no funcionen. Richard Saville

Finalment, hi ha dos claus en blau que, actualment, estan etiquetades com DNC, que significa 'No connecteu'. Això pot canviar en el futur si la Fundació Raspberry Pi canvia les taules / programari.

(Els pins DNC GPIO són ​​els nombres físics dels pins 27 i 28)

09 de 09

Convencions de numeració GPIO

Portsplus és una eina pràctica per comprovar els números de PIN de GPIO. Richard Saville

Quan codifiqueu amb el GPIO, podeu triar importar la biblioteca GPIO d'una de les dues maneres: BCM o BOARD.

L'opció que prefereix és GPIO BCM. Aquesta és la convenció de numeració de Broadcom i considero que s'utilitza més comunament entre projectes i complements de maquinari.

La segona opció és GPIO BOARD. Aquest mètode fa servir els nombres de PIN físics, que és pràctic quan es compten els pins, però trobareu que s'utilitza menys en exemples de projectes.

El mode GPIO s'estableix quan s'importa la biblioteca GPIO:

Per importar com BCM:

importació RPi.GPIO GPIO GPIO.setmode (GPIO.BCM)

Per importar com a JUNTA:

importació RPi.GPIO GPIO GPIO.setmode (GPIO.BOARD)

Ambdós mètodes fan exactament el mateix treball, només es tracta d'una preferència de numeració.

Utilitzo freqüentment panells pràctics de marca GPIO, com ara RasPiO Portsplus (en la foto) per comprovar quins patrons també estic connectant els cables. Un costat mostra la convenció de numeració de BCM, l'altra mostra la TAULA - de manera que està cobert per qualsevol projecte que trobeu.