01 of 09
In yntroduksje foar de Raspberry Pi's Pins
De term 'GPIO' (algemiene doelstelling útfier) is net eksklusyf foar de Raspberry Pi. Ynput- en útfierstypen kinne fûn wurde op de measte mikrokontrollers lykas de Arduino, Beaglebone en mear.
As wy prate oer GPIO mei de Raspberry Pi, ferwize wy nei it lange blokje fan pins yn 'e top-linke hoeke fan' e ried. Aldere modellen hienen 26 pins, mar de measte fan ús sille in aktyf model mei 40 brûke.
Jo kinne komponinten en oare hardwaremintels oan dizze pins ferbine en gebrûk meitsje fan koade om te kontrolearjen wat se dogge. It is in wichtich part fan 'e Raspberry Pi en in poerbêste manier om te learen oer elektroanika.
Nei in pear softwareprojekten, sille jo wierskynlik sels mei dizze pins te eksperiminearjen, eare om jo koade mei hardware te mingjen om de dingen yn 'e echte libben te meitsjen.
Dit proses kin yntimidearje as jo nij binne foar it toaniel, en as jo fan betinken binne dat ien falske bewegen jo Raspberry Pi skeakelje kin, is it begryplik dat it in nervend gebiet is foar begjinners om te ûntdekken.
Dit artikel sil útlizze hokker elke type GPIO-pin en har beheiningen dogge.
02 of 09
De GPIO
Earst litte wy it GPIO as gehiel sjen. De pins kinne itselde sjen, mar se hawwe allegear ferskillende funksjes. It hjirboppe ôfbylding jout dizze funksjes yn ferskate kleuren dy't wy yn 'e neikommende stappen ferklearje.
Eltse pin is nûmere fan 1 oant 40 ôf te begjinnen oan de ûnderkant links. Dit binne de fysike pin-nûmers, lykwols binne ek nûmering / labeling konvenanten lykas 'BCM' dy't brûkt wurde by it skriuwen fan koade.
03 of 09
Power & Ground
Markearret read, binne krêftpinzen mei '3' of '5' markearre foar 3.3V of 5V.
Dizze pins helje jo direkt oan in apparaat te stjoeren sûnder de needsaak foar elke koade. Der is gjin manier om dizze ôf te draaien.
Der binne 2 power rails - 3.3 Volt en 5 volt. Neffens dit artikel is de 3.3V-spoar beheind ta 50mA-aktuele tekening, wylst de 5V-spoar kin jouwe wat de hjoeddeistige kapasiteit oer jo krêft leveret nei't de Pi it nedige hat.
Hichte brún binne de grûnpaden (GND). Dizze pinen binne krekt wat se sizze - ierdpieren - dy't in wichtich ûnderdiel binne fan elk elektryske projekt.
(5V GPIO pins binne fysike nûmers 2 en 4. 3.3V GPIO pins binne fysike nûmers 1 en 17. Ground GPIO pins binne fysike nûmers 6, 9, 14, 20, 25, 30, 34 en 39)
04 of 09
Ynput- / útfierpinzen
De griene pinsjes binne wat ik 'generike' ynfier- / útfierpannen neame. Dizze kinne ienfâldich brûkt wurde as ynputs of outputs sûnder soargen oer oansluting mei oare funksjes lykas I2C, SPI of UART.
Dit binne de pins dy't it foech stjoere kinne oan in LED, buzzer, of oare komponinten, of wurde brûkt as in ynfier om sensor, ljepper of oare ynfierapparaat te lêzen.
De útfierkrêft fan dizze pins is 3.3V. Eltse pin moat net 16mA fan aktueel wêze, of sinkend of sourcing, en de folsleine set fan GPIO-pins net mear as 50mA op ien kear. Dit kin beheind wêze, sadat jo miskien kreatyf krije moatte yn bepaalde projekten.
(Generika GPIO pins binne fysike nûmers 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 en 40)
05 of 09
I2C Pins
Yn giel hawwe wy de I2C pins. I2C is in kommunikative protokol dat yn ienfâldige termen de apparaat liede kin om te kommunisearjen mei de Raspberry Pi. Dizze pins kinne ek brûkt wurde as 'generike' GPIO pins.
In goed foarbyld fan it brûken fan I2C is de populêre MCP23017-port ekspander-chip, dy't jo mear ynfier- / útfierpenen jaan kin troch dit I2C-protokol.
(I2C GPIO pins binne fysike pin-nûmers 3 en 5)
06 van 09
UART (Serial) Pins
Yn griene binne de UART pins. Dizze pins binne in oar kommunikative protokol dy't serieus ferbiningen biedt en kin ek brûkt wurde as generike 'GPIO-ynputs / outputs'.
Myn favorite brûke foar UART is om in serial ferbining te meitsjen fan myn Pi nei myn laptop oer USB. Dit kin berikke wurde mei helpfak-boards of ienfâldige côles en fuortsmiten de needsaak foar in skerm of ynternetferbining om tagong te krijen ta jo Pi.
(UART GPIO pins binne fysike pinnûmers 8 en 10)
07 of 09
SPI Pins
Yn roze hawwe wy de SPI pins. SPI is in ynterfacebus dat ferstjoeren tusken de Pi en oare hardware / peripheren. It wurdt faak brûkt foar it ketten fan apparaten lykas in LED-matrix of display.
As oaren kinne dizze pins ek brûkt wurde as generike 'GPIO-ynputs / outputs'.
(SPI GPIO pins binne fysike pin-nûmers 19, 21, 23, 24 en 26)
08 of 09
DNC Pins
Lêst binne twa pinen yn blau dat op dit stuit markearre binne as DNC dy't stiet foar 'Do Not Connect'. Dit kin feroarsake yn 'e takomst as de Raspberry Pi Foundation de boards / software feroarje.
(DNC GPIO pins binne fysike pinnûmers 27 en 28)
09 of 09
GPIO nûmering konvenanten
As jo mei de GPIO kodearje, hawwe jo de kar te hawwen om de GPIO biblioteek op ien fan twa wizen te ymportearjen - BCM of BOARD.
De opsje dy't ik foarkomt, is GPIO BCM. Dit is de Broadcom nûmering konvinsje en ik fyn dat it brûkt wurdt mear oer oer projekten en hardware tafoegings.
De twadde opsje is GPIO BOARD. Dizze metoade brûkt it fysyke pin-nûmers ynstee, dat is handich at it toetsen fan pins, mar jo fine dat it minder brûkt wurdt yn projektbeispjalten.
De GPIO-modus wurdt ynsteld by it ymportearjen fan de GPIO-bibleteek:
To import as BCM:
Import RPi.GPIO as GPIO GPIO.setmode (GPIO.BCM)Om as lid te ymportearjen:
Import RPi.GPIO as GPIO GPIO.setmode (GPIO.BOARD)Beide fan dizze metoaden dogge krekt itselde wurk, it is gewoan in saak fan nûmers foarkar.
Ik meitsje geregeld gebrûk fan handige GPIO-labelboards lykas de RasPiO Portsplus (ôfbylding) om te kontrolearjen hokker pinsje ik ek draaie. Ien kant lit sjen fan de BCM-nigearjende konvinsje, de oare lit BOARD - dus jo binne foar alle projekten dy't jo fine.