Распиновка Raspberry Pi 4 GPIO

Распиновка Raspberry Pi 4 GPIO

Рассмотрим детально распиновку платы Raspberry Pi 4 GPIO и разберём назначение каждого вывода.

GPIO

Подсказка

Из википедии: GPIO или Интерфейс ввода/вывода общего назначения (англ. general-purpose input/output, GPIO) — интерфейс для связи между компонентами компьютерной системы, к примеру микропроцессором и различными периферийными устройствами. Контакты GPIO могут выступать как в роли входа, так и в роли выхода — это, как правило, конфигурируется. GPIO контакты часто группируются в порты.

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

Как упоминалось выше, GPIO — это интерфейс ввода/вывода общего назначения.

Raspberry Pi GPIO контакты

Нажмите для увеличения

По сути, GPIO — это универсальный интерфейс для обмена данными, и это название точно отражает принцип работы контактов Raspberry Pi. Они схожи со штырьковыми разъёмами Arduino, поскольку могут быть настроены как на приём входных сигналов, так и на выдачу выходных. Благодаря этим контактам Pi может взаимодействовать с самыми разными компонентами — кнопками, потенциометрами, зуммерами и другими устройствами.

См. также

Управление GPIO Raspberry Pi через Node.js

Существуют две системы именования выводов, которые стоит знать: нумерация WiringPi и Broadcom. Broadcom — это официальное наименование каждого пина, показанное зелёным цветом на изображении выше. Библиотека WiringPi, которую вы, вероятнее всего, будете использовать для работы с GPIO, имеет свою собственную аппаратно-независимую нумерацию. При программировании Pi всегда уточняйте, с каким конкретно выводом вы работаете.

Пины питания и заземления

Для питания внешних цепей служат контакты питания и заземления. Любая Raspberry Pi с 40-контактной гребёнкой GPIO оснащена двумя выводами на 5 В и двумя на 3,3 В, расположение которых не меняется от модели к модели.

Кроме выводов 5 В и 3,3 В имеется 8 контактов заземления (GND). С помощью контактов питания и заземления можно запитывать компоненты — например, светодиоды или моторы. Однако перед подачей питания через эти выводы обязательно предусмотрите соответствующие защитные элементы или внешнюю схему. Подключение устройств с высоким потреблением тока или резкими скачками напряжения, таких как двигатель без надлежащего контроллера, может вывести из строя контакты, после чего они станут неработоспособными.

Альтернативные функции

Хотя для многих проектов достаточно выводов питания и обычного ввода/вывода, иногда от Pi требуется расширенная функциональность. К счастью, ряд контактов GPIO поддерживает интерфейсы I2C, SPI и UART. В Pi 4 эти возможности были расширены: теперь данные протоколы доступны на большем числе контактов, чем в Raspberry Pi 3B+ и более ранних моделях. Ниже приведём краткий обзор каждого интерфейса.

I2C

Протокол I2C (Inter-Integrated Circuit) позволяет Raspberry Pi управлять множеством датчиков и компонентов, называемых ведомыми (slave) устройствами. Обмен данными происходит по линиям SDA (линия данных) и SCL (линия тактового сигнала). Каждому подчинённому устройству присваивается уникальный адрес, что обеспечивает эффективную связь с множеством компонентов одновременно. Контакты ID_EEPROM тоже работают по I2C, однако предназначены для связи с дополнительными платами расширения, а не с периферийными устройствами.

SPI

Протокол SPI (Serial Peripheral Interface) также применяется для взаимодействия с компонентами по схеме «ведущий — ведомый», хотя он менее компактен по количеству используемых линий. Для работы необходимы тактовый сигнал (SCLK), а также выводы MOSI (Master Out Slave In) и MISO (Master In Slave Out). Назначение этих линий соответствует их названиям: SCLK задаёт скорость обмена данными, MOSI служит для передачи команд от Pi к подключённым устройствам, а MISO — для передачи данных в обратном направлении.

UART

Если вы ранее работали с Arduino, то, вероятно, уже знакомы с UART или последовательной связью (Serial). Универсальный асинхронный приёмопередатчик применяется для подключения плат Arduino к компьютерам, на которых ведётся программирование, а также для коммуникации с другими устройствами через приёмный и передающий контакты. Эти выводы можно задействовать для управления Pi с другого компьютера при активированной последовательной консоли в raspi-config, либо для прямого управления Arduino, когда нет возможности использовать USB-кабель.

См. также

Как подключить Raspberry Pi к Ардуино?

PWM

Помимо перечисленных функций, все контакты поддерживают программный ШИМ, а GPIO12, GPIO13, GPIO18, GPIO19 — аппаратную широтно-импульсную модуляцию.

Официальный 40-контактный список Raspberry Pi

Стандартная распиновка для всех 40-контактных моделей Raspberry Pi осталась неизменной, однако обновлённый перечень функций для Raspberry Pi 4 доступен в официальном репозитории raspi-gpio на GitHub.

Если вам сложно запомнить назначение каждого пина, ниже представлена распиновка Raspberry Pi B+, разработанная Андреасом Гором (известным под псевдонимом Splitbrain), которую можно распечатать.

Распиновка Raspberry Pi B+

Эту схему можно вырезать и закрепить прямо поверх платы, что значительно облегчит запоминание расположения всех контактов.