Введение в штыри малины Пи
Термин «GPIO» (общий ввод ввода) предназначен не только для малины Pi. Входные и выходные контакты можно найти на большинстве микроконтроллеров, таких как Arduino, Beaglebone и другие.
Когда мы говорим о GPIO с малиной Pi, мы имеем в виду длинный блок контактов в верхнем левом углу доски. Старые модели имели 26 контактов, однако большинство из нас будет использовать текущую модель с 40.
Вы можете подключить к этим контактам компоненты и другие аппаратные устройства и использовать код для управления тем, что они делают. Это важная часть малины Pi и отличный способ узнать об электронике.
После нескольких программных проектов вы, скорее всего, будете экспериментировать с этими контактами, стремясь смешать свой код с оборудованием, чтобы все происходило в «реальной жизни».
Этот процесс может быть пугающим, если вы новичок в этой сцене и считаете, что одно ложное движение может повредить вашу малину Pi. Понятно, что это нервная область для начинающих.
В этой статье объясняется, что делает каждый тип булавки GPIO и их ограничения.
02 из 09GPIO
Во-первых, давайте посмотрим на GPIO в целом. Булавки могут выглядеть одинаково, но все они имеют разные функции. На изображении выше показаны эти функции в разных цветах, которые мы объясним в следующих шагах.
Каждый штырь пронумерован от 1 до 40, начиная с нижнего левого угла. Это физические номера контактов, однако существуют также соглашения о нумерации / маркировке, такие как «BCM», которые используются при написании кода.
03 из 09Мощность и заземление
Выделены красным цветом, силовые контакты с маркировкой «3» или «5» для 3.3 В или 5 В.
Эти контакты позволяют напрямую отправлять питание на устройство без необходимости использования какого-либо кода. Невозможно отключить их.
Есть 2 рельса питания - 3,3 вольта и 5 вольт. Согласно этой статье, шина 3,3 В ограничена током 50 мА, тогда как шина 5 В может обеспечить любую текущую емкость, оставшуюся от вашего источника питания, после того, как Pi возьмет то, что ему нужно.
Выделенный коричневыйявляются заземляющие выводы (GND). Эти штыри - это именно то, что они говорят - штыри заземления - которые являются важной частью любого проекта электроники.
(5V GPIO-контакты представляют собой физические номера 2 и 4. 3.3V GPIO-контакты представляют собой физические номера 1 и 17. Штыри заземления GPIO представляют собой физические номера 6, 9, 14, 20, 25, 30, 34 и 39)
04 из 09Штырьки ввода / вывода
Зеленые контакты - это то, что я называю «родовыми» выводами ввода / вывода. Они могут быть легко использованы в качестве входов или выходов без каких-либо забот о столкновении с другими функциями, такими как I2C, SPI или UART.
Это штыри, которые могут посылать питание на светодиод, зуммер или другие компоненты или использоваться как вход для считывания датчиков, переключателей или другого устройства ввода.
Выходная мощность этих контактов составляет 3,3 В. Каждый штырь не должен превышать 16 мА тока, тонущий или источник, и весь набор контактов GPIO не должен превышать более 50 мА в любой момент времени. Это может быть ограничительным, поэтому вам может потребоваться проявить творческий подход в определенных проектах.
(Общие GPIO-контакты представляют собой физические номера 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 и 40)
05 из 09Штыри I2C
В желтом мы имеем контакты I2C. I2C - это протокол связи, который простым способом позволяет устройствам взаимодействовать с малиной Pi. Эти контакты также могут использоваться как «общие» контакты GPIO.
Хорошим примером использования I2C является очень популярная чип расширителя портов MCP23017, которая может дать вам больше контактов ввода / вывода через этот протокол I2C.
(I2C GPIO-контакты являются физическими выводами 3 и 5)
06 из 09Штыри UART (последовательные)
Серыми являются контакты UART. Эти штыри являются еще одним протоколом связи, который предлагает последовательные соединения, а также может использоваться как «общие» входы / выходы GPIO.
Мое любимое использование для UART - включить последовательное соединение с моего Pi на моем ноутбуке через USB. Это может быть достигнуто с помощью дополнительных плат или простых кабелей и устраняет необходимость в экране или интернет-соединении для доступа к вашему Pi.
(Контакты UART GPIO представляют собой физические номера контактов 8 и 10)
07 из 09Штыри SPI
В розовом, у нас есть контакты SPI. SPI - это интерфейсная шина, которая отправляет данные между Pi и другими аппаратными средствами / периферийными устройствами. Он обычно используется для цепочки устройств, таких как светодиодная матрица или дисплей.
Как и другие, эти контакты также могут использоваться как «общие» входы / выходы GPIO.
(Штырьки SPI GPIO являются физическими выводами 19, 21, 23, 24 и 26)
08 из 09DNC-контакты
Наконец, два булавки синего цвета, которые в настоящее время обозначены как DNC, который обозначает «Не подключать». Это может измениться в будущем, если Фонд малины Pi изменит доски / программное обеспечение.
(Контакты DNC GPIO являются физическими номерами контактов 27 и 28)
09 из 09Соглашения о нумерации GPIO
При кодировании с GPIO у вас есть выбор для импорта библиотеки GPIO одним из двух способов - BCM или BOARD.
Опцией, которую я предпочитаю, является GPIO BCM. Это соглашение о нумерации Broadcom, и я обнаружил, что он чаще используется для проектов и аппаратных дополнений.
Второй вариант - GPIO BOARD. В этом методе вместо этого используются физические номера контактов, что удобно при подсчете выводов, но вы найдете, что он меньше используется в примерах проектов.
Режим GPIO устанавливается при импорте библиотеки GPIO:
Импорт в BCM:
импортировать RPi.GPIO как GPIO
GPIO.setmode (GPIO.BCM)
Для импорта в качестве СОВЕТА:
импортировать RPi.GPIO как GPIO
GPIO.setmode (GPIO.BOARD)
Оба эти метода выполняют точно ту же работу, это всего лишь вопрос нумерации предпочтений.
Я регулярно пользуюсь удобными платами с надписью GPIO, такими как RasPiO Portsplus (на фото), чтобы проверить, какие контакты я тоже подключаю. На одной стороне показано соглашение о нумерации BCM, другое - BOARD, поэтому вы охвачены для любого проекта, который вы найдете.