Usa ka Tour sa Raspberry Pi GPIO

01 sa 09

Usa ka Pasiuna sa Pins sa Raspberry Pi

Ang Raspberry Pi GPIO. Richard Saville

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

Ang GPIO nga mga gip ang giisip nga 1 ngadto sa 40, ug mahimo nga ipalista ubos sa nagkalain-laing mga gimbuhaton. Richard Saville

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

Ang Raspberry Pi naghatag og daghang mga gahum ug mga ugali sa yuta. Richard Saville

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 Input ug Output pin magpahigayon kanimo sa pagkonektar sa hardware sama sa mga sensor ug switch. Richard Saville

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

Ang I2C nagtugot kanimo sa pagkonektar sa uban nga mga himan sa imong Pi nga adunay usa ka duha ka mga lagdok. Richard Saville

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

Sumpaysumpaya ang imong Pi sa usa ka serial nga koneksyon sa mga UART pin. Richard Saville

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

Ang SPI Pins - lain pang mapuslanong communication protocol. Richard Saville

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

Wala'y makita dinhi - ang mga DNC pin wala magamit. Richard Saville

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

Ang Portsplus usa ka praktikal nga himan sa pagsusi sa GPIO pin numbers. Richard Saville

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.