01 sa 09
Usa ka Pasiuna sa Pins sa Raspberry Pi
Ang termino nga 'GPIO' (General Purpose Input Output) dili lamang sa Raspberry Pi. Ang input ug output pins makita sa kadaghanan sa microcontrollers sama sa Arduino, Beaglebone ug daghan pa.
Kon maghisgot kami mahitungod sa GPIO sa Raspberry Pi, among gipunting ang taas nga block sa mga pin sa ibabaw sa wala nga bahin sa board. Ang mga dagko nga mga modelo adunay 26 ka mga lagdok, apan kadaghanan kanato mogamit sa usa ka bag-ong modelo nga adunay 40.
Mahimo nimo masumpay ang mga sangkap ug uban pang mga kagamitan sa hardware niining mga lagdok, ug gamit ang code aron makontrol ang ilang gibuhat. Kini usa ka importante nga bahin sa Raspberry Pi ug usa ka labing maayo nga paagi sa pagkat-on mahitungod sa electronics.
Human sa pipila ka mga proyekto sa software, lagmit makita nimo ang imong kaugalingon nga mag-eksperimento niini nga mga lagdok, nga maikagon sa pagsagol sa imong code sa hardware aron sa paghimo sa mga butang mahitabo sa 'tinuod nga kinabuhi'.
Kini nga proseso mahimong makahadlok kon bag-o ka sa talan-awon, ug sa pagkonsiderar nga ang usa ka bakak nga lihok makadaot sa imong Raspberry Pi, masabtan nga kini usa ka gikulbaan nga dapit alang sa mga nagsugod sa pagsuhid.
Ipatin-aw niining artikuloha kung unsa ang ginabuhat sa matag matang sa GPIO pin ug sa ilang mga limitasyon.
02 sa 09
Ang GPIO
Una, atong tan-awon ang GPIO sa kinatibuk-an. Ang mga lagdok tingali parehas nga tan-awon apan silang tanan adunay managlahi nga gimbuhaton. Ang hulagway sa ibabaw nagpakita niini nga mga gimbuhaton sa nagkalainlaing kolor nga atong ipasabut sa mosunod nga mga lakang.
Ang matag pin giihap gikan sa 1 ngadto sa 40 gikan sa wala nga bahin. Kini ang mga numero sa pisikal nga pin, apan adunay mga pag-ihap usab sa mga kombensiyon sama sa 'BCM' nga gigamit sa pagsulat sa code.
03 sa 09
Gahum & Ground
Gipasiugda nga pula, mga gunitanan sa gahum nga gimarkahan nga '3' o '5' alang sa 3.3V o 5V.
Kini nga mga tuldok makapahimo kanimo nga direkta nga magpadala sa gahum sa usa ka lalang nga wala'y kinahanglan alang sa bisan unsang code. Walay mahimo sa paglihok niini.
Adunay duha ka gahum nga riles - 3.3 volts ug 5 volts. Sumala sa niini nga artikulo, ang 3.3V rail limitado ngadto sa 50mA karon nga draw, samtang ang 5V rail makahatag sa bisan unsa nga kasamtangan nga kapasidad nga nahabilin gikan sa imong power supply human ang Pi mikuha unsa ang gikinahanglan niini.
Gipasiugdahan nga brown ang yuta sa mga pin (GND). Kini nga mga tukod mao gayud ang ilang giingon - sa yuta nga mga lagdok - nga usa ka importante nga bahin sa bisan unsa nga proyekto sa electronics.
(5V GPIO pin ang pisikal nga mga numero 2 ug 4. 3.3V GPIO pin mao pisikal nga numero 1 ug 17. Ang Ground GPIO pin mao pisikal nga mga numero 6, 9, 14, 20, 25, 30, 34 ug 39)
04 sa 09
Input / Output Pins
Ang lunhaw nga mga pin mao ang akong gitawag nga 'generic' input / output pin. Mahimo kini nga dali gamiton isip mga input o output nga wala'y kabalaka mahitungod sa pagsumpo sa uban pang mga gimbuhaton sama sa I2C, SPI o UART.
Kini ang mga pin nga makadala sa gahum ngadto sa usa ka LED, buzzer, o ubang mga sangkap, o gamiton ingon nga usa ka input sa pagbasa sa mga sensor, switch o uban pang input device.
Ang output nga kusog niini nga mga pin mao ang 3.3V. Ang matag lagdok dili molapas sa 16mA sa kasamtangan, bisan paglubog o pagpangita, ug ang kinatibuk-ang hugpong sa mga pusod sa GPIO dili molapas sa sobra sa 50mA sa bisan unsang panahon. Kini mahimo nga mapig-oton, aron mahimo ka nga mamugna sa pipila nga mga proyekto.
(Generic GPIO pin mao pisikal nga numero 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 ug 40)
05 sa 09
I2C Pins
Sa yellow, kami adunay mga I2C pin. Ang I2C usa ka communication protocol nga sa yano nga mga termino nagtugot sa mga device nga makigsulti sa Raspberry Pi. Kini nga mga lagdok mahimo usab nga gamiton nga 'generic' GPIO pin.
Ang usa ka maayong pananglitan sa paggamit sa I2C mao ang popular kaayo nga MCP23017 port expander chip, nga makahatag kanimo ug dugang input / output nga mga pin pinaagi niini nga protocol sa I2C.
(Ang I2C GPIO pin adunay pisikal nga pin nga numero 3 ug 5)
06 sa 09
UART (Serial) Pins
Sa abohon, ang mga UART pin. Kini nga mga pin mao ang lain nga communication protocol nga nagtanyag sa serial connections, ug mahimo usab nga gamiton ingon nga 'generic' GPIO inputs / outputs usab.
Ang akong paborito nga paggamit alang sa UART mao ang paghimo sa serial connection gikan sa akong Pi sa akong laptop sa USB. Mahimo kini nga makab-ot gamit ang add-on boards o simple nga mga kable ug pagkuha sa panginahanglan alang sa screen o internet connection aron ma-access ang imong Pi.
(Ang mga pin sa UART GPIO mao ang pisikal nga pin nga mga numero 8 ug 10)
07 sa 09
SPI Pins
Sa pink , kami adunay SPI pin. Ang SPI usa ka interface bus nga nagpadala sa datos tali sa Pi ug uban pang hardware / peripherals. Kini kasagarang gigamit alang sa pag-chaining sa mga himan sama sa LED matrix o display.
Sama sa uban, kini nga mga pusil mahimo usab nga gamiton ingon nga 'generic' nga mga input / output sa GPIO.
(SPI GPIO pin mao ang pisikal nga pin numero nga 19, 21, 23, 24 ug 26)
08 sa 09
DNC Pins
Ang katapusan mao ang duha ka mga pin sa asul nga, sa pagkakaron, gimarkahan isip DNC nga nagpasabut nga 'Do Not Connect'. Kini mahimong mausab sa umaabot kon ang Raspberry Pi Foundation mag-usab sa mga board / software.
(Ang DNC GPIO pin adunay pisikal nga mga numero 27 ug 28)
09 sa 09
GPIO Numbering Conventions
Sa pag-encode sa GPIO, ikaw adunay kapilian sa pag-import sa GPIO library sa usa sa duha ka mga paagi - BCM o BOARD.
Ang kapilian nga gusto nako mao ang GPIO BCM. Mao kini ang komon nga numero sa Broadcom ug akong nahibal-an nga kini gigamit nga mas sagad sa mga proyekto ug mga add-on sa hardware.
Ang ikaduha nga kapilian mao ang GPIO BOARD. Kini nga pamaagi gigamit ang pisikal nga mga numero sa pin, nga mao ang handy sa pag-ihap sa mga pin, apan imong makita nga kini gamay nga gigamit sa mga panig-ingnan sa proyekto.
Ang GPIO mode gipahimutang sa pag-import sa GPIO library:
Sa pag-import ingon nga BCM:
import RPi.GPIO ingon GPIO GPIO.setmode (GPIO.BCM)Sa pag-import isip BOARD:
import RPi.GPIO ingon GPIO GPIO.setmode (GPIO.BOARD)Ang duha niini nga mga pamaagi sa pagbuhat sa tukma nga sama nga trabaho, kini usa ka butang lamang sa pag-ihap sa gusto.
Kanunay nakong gigamit ang mga gamit nga GPIO label boards sama sa RasPiO Portsplus (gihulagway) aron masusi kung kinsa ang mga pinutol nako nga mga wire. Ang usa ka kilid nagpakita sa BCM numbering convention, ang uban nagpakita sa BOARD - busa gisakop ka sa bisan unsang proyekto nga imong nakit-an.