Распиновка Raspberry Pi: как использовать GPIO Raspberry Pi?

Плата Raspberry Pi 4 Model B и большинство последних версий Raspberry Pi имеют двойной ряд из 40 выводов GPIO (General Purpose Input/Output Pins — выводы общего назначения ввода/вывода), которые позволяют подключать электронные компоненты, такие как светодиоды и датчики. Некоторые выводы имеют специальные функции, такие как подача питания, протоколы связи I2C, SPI и UART, а также ШИМ (PWM). В этом руководстве мы рассмотрим GPIO Raspberry Pi и их функции.

Руководство по распиновке Raspberry Pi — как использовать GPIO Raspberry Pi

Вам также может быть интересно: Лучшие стартовые наборы для Raspberry Pi.

Знакомство с GPIO Raspberry Pi

Плата Raspberry Pi 4 Model B имеет двойной ряд из 40 выводов GPIO. Эта схема расположения выводов одинакова для Pi 3 Model B и B+, Pi 2 Model B и B+, а также Pi 1 Model B+, но немного отличается от Pi 1 Model A и B, которые имеют только первые 26 выводов.

Распиновка Raspberry Pi — Random Nerd Tutorials

Распиновка Raspberry Pi (нажмите на изображение, чтобы увидеть полный размер)

Существует несколько способов обозначения вывода GPIO: по его имени (которое известно как нумерация GPIO или нумерация Broadcom) или по соответствующему физическому номеру вывода (который соответствует физическому расположению вывода на разъёме). Например, GPIO 18 соответствует выводу 12.

Руководство по распиновке Raspberry Pi

В следующей таблице показана распиновка Raspberry Pi: все GPIO, их соответствующие физические номера выводов, нумерация Broadcom и соответствующие функции.

Функция

Имя

Вывод №

Вывод №

Имя

Функция

Питание

3.3 V

1

2

5 V

Питание

I2C (SDA)

GPIO 2

3

4

5 V

Питание

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

Питание

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)

Примечание

Raspberry Pi 1 Model B Rev. 1 была самой первой выпущенной платой Raspberry Pi и имеет немного отличающуюся распиновку от всех остальных плат. Данная схема распиновки не относится к этой плате.

Интерфейс периферийных устройств Raspberry Pi

GPIO Raspberry Pi предоставляют следующие варианты интерфейса периферийных устройств:

  • 3.3V (на 2 выводах)

  • 5V (на 2 выводах)

  • Земля (на 8 выводах)

  • Цифровой ввод и вывод общего назначения

  • ШИМ (широтно-импульсная модуляция)

  • I2C

  • PCM

  • SPI

  • Последовательный интерфейс (UART)

Raspberry Pi не имеет интерфейса аналого-цифрового преобразователя (АЦП) для чтения аналоговых датчиков. Однако вы можете использовать внешний аналого-цифровой преобразователь, такой как MCP3008, для чтения аналоговых сигналов с помощью Raspberry Pi.

Важно

GPIO Raspberry Pi поддерживают напряжение только до 3.3V. Если вы подключите более высокое напряжение, вы можете навсегда повредить свой Raspberry Pi.

Выводы питания Raspberry Pi

Raspberry Pi поставляется с двумя выводами 3.3V (выводы номер 1 и 17) и двумя выводами 5V (выводы 2 и 4).

Кроме того, есть восемь выводов GND (выводы номер: 6, 9, 14, 20, 25, 30, 34 и 39).

Цифровые входы и выходы Raspberry Pi

Из 40 выводов GPIO Raspberry Pi 11 являются выводами питания или GND. Помимо этого, есть два зарезервированных вывода (выводы 27 и 28) для связи I2C с EEPROM (подробнее об этом). Таким образом, у нас остаётся 16 GPIO, которые можно использовать для подключения периферийных устройств. Эти GPIO могут использоваться как входы или выходы. Кроме того, некоторые из них поддерживают определённые протоколы связи.

Узнайте больше о цифровых входах и выходах с Raspberry Pi:

Выводы I2C Raspberry Pi

