Raspberry Pinout: Jak používat Raspberry Pi GPIO?

17.10.2023 Raspberry Pi #raspberrypi #gpio

Raspberry Pi 4 Model B a nejnovější verze Raspberry Pi mají dvojitou řadu 40 GPIO (General Purpose Input/Output Pins), které vám umožňují připojit elektronické komponenty, jako jsou LED a senzory. Některé piny mají specifické funkce, jako je poskytování napájení, komunikační protokoly I2C, SPI a UART nebo PWM. Zde jsou základy používání Raspberry Pi GPIO a jejich funkce.


Představujeme Raspberry Pi GPIO

Deska Raspberry Pi 4 Model B má dvojitou řadu 40 GPIO pinů. Toto rozložení je stejné pro Pi 3 Model B a B+, Pi 2 Model B a B+ a Pi 1 Model B+, ale mírně se liší od Pi 1 Model A a B, které mají pouze prvních 26 pinů. 

Existuje několik způsobů, jak odkazovat na pin GPIO: jeho název (který je známý jako číslování GPIO nebo číslování Broadcom) nebo jeho odpovídající fyzické číslo pinu (které odpovídá fyzickému umístění pinu v záhlaví). Například GPIO 18 odpovídá kolíku 12.

Průvodce Piny na Raspberry Pi

Následující tabulka ukazuje Pinout Raspberry, ukazuje všechny GPIO, jejich odpovídající fyzická čísla pinů, jejich číslování Broadcom a odpovídající funkce.

Funkce název Pin č. Pin č. název Funkce
DC napájení 3,3 V 1 2 5 V DC napájení
I2C (SDA) GPIO 2 3 4 5 V DC napájení
I2C (SCL) GPIO 3 5 6 GND
GPCLK0 GPIO 4 7 8 GPIO 14 UART (TXD0)
GND 9 10 GPIO 15 UART (RXD0)
GPIO 17 11 12 GPIO 18 PCM CLK (I2S)
GPIO 27 13 14 GND
GPIO 22 15 16 GPIO 23
DC napájení 3,3 V 17 18 GPIO 24
SPI (MOSI) GPIO 10 19 20 GND
SPI (MISO) GPIO 9 21 22 GPIO 25
SPI (CLK) GPIO 11 23 24 GPIO 8 SPI (CE0)
GND 25 26 GPIO 7 SPI (CE1)
I2C EEPROM GPIO 0 27 28 GPIO 1 I2C EEPROM
GPIO 5 29 30 GND
GPIO 6 31 32 GPIO 12 PWM0
PWM1 GPIO 13 33 34 GND
PCM FS (I2S) GPIO 19 35 36 GPIO 16
GPIO 26 37 38 GPIO 20 PCM DIN (I2S)
GND 39 40 GPIO 21 PCM Dout (I2S)

Rozhraní periferních zařízení Raspberry Pi

Raspberry Pi GPIO poskytují následující možnosti periferního rozhraní:

  • 3,3V (na 2 pinech)
  • 5V (na 2 pinech)
  • Uzemnění (na 8 kolících)
  • Univerzální vstup a výstup
  • PWM (pulzní šířková modulace)
  • I2C
  • PCM
  • SPI
  • Sériové (UART)

Raspberry Pi nemá rozhraní analogově-digitálního převodníku (ADC) pro čtení analogových senzorů. Ke čtení analogových signálů s Raspberry Pi však můžete použít externí analogově-digitální převodník, jako je MCP3008 .

Důležité: Raspberry Pi GPIO podporují napětí pouze do 3,3 V. Pokud připojíte vyšší napětí, můžete Raspberry Pi nenávratně poškodit.

Napájecí piny Raspberry Pi

Raspberry Pi se dodává se dvěma 3,3 V piny (piny číslo 1 a 17) a dva 5V piny (piny 2 a 4).

Navíc je jich osm GND piny (číslo pinů: 6, 9, 14, 20, 25, 30, 34 a 39).

Digitální vstupy a výstupy Raspberry Pi

Ze 40 Raspberry Pi GPIO je 11 napájecích nebo GND pinů. Kromě toho jsou zde dva rezervované piny (piny 27 a 28) pro komunikaci I2C s EEPROM. Takže nám zůstalo 16 GPIO, které můžete použít k připojení periferií. Tyto GPIO mohou být použity buď jako vstupy nebo výstupy. Některé z nich navíc podporují specifické komunikační protokoly.

Piny Raspberry a Pi I2C

I²C znamená Inter-Integrated Circuit a je to synchronní, multi-master, multi-slave komunikační protokol. Umožňuje například navázat komunikaci s jinými mikrokontrolérovými zařízeními, senzory nebo displeji. Ke stejným kolíkům můžete připojit více I2C zařízení, pokud mají jedinečnou I2C adresu.

Piny Raspberry Pi I2C jsou GPIO 2 a GPIO 3 :

  • SDA: GPIO 2
  • SCL: GPIO 3

Pokud chcete používat I2C, musíte nejprve povolit komunikační rozhraní I2C.

Raspberry Pi a SPI piny

SPI je zkratka pro Serial Peripheral Interface a je to synchronní sériový datový protokol používaný mikrokontroléry ke komunikaci s jedním nebo více periferními zařízeními. Tento komunikační protokol umožňuje připojit více periferií ke stejnému rozhraní sběrnice, pokud je každé připojeno k jinému pinu pro výběr čipu.

Deska Raspberry Pi může například komunikovat se senzorem, který podporuje SPI, jiným Raspberry Pi nebo jinou deskou mikrokontroléru. Toto jsou piny Raspberry Pi SPI:

  • MOSI: GPIO 10
  • MISO: GPIO 9
  • HODINY: GPIO 11
  • CE0 (výběr čipu): GPIO 8
  • CE1 (výběr čipu): GPIO 7

Raspberry Pi a sériové (UART) piny

Piny UART lze použít pro sériovou komunikaci. Piny Raspberry Pi Serial (UART) jsou:

  • TX: GPIO 14
  • RX: GPIO 15

Raspberry Pi a PWM piny

PWM je zkratka pro Pulse Width Modulation a používá se k ovládání motorů, definování různých úrovní jasu LED, definování barvy RGB LED a mnoho dalšího.

Raspberry Pi má 4 hardwarové PWM piny: GPIO 12GPIO 13GPIO 18GPIO 19.

Na všech pinech můžete mít softwarové PWM.

Raspberry Pi a ADC piny

Raspberry Pi nemá žádné ADC piny – neobsahuje analogově-digitální převodník. Takže musíte převést analogový signál na digitální signál pomocí analogově-digitálního převodníku, jako je čip MCP3008.

Schopnost číst analogové signály je užitečná například pro čtení různých úrovní napětí z potenciometru nebo senzorů.

Raspberry Pi a One-Wire Piny

Raspberry Pi podporuje jednodrátové připojení na všech GPIO, ale výchozí je GPIO4.

Raspberry Pi a PCM piny

Raspberry Pi je dodáváno s piny PCM (pulse-code Modulation) pro digitální výstup zvuku. Toto jsou piny PCM:

  • DIN: GPIO 20
  • Dout: GPIO 21
  • FS: GPIO 19
  • CLK: GPIO 18

I2C EEPROM

Piny 27 a 28 (GPIO 0 a GPIO 1) jsou vyhrazeny pro připojení HAT ID EEPROM. Tyto piny nepoužívejte, pokud nepoužíváte I2C ID EEPROM. Pokud nepoužíváte I2C EEPROM, ponechte nepřipojené.

Literatura:

[1] Raspberry Pi Pinout Guide: How to use the Raspberry Pi GPIOs? Random Nerd Tutorials [online]. Random Nerd Tutorials, 2022 [cit. 2023-10-17]. Dostupné z: https://randomnerdtutorials.com/raspberry-pi-pinout-gpios/