Skip to content

Um tour pelo Raspberry Pi GPIO

25 de maio de 2021

Neste artigo

O Raspberry Pi pode ser muitas coisas. Isso é parte de seu apelo. Você pode usar o Pi como um PC normal, conectando dispositivos periféricos através das portas USB e HDMI da placa. Se você quiser mergulhar nos aspectos técnicos do Pi, volte sua atenção para o conjunto de pinos ao longo da lateral da placa de circuito. Esses pinos são a chave para usar o Raspberry Pi em IoT, robótica e outros projetos. Os pinos não são tão intimidantes quanto você pode pensar, uma vez que são quebrados e explicados.

Uma introdução aos alfinetes do Raspberry Pi

O termo GPIO (General Purpose Input Output) não é exclusivo do Raspberry Pi. Os pinos de entrada e saída podem ser encontrados na maioria dos microcontroladores, como Arduino, Beaglebone e outros. O GPIO com o Raspberry Pi é o longo bloco de pinos no canto superior esquerdo da placa. Os modelos mais antigos tinham 26 pinos e os modelos atuais têm 40 pinos. Você pode conectar componentes e outros dispositivos de hardware a esses pinos e usar código para controlar o que os componentes fazem. É uma parte importante do Raspberry Pi e uma excelente maneira de aprender sobre eletrônica. Depois de alguns projetos de software, você provavelmente se verá experimentando esses pinos, ansioso para misturar seu código com hardware para fazer as coisas acontecerem na vida real. Esse processo pode ser intimidante se você for novo no Pi. Considerando que um movimento em falso pode danificar seu Raspberry Pi, é compreensível que seja uma área nervosa a ser explorada por iniciantes. Este artigo explica o que cada tipo de pino GPIO faz e suas limitações.

O GPIO

Primeiro, vamos dar uma olhada no GPIO como um todo. Os pinos podem ter a mesma aparência, mas todos têm funções diferentes. A imagem abaixo mostra essas funções em cores diferentes.

Diagrama de sequência de pinos Raspberry Pi GPIO

Cada pino é numerado de 1 a 40, começando no canto esquerdo inferior. Estes são os números físicos dos pinos. No entanto, também existem convenções de numeração e rotulagem, como BCM, que são usadas ao escrever o código.

Força e Terra

Destacados em vermelho estão os pinos de alimentação identificados como 3 ou 5 para 3,3V ou 5V. Esses pinos permitem que você envie energia a um dispositivo sem a necessidade de qualquer código. Não há como desligar isso também.

Os pinos de aterramento e força Raspberry Pi GPIO

Existem dois barramentos de alimentação: 3,3 volts e 5 volts. O trilho de 3,3 V é limitado a um consumo de corrente de 50 mA. Em contraste, o barramento de 5 V fornece qualquer capacidade de corrente que sobrou da fonte de alimentação depois que o Pi pegou o que precisava. Destacado em marrom são os pinos de aterramento (GND). Esses pinos de aterramento são uma parte vital de qualquer projeto eletrônico. Os pinos GPIO de 5V são os números físicos 2 e 4. Os pinos GPIO de 3,3V são os números físicos 1 e 17. Os pinos GPIO de aterramento são os números físicos 6, 9, 14, 20, 25, 30, 34 e 39.

Pinos de entrada / saída

Os pinos verdes são pinos de entrada / saída genéricos. Eles podem ser facilmente usados ​​como entradas ou saídas sem entrar em conflito com outras funções, como I2C, SPI ou UART. Esses pinos podem enviar energia para um LED, campainha ou outros componentes, ou podem ser usados ​​como uma entrada para ler sensores, interruptores ou outros dispositivos de entrada.

Pinos de entrada e saída Raspberry Pi GPIO

A potência de saída desses pinos é de 3,3V. Cada pino não deve exceder 16mA de corrente, tanto na saída quanto na fonte. Todo o conjunto de pinos GPIO não deve exceder mais de 50mA ao mesmo tempo. Isso pode ser restritivo, então você pode ter que ser criativo em certos projetos. Os pinos GPIO genéricos são os números físicos 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 e 40.

Pins I2C

Os pinos I2C são amarelos. I2C é um protocolo de comunicação que permite que dispositivos se comuniquem com o Raspberry Pi. Esses pinos também podem ser usados ​​como pinos GPIO genéricos.

Pinos GPIO Raspberry Pi I2C

Um bom exemplo de uso de I2C é o popular chip expansor de porta MCP23017, que pode fornecer mais pinos de entrada / saída por meio deste protocolo I2C. Os pinos I2C GPIO são os pinos físicos de número 3 e 5.

Pinos UART (série)

Os pinos UART estão em cinza. Esses pinos são outro protocolo de comunicação que oferece conexões seriais e podem ser usados ​​como entradas / saídas GPIO genéricas.

Pins Raspberry Pi GPIO UART

Um uso do UART é permitir uma conexão serial de um Pi a um laptop por USB. Isso pode ser feito usando placas adicionais ou cabos simples. Ele elimina a necessidade de uma tela ou conexão com a Internet para acessar seu Pi. Os pinos UART GPIO são números de pinos físicos 8 e 10.

Pinos SPI

Os pinos SPI são em rosa. SPI é um barramento de interface que envia dados entre o Pi e outro hardware e periféricos. É comumente usado para encadear dispositivos como uma matriz de LED ou display.

Pins Raspberry Pi SPI GPIO

Como outros, esses pinos também podem ser usados ​​como entradas / saídas GPIO genéricas. Os pinos SPI GPIO são os pinos físicos de número 19, 21, 23, 24 e 26.

Pinos DNC

Por último estão dois alfinetes em azul que atualmente são rotulados como DNC, que significa Do Not Connect. Isso pode mudar no futuro se a Raspberry Pi Foundation alterar as placas ou o software.

Pinos GPIO Raspberry Pi DNC

Os pinos DNC GPIO são os pinos físicos 27 e 28.

Convenções de numeração GPIO

Ao codificar com o GPIO, você tem a opção de importar a biblioteca GPIO de uma das duas maneiras: BCM ou BOARD. A primeira opção é GPIO BCM. Esta é a convenção de numeração da Broadcom. É comumente usado em projetos e complementos de hardware. A segunda opção é GPIO BOARD. Este método usa os números físicos dos pinos, o que é útil ao contar os pinos. Você descobrirá que ele é menos usado em exemplos de projetos.

Raspberry Pi Portsplus

O modo GPIO é definido ao importar a biblioteca GPIO: import RPi.GPIO as GPIO

Para importar como BCM: GPIO.setmode (GPIO.BCM)

Para importar como BORDA: GPIO.setmode (GPIO.BOARD)

Ambos os métodos fazem o mesmo trabalho. É uma questão de preferência de numeração. Você pode usar placas de etiqueta GPIO, como o RasPiO Portsplus (foto) para verificar a quais pinos você está conectando os fios. Um lado mostra a convenção de numeração BCM. O outro mostra BOARD. Portanto, você está coberto para qualquer projeto que encontrar.