Распиновка Raspberry Pi 4 Model B — первое, что нужно держать под рукой, прежде чем подключать датчики, реле или шилды к 40-контактному разъёму GPIO: ошибка на один пин способна вывести из строя процессор Broadcom BCM2711, а подача 5 В на контакт, рассчитанный на 3,3 В, почти гарантированно сжигает вход. Колодка на плате не подписана, поэтому ориентироваться приходится по схеме, а нумерация контактов имеет два разных стандарта, которые часто путают даже опытные пользователи.
В этой статье разберём физическую нумерацию пинов и нумерацию BCM, назначение линий питания и земли, работу интерфейсов I2C, SPI, UART и PWM, а также правила безопасного подключения периферии. Отдельно остановимся на типовых ошибках, которые приводят к повреждению платы.
Общий вид разъёма GPIO и два стандарта нумерации
На плате Raspberry Pi 4 Model B установлен 40-контактный штыревой разъём с шагом 2,54 мм. Контакты расположены в два ряда по 20 штук. Ориентиром служит первый пин — он находится у края платы со стороны разъёмов USB и Ethernet, ближний к углу уголок колодки. Нечётные контакты идут по ряду, ближнему к краю платы, чётные — по внутреннему ряду.
Существует две системы обозначения, и смешивать их нельзя:
- 🔢 Физическая нумерация (BOARD) — контакты нумеруются от 1 до 40 по их положению на колодке, слева направо и сверху вниз.
- 🧠 Нумерация BCM (Broadcom) — пины обозначаются номером канала GPIO процессора: GPIO2, GPIO17, GPIO27 и так далее. Именно эти номера используются в большинстве библиотек, например в
RPi.GPIOиgpiozero.
Практическое следствие: когда в примере кода встречается строка GPIO.setup(17, GPIO.OUT), речь идёт о BCM-нумерации, и физически это контакт 11 на колодке. Если же в коде выбран режим GPIO.setmode(GPIO.BOARD), то номер 17 означает уже физический пин 17 — совершенно другой контакт. Проверяйте режим нумерации до подключения проводов.
Быстро посмотреть распиновку прямо в терминале можно командой pinout — она выводит схему разъёма и назначение контактов для вашей модели Raspberry Pi.
Питание: контакты 5 В, 3,3 В и земля
Часть пинов колодки зарезервирована под питание и землю, и именно с ними связано больше всего ошибок. На разъёме доступны два уровня напряжения:
- ⚡ 5 В — физические пины 2 и 4. Напряжение поступает напрямую со входа питания USB-C, минуя стабилизатор логики.
- 🔋 3,3 В — физические пины 1 и 17. Это выход встроенного стабилизатора, его нагрузочная способность ограничена, поэтому мощную периферию отсюда питать не стоит.
- ⏚ GND — восемь контактов земли: физические пины 6, 9, 14, 20, 25, 30, 34 и 39.
⚠️ Внимание: все GPIO-линии Raspberry Pi 4 рассчитаны строго на 3,3 В и не имеют защиты от 5 В. Подключение к входу датчика с пятивольтовой логикой без делителя напряжения или преобразователя уровня — одна из самых частых причин выхода платы из строя.
Ещё один нюанс: пины 5 В фактически соединены с входом питания платы. Через них теоретически можно запитать саму Raspberry Pi, но при этом обходится часть защитной обвязки входа USB-C. Такой способ питания применяйте только если понимаете риски и уверены в качестве источника.
Таблица распиновки ключевых контактов
Ниже приведена таблица наиболее востребованных пинов с соответствием физической и BCM-нумерации. Полную схему всех 40 контактов удобно смотреть командой pinout или в официальной документации Raspberry Pi.
| Физ. пин | Имя (BCM) | Основная функция | Альтернативная функция |
|---|---|---|---|
| 1 | 3V3 | Питание 3,3 В | — |
| 3 | GPIO2 | I2C SDA | Цифровой вход/выход |
| 5 | GPIO3 | I2C SCL | Цифровой вход/выход |
| 8 | GPIO14 | UART TXD | Цифровой вход/выход |
| 10 | GPIO15 | UART RXD | Цифровой вход/выход |
| 19 | GPIO10 | SPI MOSI | Цифровой вход/выход |
Обратите внимание, что многие контакты многофункциональны: один и тот же пин может работать как обычный цифровой вход/выход или как линия аппаратного интерфейса. Режим задаётся программно — через конфигурацию ОС или библиотеку в коде.
Интерфейсы I2C, SPI и UART: какие пины задействованы
Шина I2C по умолчанию выведена на пины 3 (SDA, GPIO2) и 5 (SCL, GPIO3). На плате для этих линий уже предусмотрены подтягивающие резисторы, что упрощает подключение датчиков. Интерфейс нужно активировать — в Raspberry Pi OS это делается через утилиту конфигурации:
sudo raspi-config
Далее в меню выберите Interface Options и включите нужный интерфейс. После активации I2C проверить подключённые устройства можно командой i2cdetect -y 1 — она покажет адреса отвечающих микросхем на шине.
Шина SPI занимает пины 19 (MOSI), 21 (MISO), 23 (SCLK) и линии выбора чипа CE0/CE1 на пинах 24 и 26. UART по умолчанию связан с пинами 8 (TXD) и 10 (RXD), однако на Raspberry Pi 4 поведение последовательного порта зависит от настроек Bluetooth и конфигурации в /boot/config.txt. Перед использованием UART для связи с внешним устройством сверьтесь с документацией вашей версии ОС — распределение аппаратных UART между Bluetooth и GPIO может отличаться.
Аппаратный PWM на Raspberry Pi 4
Аппаратный ШИМ доступен на ограниченном числе контактов — традиционно используются GPIO12, GPIO13, GPIO18 и GPIO19 (физические пины 32, 33, 12 и 35). На остальных пинах ШИМ реализуется программно, что даёт менее стабильный сигнал и нагружает процессор. Для управления сервоприводами и яркостью светодиодов предпочтительнее аппаратные каналы.
Как безопасно подключать периферию: пошаговый порядок
Правильная последовательность действий при подключении снижает риск повреждения платы практически до нуля. Держите питание выключенным, пока схема не собрана и не проверена.
☑️ Проверка перед первым включением
Отдельно стоит сказать про ток. Каждый GPIO-контакт способен отдать лишь небольшой ток, а суммарная нагрузка на все линии ограничена. Светодиод подключайте через токоограничивающий резистор, а реле, моторы и другую силовую нагрузку — только через транзисторный ключ или драйвер. Напрямую к пину такие устройства подключать нельзя.
⚠️ Внимание: не подключайте и не отключайте шлейфы и модули «на горячую», при поданном питании. Случайное касание соседних контактов в момент подключения может замкнуть 5 В на линию 3,3 В или на GPIO — такие повреждения необратимы.
Если проект предполагает частые переподключения, удобно использовать макетную плату с GPIO-удлинителем (T-cobbler) — контакты на ней подписаны, и вероятность ошибки заметно ниже, чем при работе с «голой» колодкой.
Главное правило распиновки Raspberry Pi 4: логика 3,3 В, нумерацию BCM и BOARD не смешивать, питание отключать при сборке схемы.
Типовые ошибки и их последствия
Разберём ситуации, которые чаще всего приводят к проблемам. Первая — смещение шлейфа или шилда на один ряд контактов. При этом питание и сигналы попадают не на те линии, и в лучшем случае устройство просто не работает, в худшем — 5 В попадает на вход GPIO. Всегда сверяйте совмещение первого пина.
Вторая типичная ошибка — путаница между BOARD и BCM при переносе чужого кода в свой проект. Скетч, рассчитанный на физическую нумерацию, при интерпретации номеров как BCM подаст сигнал совершенно на другой контакт. Внешне это выглядит как «датчик не отвечает» или «реле не щёлкает», а диагностика занимает часы, хотя причина — одна строка конфигурации.
Третья группа проблем связана с питанием периферии. Попытка запитать от пина 3,3 В прожорливый модуль приводит к просадке напряжения и нестабильной работе самой платы. Если устройству нужен заметный ток, питайте его от пинов 5 В или от внешнего источника, не забыв объединить земли.
Если после подключения нового модуля плата перестала загружаться, отключите всю периферию и проверьте запуск «голой» платы — так вы быстро локализуете источник проблемы.
Часто задаваемые вопросы
Совместима ли распиновка Raspberry Pi 4 с Raspberry Pi 3 и более ранними моделями?
Расположение и назначение основных контактов 40-пинового разъёма у Raspberry Pi 4 совпадает с моделями B+, 2B, 3B и 3B+ — разъём стандартизирован. Однако логика работы отдельных интерфейсов (например, распределение UART) может отличаться, поэтому код и настройки стоит проверять под конкретную модель.
Как узнать назначение пинов без интернета?
Установите пакет gpiozero (в Raspberry Pi OS он обычно присутствует) и выполните в терминале команду pinout. Она выведет схему разъёма с обозначением контактов прямо в консоль.
Можно ли подключать 5-вольтовые датчики к GPIO?
Напрямую — нет: входы рассчитаны на 3,3 В. Используйте двунаправленный преобразователь логических уровней или, для однонаправленных сигналов, делитель напряжения на резисторах. Это недорогое решение, которое защищает процессор от повреждения.
Чем отличаются пины 5 В на GPIO от питания через USB-C?
Электрически пины 5 В соединены с линией питания платы. Через них можно как запитать периферию, так и подать питание на саму плату, но во втором случае обходится часть входной защиты. Для питания самой Raspberry Pi предпочтителен штатный разъём USB-C с качественным блоком питания.
Сколько тока можно взять с одного GPIO-пина?
Нагрузочная способность каждого вывода невелика — речь идёт о миллиамперах, а суммарный ток всех линий также ограничен. Точные допустимые значения зависят от ревизии платы, поэтому ориентируйтесь на официальную документацию. Практическое правило: GPIO — это управляющие сигналы, а не источник питания; нагрузку коммутируйте через транзисторы или драйверы.