I2C означает Inter-Integrated Circuit — это синхронный протокол связи с несколькими ведущими и несколькими ведомыми устройствами. Он позволяет устанавливать связь с другими микроконтроллерами, датчиками или дисплеями, например. Вы можете подключить несколько устройств I2C к одним и тем же выводам, если они имеют уникальный I2C-адрес.

Выводы I2C Raspberry Pi — это GPIO 2 и GPIO 3:

  • SDA: GPIO 2

  • SCL: GPIO 3

Если вы хотите использовать I2C, вам необходимо сначала включить интерфейс связи I2C.

Выводы SPI Raspberry Pi

SPI расшифровывается как Serial Peripheral Interface (последовательный периферийный интерфейс) — это синхронный протокол последовательной передачи данных, используемый микроконтроллерами для связи с одним или несколькими периферийными устройствами. Этот протокол связи позволяет подключать несколько периферийных устройств к одной и той же шине, если каждое из них подключено к отдельному выводу выбора чипа (chip select).

Например, ваша плата Raspberry Pi может взаимодействовать с датчиком, поддерживающим SPI, другим Raspberry Pi или другой платой микроконтроллера. Вот выводы SPI Raspberry Pi:

  • MOSI: GPIO 10

  • MISO: GPIO 9

  • CLOCK: GPIO 11

  • CE0 (выбор чипа): GPIO 8

  • CE1 (выбор чипа): GPIO 7

Последовательный интерфейс (UART) Raspberry Pi

Выводы UART можно использовать для последовательной связи. Выводы последовательного интерфейса (UART) Raspberry Pi:

  • TX: GPIO 14

  • RX: GPIO 15

Выводы ШИМ (PWM) Raspberry Pi

ШИМ расшифровывается как Pulse Width Modulation (широтно-импульсная модуляция) и используется для управления двигателями, определения различных уровней яркости светодиодов, определения цвета RGB-светодиодов и многого другого.

Raspberry Pi имеет 4 аппаратных вывода ШИМ: GPIO 12, GPIO 13, GPIO 18, GPIO 19.

Вы можете использовать программный ШИМ на всех выводах.

Узнайте, как генерировать сигналы ШИМ с помощью Raspberry Pi:

Выводы АЦП Raspberry Pi

Raspberry Pi не имеет выводов АЦП — в нём нет встроенного аналого-цифрового преобразователя. Поэтому вам необходимо преобразовать аналоговый сигнал в цифровой с помощью аналого-цифрового преобразователя, такого как чип MCP3008.

Возможность чтения аналоговых сигналов полезна для считывания изменяющихся уровней напряжения с потенциометра или датчиков, например.

Узнайте, как считывать аналоговые сигналы с помощью Raspberry Pi, из следующего руководства:

Выводы One-Wire Raspberry Pi

Raspberry Pi поддерживает one-wire на всех GPIO, но по умолчанию используется GPIO4.

Выводы PCM Raspberry Pi

Raspberry Pi поставляется с выводами PCM (Pulse-Code Modulation — импульсно-кодовая модуляция) для цифрового аудиовыхода. Вот выводы PCM:

  • Din: GPIO 20

  • Dout: GPIO 21

  • FS: GPIO 19

  • CLK: GPIO 18

I2C EEPROM

Выводы 27 и 28 (GPIO 0 и GPIO 1) зарезервированы для подключения HAT ID EEPROM. Не используйте эти выводы, если вы не используете I2C ID EEPROM. Оставьте их неподключёнными, если вы не используете I2C EEPROM.

Заключение

Надеемся, что это руководство по GPIO Raspberry Pi оказалось для вас полезным.

Один из самых простых способов управления GPIO Raspberry Pi — использование Python и библиотеки gpiozero. Мы скоро создадим руководства о том, как использовать GPIO. Следите за обновлениями.

Вам также может быть интересно:

Вы можете ознакомиться со всеми нашими проектами для Raspberry Pi по следующей ссылке:

У нас также есть руководства по GPIO для ESP32, ESP8266 и ESP32-CAM: