Распиновка Raspberry Pi 4 Model B — это 40-контактный разъём GPIO (General Purpose Input/Output), расположенный вдоль длинного края платы рядом с слотом microSD. Именно через эти контакты плата общается с датчиками, реле, дисплеями и другой периферией, и ошибка при подключении — например, подача 5 В на сигнальный пин — способна вывести из строя процессор Broadcom BCM2711 без возможности ремонта.
Все линии GPIO работают с логическим уровнем 3,3 В, а не 5 В. Это главное отличие от популярных плат Arduino и первое, что нужно учитывать при подключении модулей. Ниже разберём нумерацию контактов, назначение каждой группы пинов и правила безопасного подключения.
Общая схема разъёма GPIO
Разъём состоит из двух рядов по 20 контактов с шагом 2,54 мм — стандартная штыревая гребёнка, к которой подходят обычные dupont-провода. Контакты нумеруются попарно: нечётные — в одном ряду, чётные — в другом. Отсчёт начинается от пина 1, который находится ближе к углу платы со стороны слота microSD; на самой плате рядом с ним обычно есть квадратная контактная площадка.
Существует две системы нумерации, и их путаница — частая причина «неработающих» скриптов:
- 🔢 BOARD — физическая нумерация контактов от 1 до 40, совпадает с расположением на плате;
- 📟 BCM — нумерация по каналам процессора Broadcom (GPIO2, GPIO17 и т.д.), именно она используется в большинстве библиотек, включая
RPi.GPIOиgpiozero; - 📖 одна и та же точка имеет два имени: например, физический пин 11 — это GPIO17 в системе BCM.
В программах нумерацию задают явно. Для библиотеки RPi.GPIO это выглядит так:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM) # или GPIO.BOARD
Контакты питания и земли
Часть пинов разъёма зарезервирована под питание внешних модулей. Их назначение фиксировано и не может быть переназначено программно. Вам доступны четыре типа таких контактов: 3,3 В, 5 В, земля (GND) и резервные.
| Физический пин | Назначение | Примечание |
|---|---|---|
| 1, 17 | 3,3 В | Питание маломощных датчиков, суммарный ток ограничен |
| 2, 4 | 5 В | Напрямую от входа питания, через общий предохранитель |
| 6, 9, 14, 20, 25, 30, 34, 39 | GND | Земля, 8 контактов по всей гребёнке |
| 27, 28 | ID_SD, ID_SC (EEPROM) | Зарезервированы для плат расширения HAT |
⚠️ Внимание: пины 5 В соединены с входом питания платы практически напрямую. Короткое замыкание на этих линиях может повредить дорожки платы или блок питания. Не подключайте к ним нагрузку без предохранителя и не пытайтесь запитать саму Raspberry Pi через эти контакты без понимания схемы — защиты от переполюсовки здесь нет.
Перед первым подключением любого модуля прозвоните мультиметром пары «питание — земля» на собранной схеме. Это занимает минуту и спасает от большинства фатальных ошибок монтажа.
Цифровые пины ввода-вывода
Основная масса контактов — это программируемые линии GPIO, которые можно настроить как вход или выход. Каждая линия работает с уровнями 0 В (логический ноль) и 3,3 В (логическая единица). Ток, который способен отдать или принять один пин, невелик — принято ориентироваться на значения порядка единиц миллиампер, а суммарная нагрузка на все линии тоже ограничена.
Из этого следует практическое правило: светодиод с токоограничивающим резистором подключить можно, а вот реле, мотор или длинную светодиодную ленту — нельзя. Для силовой нагрузки используют транзисторные ключи, драйверы или модули реле с опторазвязкой, где GPIO лишь управляет сигналом.
⚠️ Внимание: сигнальные пины не защищены от напряжения выше 3,3 В. Подача 5 В от датчика с пятивольтовой логикой на вход GPIO — типичный способ «сжечь» процессор. Для таких модулей применяйте делитель напряжения или двунаправленный преобразователь уровней (level shifter).
Аппаратные интерфейсы: I2C, SPI, UART
Помимо простого ввода-вывода, часть пинов выполняет специальные функции — на них «разведены» аппаратные шины. Одна и та же линия может быть либо обычным GPIO, либо частью интерфейса: режим переключается программно, чаще всего через raspi-config или файл /boot/firmware/config.txt (в старых версиях ОС — /boot/config.txt).
- 🔌 I2C: GPIO2 (SDA, пин 3) и GPIO3 (SCL, пин 5) — шина для датчиков, дисплеев и микросхем расширения; на этих линиях на плате уже установлены подтягивающие резисторы;
- 📡 SPI: GPIO9–GPIO11 (MISO, MOSI, SCLK — пины 19, 21, 23) плюс выбор кристалла CE0 (пин 24) и CE1 (пин 26);
- 💬 UART: GPIO14 (TXD, пин 8) и GPIO15 (RXD, пин 10) — последовательный порт для консоли и связи с микроконтроллерами; помните, что уровни у него тоже 3,3 В, а не RS-232;
- 🎚️ PWM: аппаратная широтно-импульсная модуляция доступна на GPIO12, GPIO13, GPIO18, GPIO19 — пригодится для плавного управления яркостью или сервоприводами.
☑️ Проверка перед подключением модуля к GPIO
Узнать, какие интерфейсы активны, и включить нужный можно через консольную утилиту конфигурации:
sudo raspi-config
раздел Interface Options: I2C, SPI, Serial Port
Особенности и скрытые нюансы распиновки
Плата Raspberry Pi 4 B сохраняет совместимость распиновки с предыдущими 40-пиновыми моделями (начиная с B+), поэтому большинство шилдов и плат HAT физически подходят. Однако у четвёртой ревизии появились дополнительные альтернативные функции UART на ряде пинов — детали зависят от конфигурации device tree, и перед использованием «экзотических» режимов стоит свериться с официальной документацией Raspberry Pi.
Отдельного упоминания заслуживают пины 27 и 28 (ID_SD и ID_SC). Они предназначены для чтения EEPROM плат расширения стандарта HAT и не должны использоваться как обычные GPIO — при подключённом HAT это приведёт к конфликту.
Как быстро узнать распиновку прямо в терминале
Установите пакет gpiozero (в Raspberry Pi OS он обычно предустановлен) и выполните команду pinout. Она выведет в консоль наглядную схему всех 40 контактов с указанием физических номеров, имён BCM и альтернативных функций каждого пина.
Типичные ошибки при работе с распиновкой
Практика показывает, что большинство проблем с GPIO сводится к нескольким повторяющимся сценариям. Первый — смешение нумераций BOARD и BCM в одном проекте: схема нарисована по физическим пинам, а скрипт написан под BCM, и сигнал уходит «не туда». Второй — подключение при включённом питании: случайное касание соседних контактов проводом в момент монтажа замыкает 5 В на сигнальную линию.
Третья типичная ошибка — ожидание аналогового входа. У Raspberry Pi 4 B нет встроенного АЦП: все GPIO работают только с цифровыми уровнями. Для аналоговых датчиков (потенциометры, термисторы, фоторезисторы в аналоговом режиме) потребуется внешний АЦП, например микросхема на шине I2C или SPI.
Главные правила безопасной работы с GPIO Raspberry Pi 4 B: логика строго 3,3 В, ток на пин минимален, монтаж — только при выключенном питании, а нумерацию пинов всегда сверяйте с режимом, выбранным в коде.
Если после подключения плата не стартует или ведёт себя странно (не загружается, греется, пропали USB-порты), первым делом отключите всю периферию с гребёнки и проверьте работу «голой» платы. Это быстро локализует проблему: либо виновата ваша схема, либо неисправность была изначально.
Часто задаваемые вопросы
Сколько контактов GPIO у Raspberry Pi 4 B?
Разъём содержит 40 контактов, из них 26 доступны как программируемые линии GPIO, остальные — питание (3,3 В и 5 В), земля и служебные пины EEPROM для плат HAT.
Можно ли подавать 5 В на сигнальный пин GPIO?
Нет. Все сигнальные линии рассчитаны на 3,3 В, и превышение этого напряжения может необратимо повредить процессор. Для пятивольтовых датчиков используйте преобразователь логических уровней или резистивный делитель.
Чем отличается нумерация BCM от BOARD?
BOARD — это физические номера контактов на гребёнке от 1 до 40. BCM — внутренние номера каналов процессора Broadcom (GPIO2, GPIO17 и т.д.). В коде нужно явно выбрать одну из систем и строго её придерживаться.
Есть ли у Raspberry Pi 4 B аналоговые входы?
Нет, встроенного АЦП у платы нет — все GPIO работают только с цифровыми сигналами. Для аналоговых датчиков подключают внешний АЦП по шине I2C или SPI.
Совместима ли распиновка Raspberry Pi 4 B с Raspberry Pi 3?
Да, 40-пиновая гребёнка сохраняет то же расположение основных сигналов, что и у предыдущих моделей с 40 контактами, поэтому большинство плат расширения и схем подключения совместимы. Отличия касаются дополнительных альтернативных функций отдельных пинов.