Raspberry Pi 4 Pinout: полная распиновка 40-пинового разъёма GPIO

Распиновка Raspberry Pi 4 — это 40-контактный разъём GPIO (General Purpose Input/Output), расположенный вдоль длинного края платы рядом с картой памяти. Именно через эти контакты плата общается с датчиками, реле, дисплеями и другой периферией, и ошибка в подключении — самая частая причина сгоревших портов у начинающих. Прежде чем подавать питание на схему, нужно точно знать, какой физический пин за что отвечает.

Разъём у Raspberry Pi 4 Model B совместим по расположению контактов с предыдущими моделями, начиная с Pi B+, однако у «четвёрки» есть особенности: дополнительные альтернативные функции UART, I2C и SPI на части пинов. В этой статье разберём нумерацию контактов, назначение каждой группы пинов, ограничения по напряжению и току, а также типовые ошибки при подключении.

Нумерация контактов: BOARD против BCM

Первая путаница, с которой сталкивается пользователь — две системы нумерации пинов. Физическая нумерация (BOARD) просто считает контакты по порядку от 1 до 40: пин 1 находится у края платы со стороны слота microSD (ближний к углу), далее нумерация идёт «змейкой» по двум рядам. Нумерация BCM использует номера каналов GPIO процессора Broadcom: например, физический пин 12 — это GPIO18.

В коде на Python библиотека RPi.GPIO требует явно указать режим: GPIO.setmode(GPIO.BOARD) или GPIO.setmode(GPIO.BCM). Смешение двух систем — типичная причина «неработающего» скетча: программа обращается не к тому контакту, к которому подключен датчик. Всегда сверяйте, какая нумерация используется в примере кода, который вы копируете.

Питание: пины 5V, 3V3 и земля

На разъёме выведены контакты питания, которые часто используются для запитки внешних модулей. Пины 5V (физические 2 и 4) подключены к линии питания платы практически напрямую — с них можно снять напряжение для питания, например, вентилятора или релейного модуля. Пины 3.3V (физические 1 и 17) питаются от встроенного стабилизатора, и его возможности по току ограничены — нагружать эту линию мощной периферией нельзя.

Контактов GND (земля) на разъёме восемь: физические пины 6, 9, 14, 20, 25, 30, 34 и 39. Они равнозначны, и для схемы не имеет значения, какой именно использовать. Важно лишь, чтобы у подключаемого модуля и Raspberry Pi была общая земля.

⚠️ Внимание: все логические пины GPIO Raspberry Pi 4 работают с напряжением 3.3 В и не толерантны к 5 В. Подача 5 В на вход GPIO (например, от датчика с пятивольтовой логикой) может необратимо повредить процессор. Используйте делитель напряжения или преобразователь уровней.

Цифровые пины GPIO и их ограничения

Большинство контактов разъёма — универсальные цифровые входы/выходы, которые программно настраиваются на чтение или выдачу сигнала. В распиновке Raspberry Pi 4 пользователю доступны GPIO с номерами BCM 2–27 (за вычетом занятых служебными функциями). Каждый пин можно сконфигурировать с подтяжкой к питанию или к земле, что удобно для подключения кнопок без внешних резисторов.

Ток, который способен отдать или принять один пин, невелик — единицы миллиампер, а суммарная нагрузка на все GPIO тоже ограничена. Напрямую к пину допустимо подключать разве что светодиод через токоограничивающий резистор. Реле, двигатели и мощные нагрузки подключаются только через транзисторные ключи или драйверы.

  • 🔌 GPIO2 и GPIO3 (пины 3 и 5) — линии I2C с аппаратными подтяжками, лучше не занимать их без нужды;
  • 🔌 GPIO14 и GPIO15 (пины 8 и 10) — по умолчанию задействованы под последовательную консоль UART;
  • 🔌 GPIO18 (пин 12) — аппаратный канал PWM, удобен для управления яркостью или сервоприводом;
  • 🔌 GPIO0 и GPIO1 (пины 27 и 28) — зарезервированы под ID EEPROM плат расширения HAT.

Интерфейсы: I2C, SPI, UART и PWM

Помимо простого «включить/выключить», пины разъёма поддерживают аппаратные шины обмена данными. I2C (SDA — пин 3, SCL — пин 5) позволяет повесить на две линии множество устройств с разными адресами: датчики температуры, OLED-дисплеи, расширители портов. SPI (пины 19, 21, 23, 24, 26) — более быстрый интерфейс, используемый для экранов, карт памяти и ADC.

UART на пинах 8 (TXD) и 10 (RXD) по умолчанию часто занят системной консолью — перед использованием его для своего устройства консоль нужно отключить через raspi-config. Аппаратный PWM доступен на ограниченном числе пинов (в том числе GPIO12, GPIO13, GPIO18, GPIO19), на остальных широтно-импульсная модуляция реализуется программно с меньшей стабильностью.

📊 Какой интерфейс вы используете чаще всего в проектах на Raspberry Pi?
I2C
SPI
UART
Только цифровые GPIO

Таблица распиновки основных контактов

Ниже приведены ключевые пины разъёма в физической нумерации. Полную таблицу всех 40 контактов с альтернативными функциями стоит сверять с официальной документацией Raspberry Pi, поскольку часть пинов имеет несколько режимов работы, переключаемых в конфигурации.

Физ. пинНазваниеНазначение
13V3Питание 3.3 В
25VПитание 5 В
3GPIO2 (SDA1)I2C, линия данных
5GPIO3 (SCL1)I2C, линия тактирования
6GNDЗемля
8GPIO14 (TXD)UART, передача
10GPIO15 (RXD)UART, приём
12GPIO18GPIO / аппаратный PWM
19GPIO10 (MOSI)SPI, данные к устройству
23GPIO11 (SCLK)SPI, тактирование

Обратите внимание: чётные и нечётные пины идут двумя рядами. При подключении шлейфа или перемычек легко сместиться на один контакт — поэтому перед подачей питания перепроверяйте схему дважды.

Как узнать распиновку прямо из терминала

В Raspberry Pi OS установлена утилита pinout — просто выполните команду pinout в терминале, и она выведет схему разъёма с цветовой маркировкой: питание, земля и GPIO. Это удобно, когда под рукой нет распечатанной схемы.

Безопасное подключение периферии: порядок действий

Чтобы не вывести плату из строя, подключайте внешние модули по единому правилу: сначала схема собирается на обесточенной плате, затем проверяется, и только потом подаётся питание. Горячее подключение перемычек на запитанной плате — частая причина случайных замыканий 5V на GPIO.

☑️ Проверка перед подачей питания

Выполнено: 0 / 5

Для прототипирования удобно использовать макетную плату и качественные перемычки — плохой контакт на «соплях» даёт нестабильные показания датчиков, которые трудно отличить от программной ошибки. Если модуль требует 5-вольтовой логики, между ним и GPIO ставится двунаправленный преобразователь уровней.

⚠️ Внимание: не запитывайте плату одновременно через USB-C и через пины 5V разъёма GPIO. Двойное питание может привести к повреждению платы или блока питания. Питание через пины, кроме того, лишено части защит, присутствующих на входе USB-C.

Типичные ошибки при работе с GPIO

Разберём сбои, которые чаще всего встречаются на практике. Первая — датчик подключён верно, но программа молчит: почти всегда дело в смешении нумерации BOARD/BCM или в том, что интерфейс (I2C, SPI, UART) не включён в настройках системы через raspi-config или файл конфигурации. Вторая — нестабильные значения на входе без подтяжки: «висящий» вход ловит наводки и показывает случайные состояния.

Третья группа проблем — перегрузка по току. Попытка запитать от пина 3.3V несколько модулей сразу приводит к просадке напряжения и перезагрузкам платы. Если Raspberry Pi внезапно перезагружается при включении периферии, проверьте в первую очередь бюджет питания всей схемы.

  • ⚡ Смешение нумерации BOARD и BCM в коде и на схеме;
  • ⚡ Подача 5-вольтовых сигналов на входы GPIO;
  • ⚡ Перегрузка линии 3.3V несколькими модулями;
  • ⚡ Отсутствие общей земли между платой и внешним устройством;
  • ⚡ Забытый вывод включения интерфейса в raspi-config.

Часто задаваемые вопросы

Совместима ли распиновка Raspberry Pi 4 с Raspberry Pi 3?

Расположение основных пинов (питание, земля, I2C, SPI, UART, GPIO) на 40-контактном разъёме совпадает, поэтому большинство плат расширения и схем от Pi 3 работают и на Pi 4. Отличия касаются дополнительных альтернативных функций части пинов у четвёртой модели — при использовании нестандартных режимов сверяйтесь с документацией.

Можно ли подключать 5-вольтовые датчики к GPIO?

Напрямую — нет: входы GPIO рассчитаны на 3.3 В. Если датчик выдаёт 5-вольтовый сигнал, используйте резистивный делитель напряжения или двунаправленный преобразователь логических уровней. Питание самого датчика от линии 5V при этом допустимо.

Как включить I2C или SPI на Raspberry Pi 4?

Через инструмент конфигурации: выполните sudo raspi-config, перейдите в раздел Interface Options и активируйте нужный интерфейс. После включения обычно требуется перезагрузка. Проверить подключённые I2C-устройства можно командой i2cdetect -y 1.

Сколько тока можно снять с пинов питания?

Линия 5V ограничена в основном возможностями блока питания и потреблением самой платы. Линия 3.3V питается от встроенного стабилизатора с заметно меньшим запасом — для мощной периферии используйте 5V или внешний источник. Точные допустимые значения для вашей ревизии платы уточняйте в официальной документации.

Что делать, если GPIO перестал отвечать после ошибки подключения?

Сначала проверьте остальные пины той же группы — если не работает только один контакт, вероятно, повреждён конкретный канал процессора, и это необратимо. Проверить пин можно простым скриптом с подключённым светодиодом через резистор. Если не работают все пины сразу, проверьте питание платы и целостность системы на карте памяти.