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 12, GPIO 13, GPIO 18, GPIO 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/