Tour of Raspberry Pi GPIO

01 od 09

Uvod u igle Malina Pi

Raspberry Pi GPIO. Richard Saville

Izraz 'GPIO' (Ulaz za opšte namene) nije ekskluzivan za Raspberry Pi. Ulazni i izlazni pinovi mogu se naći na većini mikrokontrolera kao što su Arduino, Beaglebone i drugo.

Kada govorimo o GPIO-u sa Raspberry Pi, mislimo na dugačak blok zatiča u gornjem levom uglu ploče. Stariji modeli imali su 26 igala, međutim većina nas će koristiti trenutni model sa 40.

Možete priključiti komponente i druge hardverske uređaje na ove pinove i koristiti kod za kontrolu onoga što rade. To je važan deo Raspberry Pi i odličan način upoznavanja elektronike.

Posle nekoliko softverskih projekata, verovatno ćete naići na eksperimentisanje sa ovim zatvaračima, željnih da miješate svoj kôd sa hardverom kako biste stvari učinile u stvarnom životu.

Ovaj proces može biti zastrašujući ako ste novi na sceni, a uzimajući u obzir da jedan lažni potez može oštetiti vašu Raspberry Pi, razumljivo je da je nervozno područje za početnike da istraže.

Ovaj članak će objasniti šta svaki tip GPIO pina radi i njihova ograničenja.

02 od 09

GPIO

GPIO pinovi su numerisani od 1 do 40 i mogu se grupisati pod različitim funkcijama. Richard Saville

Prvo, da pogledamo GPIO kao celinu. Pinovi mogu izgledati isti, ali svi imaju različite funkcije. Gornja slika prikazuje ove funkcije u različitim bojama koje ćemo objasniti u narednim koracima.

Svaki pin je numerisan od 1 do 40, počev od donje leve strane. To su fizički brojevi pinova, međutim, postoje i konvencije o brojevanju / označavanju kao što su "BCM" koje se koriste kod pisanja koda.

03 od 09

Power & Ground

Raspberry Pi nudi više potenciometara za napajanje i uzemljenje. Richard Saville

Označeni crvenim, su sigurnosni zatvori sa oznakom "3" ili "5" za 3.3V ili 5V.

Ovi pinovi vam omogućavaju da direktno šaljete napajanje uređaju bez potrebe za bilo kojim kodom. Ne postoji način da se to isključi.

Postoje 2 električna šina - 3.3 volti i 5 volti. Prema ovom članku, 3.3V šina je ograničena na 50mA izvlačenje struje, dok 5V šina može pružiti sve trenutne kapacitete preostale od napajanja nakon što Pi uzima ono što mu je potrebno.

Istaknuti braon su kopčaste igle (GND). Ove igle su upravo ono što kažu - igle za igru ​​- koje su vitalni deo bilo kog elektronskog projekta.

(5V GPIO pinovi su fizički brojevi 2 i 4. GPV pinovi 3.3V su fizički brojevi 1 i 17. GPIO pinovi su fizički brojevi 6, 9, 14, 20, 25, 30, 34 i 39)

04 od 09

Input / Output Pins

Input i izlazni pinovi omogućavaju povezivanje hardvera kao što su senzori i prekidači. Richard Saville

Zeleni pinovi su ono što nazivam "generički" ulazno-izlazni pinovi. One se lako mogu koristiti kao ulazi ili izlazi bez brige o suočavanju sa drugim funkcijama kao što su I2C, SPI ili UART.

Ovo su pinovi koji mogu da šalju napajanje LED-u, zvučniku ili drugim komponentama ili se koriste kao ulaz za čitanje senzora, prekidača ili drugog ulaznog uređaja.

Izlazna snaga tih pinova je 3.3V. Svaki pin ne bi trebao biti veći od 16mA struje, bilo potopiti ili nabaviti, a cijeli skup GPIO pinova ne bi trebalo da pređe više od 50mA u bilo kom trenutku. To može biti restriktivno, pa ćete možda morati da postanete kreativni u određenim projektima.

(Generički GPIO pinovi su fizički brojevi 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 i 40)

05 od 09

I2C Igle

I2C vam omogućava da povežete druge uređaje sa vašim Pi sa samo par igala. Richard Saville

U žutoj boji imamo I2C igle. I2C je komunikacijski protokol koji jednostavnim terminima omogućava uređaje da komuniciraju sa Raspberry Pi. Ovi pinovi se takođe mogu koristiti kao "generički" GPIO igle.

Dobar primjer korištenja I2C je veoma popularan MCP23017 čip za proširenje portova koji vam može dati više ulaznih / izlaznih pinova kroz ovaj I2C protokol.

(Pinovi I2C GPIO su fizički pinovi broj 3 i 5)

06 od 09

UART (serijski) igle

Povežite se sa vašom Pi preko serijske veze sa UART igle. Richard Saville

U sivoj boji su UART igle. Ti pinovi su još jedan komunikacijski protokol koji nudi serijske veze, a može se koristiti i kao "generički" GPIO ulazi / izlazi.

Moja omiljena upotreba za UART je da omogućim serijsku vezu sa svog Pi na moj laptop preko USB-a. Ovo se može postići korišćenjem dodatnih ploča ili jednostavnih kablova i uklanja potrebu za ekranom ili internet konekcijom za pristup Pi.

(UART GPIO pinovi su fizički pinovi broj 8 i 10)

07 od 09

SPI igle

SPI Pins - još jedan korisni komunikacijski protokol. Richard Saville

U roze , imamo SPI igle. SPI je interfejs bus koji šalje podatke između Pi i drugih hardvera / perifernih uređaja. Uobičajeno se koristi za laniranje uređaja kao što je LED matrica ili ekran.

Kao i druge, ovi pinovi se takođe mogu koristiti kao 'generički' GPIO ulazi / izlazi.

(Pinovi SPI GPIO su fizički pinovi 19, 21, 23, 24 i 26)

08 od 09

DNC igle

Ovde nema ničega - DNC pinovi ne funkcionišu. Richard Saville

Najzad su dva igla u plavoj, koja su trenutno označena kao DNC koja označava "Ne povezuj se". Ovo se može promijeniti u budućnosti ako Raspberry Pi Fondacija mijenja ploče / softver.

(Pinovi DNC GPIO su fizički pinovi broj 27 i 28)

09 od 09

GPIO brojevi konvencije

Portsplus je praktičan alat za proveru brojeva GPIO pinova. Richard Saville

Kod kodiranja sa GPIO-om, imate mogućnost da uvozite GPIO biblioteku na jedan od dva načina - BCM ili BOARD.

Opcija koju volim je GPIO BCM. Ovo je Broadcom numeriĉka konvencija i smatram da se koristi najĉešće u svim projektima i hardverskim dodatcima.

Druga opcija je GPIO BOARD. Ova metoda umesto toga koristi fizičke pinove, što je zgodno kada računate igle, ali ćete ga koristiti manje u primjerima projekta.

GPIO režim je podešen prilikom uvoza GPIO biblioteke:

Da se uvozi kao BCM:

import RPi.GPIO kao GPIO GPIO.setmode (GPIO.BCM)

Da uvozi kao ODBOR:

import RPi.GPIO kao GPIO GPIO.setmode (GPIO.BOARD)

Obe ove metode obavljaju isti posao, samo je pitanje brojanja preferencija.

Redovno koristim praktične ploče sa oznakama GPIO kao što je RasPiO Portsplus (na slici) da bih proverio koje pinove povezujem i žice. Jedna strana prikazuje BCM brojevsku konvenciju, druga prikazuje BOARD - tako da ste pokriveni za bilo koji projekat koji ste našli.