Një turne i Mjedisit Pi GPIO

01 nga 09

Një hyrje në kunjat e mjedrës Pi

Raspberry Pi GPIO. Richard Saville

Termi 'GPIO' (Output Output Input Output) nuk është ekskluzive për Pipe Mjedër. Këmbët e hyrjes dhe të daljes mund të gjenden në shumicën e mikrokontrollorëve si Arduino, Beaglebone dhe më shumë.

Kur flasim për GPIO me Raspberry Pi, ne jemi duke iu referuar bllokut të gjatë të këmbëve në këndin e sipërm të majtë të bordit. Modele të vjetra kishin 26 këmbë, megjithatë shumica prej nesh do të përdorin një model aktual me 40.

Ju mund të lidhni përbërës dhe pajisje të tjera hardware në këto këmbë dhe përdorni kodin për të kontrolluar atë që bëjnë ata. Është një pjesë e rëndësishme e Raspberry Pi dhe një mënyrë e shkëlqyer për të mësuar rreth elektronikës.

Pas disa projekteve të softuerit, do të gjesh veten duke eksperimentuar me këto këmbë, të etur për të përzier kodin me harduerin për t'i bërë gjërat të ndodhin në 'jetën reale'.

Ky proces mund të jetë frikësues nëse jeni i ri në vendngjarje dhe duke pasur parasysh se një veprim i rremë mund të dëmtojë Piçen Tuaj, është e kuptueshme që është një zonë nervore për fillestarët që të eksplorojnë.

Ky artikull do të shpjegojë se çfarë bën çdo lloj GPIO pin dhe kufizimet e tyre.

02 nga 09

GPIO

Këmbët GPIO numërohen nga 1 në 40, dhe mund të grupohen nën funksione të ndryshme. Richard Saville

Së pari, le të hedhim një vështrim në GPIO si një e tërë. Këmbët mund të duken të njëjta, por të gjitha kanë funksione të ndryshme. Imazhi i mësipërm tregon këto funksione në ngjyra të ndryshme të cilat ne do të shpjegojmë në hapat e mëposhtëm.

Çdo pin është numëruar nga 1 në 40 duke filluar në pjesën e poshtme të majtë. Këto janë numrat fizikë të pinit, megjithatë, ka edhe konventa numërimi / etiketimi të tilla si 'BCM' që përdoren kur shkruajnë kodin.

03 nga 09

Fuqia dhe terreni

Raspberry Pi ofron fuqi të shumta dhe këmbët terren. Richard Saville

E theksuar me ngjyrë të kuqe, janë kunjat e fuqisë të etiketuar '3' ose '5' për 3.3V ose 5V.

Këto këmbët ju lejojnë të drejtpërdrejt të dërgoni energji në një pajisje pa nevojën për ndonjë kod. Nuk ka asnjë mënyrë për t'i kthyer këto.

Ka 2 binarë fuqie - 3.3 volt dhe 5 volt. Sipas këtij neni, hekurudha 3.3V është e kufizuar në barazimin aktual të 50mA, ndërsa hekurudha 5V mund të sigurojë cilindo kapacitet aktual të mbetur nga furnizimi me energji elektrike pasi Pi ka marrë atë që ka nevojë.

Kafe të theksuara janë kunjat e terrenit (GND). Këto këmbët janë pikërisht ajo që ata thonë - këmbët terren - të cilat janë një pjesë jetike e çdo projekti elektronik.

(Pikat GPIO 5V janë numrat fizikë 2 dhe 4. 3.3V GPIO këmbët janë numrat fizikë 1 dhe 17. Pikat GPIO Ground janë numrat fizikë 6, 9, 14, 20, 25, 30, 34 dhe 39)

04 nga 09

Pins hyrëse / dalëse

Këmbët e Input dhe Output ju lejojnë të lidhni hardware si sensorë dhe çelsin. Richard Saville

Këmbët e gjelbra janë ato që unë e quaj "gjenerike" input / output kunjat. Këto mund të përdoren lehtësisht si hyrje ose rezultate pa ndonjë shqetësim rreth përplasjes me funksione të tjera të tilla si I2C, SPI ose UART.

Këto janë këmbët që mund të dërgojnë energji në një LED, zile ose komponentë të tjerë, ose të përdoren si një hyrje për të lexuar sensorë, çelsin ose pajisje të tjera hyrëse.

