Распиновка 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 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 (нажмите на изображение, чтобы увидеть полный размер)
Существует несколько способов обозначения вывода 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: