Распиновка Orange Pi PC построена на базе 40-контактного разъёма GPIO, который физически совместим с разъёмом Raspberry Pi, но имеет ряд отличий в назначении отдельных контактов — например, линии UART и часть мультимедийных сигналов заведены иначе. Плата работает на процессоре Allwinner H3, и именно он определяет, какие интерфейсы выведены на гребёнку: UART, I2C, SPI, PWM и обычные цифровые линии ввода-вывода.
Перед подключением любой периферии — датчиков, дисплеев, реле или отладочного конвертера — нужно точно знать назначение каждого пина. Ошибка в распиновке на платах этого класса нередко заканчивается выходом из строя порта или всего процессора, потому что логика здесь 3,3-вольтовая и не имеет защиты от перенапряжения. Ниже разберём схему разъёма, ключевые интерфейсы и правила безопасного подключения.
Общая структура разъёма GPIO на Orange Pi PC
Гребёнка Orange Pi PC содержит 40 контактов, расположенных в два ряда по 20 штук с шагом 2,54 мм. Нумерация идёт стандартным «змеевидным» способом: нечётные контакты — в одном ряду, чётные — в другом. Первый контакт обычно помечен на плате шелкографией (точка или стрелка возле угла разъёма), и от него ведётся весь отсчёт.
Контакты условно делятся на несколько групп: питание (5 В и 3,3 В), земля (GND), цифровые линии GPIO и выделенные интерфейсы — UART, I2C, SPI. Часть пинов мультиплексирована: одна и та же линия может работать как обычный GPIO либо как сигнал аппаратного интерфейса, в зависимости от настроек в операционной системе и device tree.
Уровень логики всех цифровых линий — 3,3 В, и подача 5 В на вход GPIO может повредить процессор. Это принципиальное отличие от некоторых Arduino-совместимых плат, где входы толерантны к пяти вольтам.
Все цифровые линии Orange Pi PC работают с логикой 3,3 В. Пятивольтовые сигналы подключайте только через преобразователь уровней.
Таблица распиновки основных контактов
Ниже приведена таблица наиболее востребованных контактов разъёма. Назначение части пинов может меняться в зависимости от конфигурации ядра и device tree конкретного дистрибутива (Armbian, Orange Pi OS и других), поэтому перед проектом сверяйтесь с официальной схемой именно вашей ревизии платы.
| № пина | Назначение | Описание |
|---|---|---|
| 1 | 3,3 В | Питание периферии, малая нагрузка |
| 2 | 5 В | Питание напрямую от входа платы |
| 3 | I2C SDA | Линия данных шины I2C |
| 5 | I2C SCL | Линия тактирования шины I2C |
| 6 | GND | Земля |
| 8 | UART TX | Передача отладочной консоли |
| 10 | UART RX | Приём отладочной консоли |
Контакты 4, 9, 14, 20, 25, 30, 34 и 39 также задействованы под питание и землю — такое дублирование сделано для удобства разводки и снижения наводок. Остальные пины — это линии GPIO, часть из которых может быть переконфигурирована под SPI, PWM или дополнительные UART.
Точную привязку номеров GPIO к физическим пинам для вашей версии системы можно посмотреть командой gpio readall, если установлен пакет WiringOP — адаптация WiringPi для плат Orange Pi.
Сфотографируйте плату с подписанными контактами или распечатайте схему распиновки и держите её рядом при монтаже — это избавит от большинства ошибок подключения.
Контакты питания: 5 В, 3,3 В и земля
Сама плата Orange Pi PC питается от 5 В через разъём питания (на этой модели — цилиндрический разъём, а не micro-USB), и эти же 5 В выведены на пины 2 и 4 гребёнки. С них можно запитывать внешние модули, но важно учитывать суммарный ток: блок питания должен иметь запас по мощности, иначе плата будет перезагружаться под нагрузкой.
Линия 3,3 В (пины 1 и 17) формируется стабилизатором на плате и рассчитана на относительно небольшой ток. Её задача — питание датчиков и логики, а не мощной периферии вроде реле-модулей с большим током обмотки или сервоприводов. Такие нагрузки питают отдельно, объединяя только земли.
⚠️ Внимание: никогда не замыкайте контакты 5 В и GND напрямую и не подавайте внешнее питание на гребёнку одновременно с основным питанием платы без продуманной схемы развязки — это может вывести из строя стабилизатор или процессор.
UART: отладочная консоль и подключение
Выводы UART (TX на пине 8, RX на пине 10) используются прежде всего как отладочная консоль: через них можно наблюдать загрузку системы и работать с платой без монитора и клавиатуры. Для подключения к компьютеру нужен USB-UART преобразователь с уровнями 3,3 В — например, на чипах CP2102, CH340 (в 3,3-вольтовом режиме) или FT232.
Схема подключения перекрёстная: TX платы соединяется с RX преобразователя, RX платы — с TX преобразователя, плюс обязательно общая земля. Линию питания от преобразователя к плате лучше не подключать вовсе, если плата уже запитана штатно.
sudo screen /dev/ttyUSB0 115200
Скорость консоли по умолчанию в большинстве образов для Allwinner H3 — 115200 бод, но если на экране «мусор», стоит проверить настройки в документации к вашему дистрибутиву.
Интерфейсы I2C и SPI
Шина I2C выведена на пины 3 (SDA) и 5 (SCL) и позволяет подключать сразу несколько устройств — датчики температуры, дисплеи, расширители портов — по двум проводам плюс питание. Каждое устройство на шине имеет свой адрес, поэтому конфликтов при корректной схеме не возникает. Проверить, какие устройства видны на шине, можно утилитой i2cdetect из пакета i2c-tools.
Интерфейс SPI быстрее I2C и подходит для дисплеев, карт памяти, ADC/DAC и радиомодулей. Он требует больше линий: MOSI, MISO, тактирование и выбор чипа (CS). Включение SPI в Armbian обычно выполняется через утилиту конфигурации armbian-config или правку параметров загрузки — точный способ зависит от версии системы, поэтому ориентируйтесь на документацию вашего образа.
- 🔌 Перед подключением устройства к I2C или SPI проверьте его рабочее напряжение — оно должно быть 3,3 В либо подключайте через преобразователь уровней.
- 📏 Держите провода шин короткими: длинные шлейфы на I2C и SPI дают помехи и сбои обмена.
- 🔎 Если устройство «не видно», сначала проверьте землю — отсутствие общего GND самая частая причина.
- 🧰 Для диагностики I2C установите i2c-tools и выполните сканирование шины до написания собственного кода.
Работа с GPIO из операционной системы
Управлять отдельными линиями GPIO можно несколькими способами: через библиотеку WiringOP (команда gpio и API в стиле WiringPi), через файловый интерфейс sysfs (/sys/class/gpio) или через современные библиотеки для Python. Выбор зависит от задачи: для простого мигания светодиодом хватит sysfs, для проектов с прерываниями удобнее готовая библиотека.
gpio mode 7 out
gpio write 7 1
Обратите внимание: нумерация пинов в WiringOP (wPi), физическая нумерация разъёма и номера GPIO в ядре Linux — это три разные системы. Путаница между ними — классический источник ошибок, когда «правильный» по схеме пин не реагирует. Команда gpio readall выводит сводную таблицу всех трёх нумераций, и начинать работу стоит именно с неё.
☑️ Проверка перед подключением периферии к GPIO
Типичные ошибки и меры предосторожности
Чаще всего пины на Orange Pi PC выходят из строя из-за подачи 5 В на вход GPIO, короткого замыкания при монтаже «на живую» или превышения допустимого тока через вывод. Цифровой пин способен отдать лишь небольшой ток — светодиод через резистор подключить можно, а вот реле или мотор напрямую — нельзя, нужен транзисторный ключ или драйвер.
⚠️ Внимание: все подключения и изменения схемы выполняйте только при выключенном питании платы. Горячее подключение проводов к гребёнке — частая причина повреждения портов H3.
Ещё одна проблема — статическое электричество. Перед работой с платой желательно снять заряд (коснуться заземлённого предмета), а саму плату класть на непроводящую поверхность. Металлический стол с разбросанными винтами и кусками припоя — плохое рабочее место для отладки.
- ⚡ Не превышайте допустимый ток на вывод — управляйте нагрузкой через транзистор или релейный модуль с опторазвязкой.
- 🧲 Избегайте статики: работайте на непроводящей поверхности и не трогайте контакты процессора.
- 🔋 Используйте качественный блок питания 5 В с запасом по току — просадки вызывают зависания и порчу SD-карты.
- 📐 Проверяйте ориентацию разъёмов шлейфов: перевернутый шлейф подаёт питание на сигнальные линии.
⚠️ Внимание: ревизии плат и сторонние «клоны» могут отличаться в деталях разводки. Перед ответственным проектом сверяйтесь с официальной схемой (schematic) именно вашей версии Orange Pi PC на сайте производителя.
Чем распиновка Orange Pi PC отличается от Raspberry Pi
Физически разъёмы совпадают — 40 пинов с тем же шагом, и многие «шляпы» встают механически. Однако назначение части контактов различается: на Orange Pi PC другой процессор (Allwinner H3 вместо Broadcom), иные номера GPIO, другое расположение некоторых интерфейсов и отсутствие совместимости на уровне программных библиотек. Платы расширения, жёстко привязанные к конкретным пинам Raspberry Pi, могут работать некорректно или потребовать перенастройки.
Часто задаваемые вопросы
Совместима ли распиновка Orange Pi PC с Raspberry Pi?
Механически — да, разъём 40-pin идентичен, и многие модули подключаются физически. Но назначение части контактов и программная поддержка отличаются, поэтому полной совместимости нет: каждое устройство нужно проверять по схеме обеих плат.
Какое напряжение логики у GPIO Orange Pi PC?
Все цифровые линии работают с уровнями 3,3 В. Подача 5 В на вход может повредить порт или процессор, поэтому пятивольтовая периферия подключается через преобразователь уровней.
Как узнать номера GPIO для конкретного пина?
Установите библиотеку WiringOP и выполните команду gpio readall — она выведет таблицу соответствия физических пинов, номеров wPi и системных номеров GPIO ядра.
Можно ли запитать Orange Pi PC через пины GPIO?
Технически подача 5 В на соответствующие пины возможна, но при этом обходится часть защиты входной цепи. Безопаснее использовать штатный разъём питания, а гребёнку — только для питания внешней периферии.
Почему датчик на I2C не определяется системой?
Наиболее вероятные причины: не включён интерфейс I2C в конфигурации системы, нет общей земли, неверное питание датчика или слишком длинные провода. Начните с проверки шины командой i2cdetect и сверки подключения со схемой.
Главные правила работы с GPIO Orange Pi PC: логика строго 3,3 В, монтаж только при выключенном питании, сверка нумерации через gpio readall и запас по току блока питания.