Fuqia prodhuese e këtyre kunjeve është 3.3V. Çdo pin nuk duhet të kalojë 16mA të tanishëm, ose fundosje ose ndihmuese, dhe të gjithë grupin e GPIO këmbët nuk duhet të kalojë më shumë se 50mA në çdo kohë. Kjo mund të jetë kufizuese, kështu që mund të keni nevojë të krijoheni në projekte të caktuara.

(Spinjtë GPIO të përgjithshëm janë numrat fizikë 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 dhe 40)

05 nga 09

Këmbët I2C

I2C ju lejon të lidhni pajisje të tjera me Pi tuaj me vetëm disa këmbë. Richard Saville

Në të verdhë, ne kemi këmbët I2C. I2C është një protokoll komunikimi që në terma të thjeshtë i lejon pajisjet të komunikojnë me Pipe të Lagështirës. Këto këmbët mund të përdoren gjithashtu si pllaka GPIO të "përgjithshëm".

Një shembull i mirë i përdorimit të I2C është çipi shumë i popullarizuar MCP23017, i cili mund t'ju japë më shumë hyrje / dalje përmes këtij protokolli I2C.

(Kunjat I2C GPIO janë numra fizikë pin 3 dhe 5)

06 nga 09

Këmbët UART (Serial)

Lidhu me Pi tuaj mbi një lidhje serial me këmbët UART. Richard Saville

Në gri, janë këmbët UART. Këto këmbët janë një tjetër protokoll komunikimi i cili ofron lidhje serik, dhe gjithashtu mund të përdoret si input / output i GPIO-it 'gjenerik'.

Përdorimi im i preferuar për UART është që të mundësojë një lidhje serike nga Pi im në laptop tim mbi USB. Kjo mund të arrihet duke përdorur borde shtesë ose kabllo të thjeshta dhe heq nevojën për një ekran ose lidhje interneti për të hyrë në Pi tuaj.

(Kunjat GPIO UART janë numra fizikë pin 8 dhe 10)

07 nga 09

SPI këmbët

Pins SPI - një tjetër protokoll i dobishëm komunikimi. Richard Saville

Në rozë , ne kemi këmbët SPI. SPI është një autobus ndërfaqësish që dërgon të dhëna në mes të Pi dhe pajisjeve të tjera / periferikësh. Përdoret zakonisht për lidhjen e zinxhirit të pajisjeve të tilla si një matricë LED ose një ekran.

Ashtu si të tjerët, këto këmbë mund të përdoren gjithashtu si inpute / dalje të GPIO gjenerike.

(SPI GPIO pin janë numrat fizikë pin 19, 21, 23, 24 dhe 26)

08 nga 09

Këmbët DNC

Asgjë për të parë këtu - këmbët DNC ​​nuk shërbejnë asnjë funksion. Richard Saville

Së fundi janë dy këmbët në ngjyrë blu, që aktualisht, janë etiketuar si DNC që qëndron për 'Mos lidh'. Kjo mund të ndryshojë në të ardhmen në qoftë se Fondacioni Mjedër Pi ndryshon bordet / softuerin.

(Këmbët DNC ​​GPIO janë numrat fizikë të pinit 27 dhe 28)

09 nga 09

Konventat e numeracionit GPIO

Portsplus është një mjet i dobishëm për të kontrolluar numrat GPIO pin. Richard Saville

Kur kodoni me GPIO, ju keni mundësinë të importoheni bibliotekën GPIO në një nga dy mënyrat - BCM ose BOARD.

Opsioni që preferoj është GPIO BCM. Ky është konventa numerike e Broadcom dhe gjej se përdoret më shpesh në të gjithë projektet dhe shtesat hardware.

Opsioni i dytë është GPIO BORDI. Kjo metodë përdor numrat fizikë të pinit, e cila është e dobishëm kur numëron këmbët, por do ta gjeni se përdoret më pak në shembujt e projektit.

Modaliteti GPIO është vendosur kur importohet biblioteka GPIO:

Për të importuar si BCM:

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

Për të importuar si BORDI:

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

Të dyja këto metoda bëjnë saktësisht të njëjtën punë, është vetëm një çështje preference numerike.

Unë përdor rregullisht bordet e etiketës GPIO siç është Raspio Portsplus (foto) për të kontrolluar se cilat këmbë po lidh telat gjithashtu. Njëra anë tregon konventën e numërimit BCM, tjetra tregon BORDI - kështu që ju jeni të mbuluar për çdo projekt që ju të gjeni.