|
|
Raspberry Pi
|
|
|
: одноплатный компьютер размером с банковскую карту, разработанный британской компанией Raspberry Pi Foundation как бюджетная система для обучения информатике, но позже получивший более широкое применение и известность
|
|
|
|
|
|
|
|
|
[[https://ant-lab.mipt.ru/education/get/get-students/-/raw/master/1-gpio/images/pi-labelled-names.png|alt=pi_names]]
|
|
|
|
|
|
Raspberry Pi является полноценным компьютером, хотя и менее быстрым и мощным. Зато он может делать одну вещь гораздо более эффективно, чем любой домашний компьютер - благодаря ряду контактов GPIO вдоль верхнего края платы он может управлять внешними устройствами. Устройства могут быть абсолютно любыми, от обычной лампочки, до беспилотного летательного аппарата. В данном случае область применения Raspberry ограничена лишь вашей фантазией и знаниями.
|
|
|
|
|
|
> На официальном сайте есть туториалы, как собрать ... На странице новостей постоянно публикаются новые оригинальные проекты, построенные на базе малинок https://www.raspberrypi.com/news/
|
|
|
|
|
|

|
|
|
|
|
|
40-контактный разъем GPIO имеется на всех современных платах Raspberry Pi (кроме некоторых моделей Raspberry Pi Zero). До Raspberry Pi 1 Model B+ (2014) платы имели более короткий 26-контактный разъем. Разъем GPIO на всех платах имеет шаг контактов 0,1 дюйма (2.54 мм).
|
|
|
|
|
|

|
|
|
|
|
|
> ⚠️ Нумерация контактов GPIO не соответствует физической последовательности пинов.
|
|
|
|
|
|
Каждый пин GPIO имеет несколько "имен"; первое и самое очевидное относится к «физическому» расположению на плате. Начиная с левого верхнего угла (с контакта, ближайший к тому месту, где вставлена карта micro SD), у нас есть физический контакт 1, который обеспечивает питание постоянное напряжение 3.3 В. Справа от этого контакта находится физический контакт 2, который обеспечивает питание 5 В. Затем номера контактов увеличиваются по мере продвижения вниз по каждому столбцу, при этом контакт 1 переходит в контакт 3, 5, 7 и т. д., пока мы не достигнем контакта 39. Вы быстро увидите, что каждый контакт с 1 по 39 в этом столбце соответствует нечетной последовательности чисел. И для столбца, начинающегося с контакта 2, он будет идти 4,6,8 и т. д., пока не достигнет 40. Следуя четной последовательности чисел. Физическая нумерация контактов — это самый простой способ найти контакт, но многие учебные пособия, написанные для Raspberry Pi, следуют другой последовательности нумерации. Нумерация контактов Broadcom (BCM) (также известная как номер контакта GPIO)
|
|
|
|
|
|
Нумерация контактов Broadcom (BCM) сначала может показататься хаотичной. Отображение контактов BCM относится к контактам GPIO, которые были напрямую подключены к системе на кристалле (SoC) Raspberry Pi. По сути, у нас есть прямые связи с мозгом нашего Pi для подключения датчиков и компонентов для использования в наших проектах.
|
|
|
|
|
|
Доступ к наглядной справке по GPIO можно получить на Raspberry Pi, открыв окно терминала и выполнив команду `pinout`.
|
|
|
|
|
|

|
|
|
|
|
|
Также можно воспользоваться интерактивным справочником [pinout.xyz](https://pinout.xyz/). Кроме того, на рабочих столах каждой малинки лежит схема распиновки.
|
|
|
|
|
|
> ⚠️ Не все 40 контактов доступны для программирования. На самом деле для программирования доступны только 26 контактов ввода/вывода (GPIO), которые имеют номера от GPIO2 до GPIO27.
|
|
|
|
|
|
Контакты GPIO являются цифровыми, это означает, что они могут иметь два состояния: выключено или включено. Они могут иметь направление для приема или отправки тока (ввод, вывод соответственно), и мы можем контролировать состояние и направление выводов, используя такие языки программирования, как Python, JavaScript, node-RED и т. д.
|
|
|
|
|
|
##### Напряжение
|
|
|
На плате присутствуют два контакта 5 В и два контакта 3.3 В, а также несколько контактов заземления (0 В), которые не настраиваются. Все остальные контакты являются пинами общего назначения на 3.3 В, что означает, что выходы способны выдавать напряжение в 3.3 В, а входы устойчивы к подаче 3.3 В.
|
|
|
##### Выходы
|
|
|
Контакт GPIO, используемый как выходной, может быть настроен на высокое значение напряжения (HIGH = 3.3 В) или на низкое (LOW = 0 В).
|
|
|
|
|
|
- Получаемые уровни напряжений: 0В и +3.3В (не +5В, от которых питается малинка)
|
|
|
- Максимальный ток: 2 - 16мА (по умолчанию 8мА)
|
|
|
- Максимальный суммарный ток нагрузки для всех задействованных пинов GPIO - 50мА
|
|
|
|
|
|
##### Входы
|
|
|
Вывод GPIO, обозначенный как входной, может считывать либо высокое значение напряжения(3.3 В), либо низкое (0 В).
|
|
|
|
|
|
- Максимально допустимое напряжение равно +3.3В
|
|
|
- Уровень логической единицы (1) начинается примерно с напряжения +1.8В
|
|
|
- максимальный ток 0.5 мА
|
|
|
|
|
|
Это упрощается за счет использования внутренних подтягивающих вверх или вниз резисторов. Контакты GPIO2 и GPIO3 имеют фиксированные подтягивающие вверх резисторы, но для остальных пинов подобное поведение можно настроить программно.
|
|
|
|
|
|
##### Дополнительные функции
|
|
|
|
|
|
Помимо простых устройств ввода и вывода, контакты GPIO могут использоваться с множеством альтернативных функций (последовательный порт, интерфейсы SPI и I^2^С и т.д.), некоторые доступны для всех контактов, другие — только для определенных пинов.
|
|
|
|
|
|
<details>
|
|
|
<summary>Подробнее</summary>
|
|
|
|
|
|
- PWM (pulse-width modulation)
|
|
|
- Программный ШИМ доступен для всех пинов
|
|
|
- Хардварный ШИМ доступен на GPIO12, GPIO13, GPIO18, GPIO19
|
|
|
|
|
|
- SPI
|
|
|
- SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
|
|
|
- SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
|
|
|
|
|
|
- I^2^C
|
|
|
- Data: (GPIO2); Clock (GPIO3)
|
|
|
- EEPROM Data: (GPIO0); EEPROM Clock (GPIO1)
|
|
|
|
|
|
- Serial
|
|
|
- TX (GPIO14); RX (GPIO15)
|
|
|
|
|
|
</details>
|
|
|
<br>
|
|
|
Если не учитывать контакты, которые могут выполнять специальные функции, то остается 17 программируемых контактов общего назначения |
|
|
\ No newline at end of file |