Tudo o que você precisa saber sobre os pinos Raspberry Pi GPIO
Desde jogar até executar um sistema de entretenimento Kodi , há muito que você pode fazer com um Raspberry Pi. Mas você pode fazer ainda mais coisas se souber lidar com sua entrada-saída de uso geral (GPIO). Aqui está um guia para você começar a trabalhar com os pinos GPIO do Raspberry Pi!
O que são pinos Raspberry Pi GPIO?
Os pinos GPIO do Raspberry Pi são aqueles pinos de metal que se projetam de um lado, bem no oposto de onde ficam os conectores HDMI e de alimentação.
No entanto, nem todos esses pinos contam como “GPIO”. Entre eles, 26 podem ser configurados em pinos lógicos de entrada e saída. Esses são os pinos GPIO. O resto são pinos de energia.
Ao programá-los em pinos de entrada ou saída, você pode transformá-los em um computador lógico que pode ler entradas e mostrar saídas. Por exemplo, você pode conectar um pino de entrada a um circuito de botão e um pino de saída a um LED para que ele acenda sempre que o botão for pressionado.
Pinagem Raspberry Pi
Antes de poder programar cada pino em entradas e saídas, primeiro você precisa saber quais pinos são quais.
Cada pino no Raspberry Pi é numerado de 1 a 40. Se você olhar para o Raspberry Pi de forma que as portas USB apontem para o chão, o pino superior esquerdo deve ser o pino 1. O pino à direita é pino 2, e a contagem continua até chegar ao pino 40 no canto inferior direito.
Agora, os pinos a seguir não são GPIO – eles são pinos de alimentação que são constantemente carregados para gerar uma tensão (3v3 e 5V) ou destinados a receber tensão (Terra).
- 1 e 17 (3v3)
- 2 e 4 (5V)
- 6, 9, 14, 20, 25, 30, 34, 39 (Terreno)
Normalmente, você pode chamar esses pinos pelos seus nomes. Portanto, se você estava se referindo ao pino 7 como GPIO, pode simplesmente chamá-lo de pino 7. Isso é chamado de numeração da PLACA .
Por outro lado, você também pode chamá-los pela numeração individual baseada no chip processador dos periféricos. Isso é conhecido como numeração BCM e tem esse nome porque o chip que executa esses pinos pertence à família de processadores BCM.
Definir pinos de entrada e saída
Você pode programar os pinos GPIO do Raspberry Pi com Thonny, que é o editor Python padrão que vem com o sistema operacional Raspberry Pi.
O código a seguir define o pino 7 (GPIO 4) como pino de saída e o pino 8 (GPIO 14) como pino de entrada usando a numeração da PLACA.
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD) // Set BOARD numbering.
GPIO.setup(7, GPIO.OUT) // Set pin 7 as an output pin.
GPIO.setup(14, GPIO.IN) // Set pin 14 as an input pin.
GPIO.output(7, GPIO.HIGH) // Make pin 7 output 3 volts.
GPIO.input(8) // Reads whether there's electricity passing through pin 8. Returns either a True or False that you can use in an if statement.
GPIO.output(7, GPIO.LOW) // Make pin 7 stop outputting 3 volts.
Explicação do código
Para trabalhar com pinos GPIO, você precisará importar a biblioteca Raspberry Pi GPIO. Isso é feito digitando import RPi.GPIO as GPIO
.
Depois disso, você precisará definir o modo. Use GPIO.setmode(GPIO.BOARD)
para instruir o interpretador MicroPython a ler no modo BOARD. Ou use GPIO.setmode(GPIO.BCM)
para ler no modo BCM.
Para definir os pinos, você precisará usar a GPIO.setup(<pin>, <GPIO.OUT or GPIO.IN>)
função. São necessários dois argumentos. O primeiro é o número PIN baseado no modo de numeração selecionado anteriormente. O segundo é o estado, se você deseja defini-lo como um pino de saída GPIO.OUT
ou um pino de entrada com GPIO.IN
.
Em seguida, com os pinos de saída, você pode configurá-los para alto ou baixo usando o GPIO.output(<pin>, <GPIO.LOW or GPIO.HIGH>)
. Definir um pino de saída para HIGH carrega até 3 volts. Isso conta como “sim” ou “1” na lógica do computador. LOW faz o oposto, carregando-o até perto de 0 volts.
Por outro lado, você pode ler os valores dos pinos de entrada. Se receberem 3 volts, serão registrados como HIGH e retornarão um valor booleano com GPIO.input(<pin>)
. Booleanos são valores verdadeiros ou falsos. Você pode usar esses valores em loops while e instruções if para criar coisas lógicas ainda mais profundas com eles.
Conectando GPIO e pinos de alimentação a componentes periféricos
Os pinos GPIO no Raspberry Pi são conhecidos como pinos machos. Isso ocorre porque eles têm pontas de metal projetando-se em vez de uma bandeja de pinos como o Arduino Uno.
A maioria dos componentes de prototipagem vem com pinos macho para facilitar sua colocação em uma placa de ensaio. Você pode usar fios jumper macho-fêmea para conectá-los em uma placa de ensaio ou fios jumper fêmea-fêmea para conectá-los diretamente aos próprios componentes.
Além disso, na maioria dos componentes, às vezes você encontrará uma marcação “S”, “IN” ou “OUT” diretamente em seus pinos. Isso significa que o pino diretamente próximo a eles deve se conectar aos pinos GPIO. As marcações dependem do componente – muitos componentes nem mesmo os nomeiam assim porque possuem cerca de 3 a 9 pinos de sinal, entrada ou saída na placa.
Para saber qual pino deve ficar onde, você pode consultar sua “folha de dados”, que é o conselho do fabricante sobre como usar o componente e seus comportamentos esperados. Eles são específicos para um modelo ou marca, especialmente quando se trata de módulos que acomodam vários outros componentes em seu interior.
Cuidando dos pinos Raspberry Pi GPIO
Os pinos GPIO são sensíveis. É fácil quebrá-los se você não tomar cuidado.
Por um lado, você precisa ter certeza de que apenas fontes elétricas que funcionam com lógica de 3 volts se conectem a essas coisas. Aplicar 5 volts em qualquer pino GPIO é uma maneira de quebrá-los.
Outra coisa que pode quebrá-los é conectar um pino de saída diretamente a um pino de entrada, sem qualquer resistor ou componente entre eles. Embora a tensão permaneça a mesma, a corrente que flui do pino de saída pode danificar potencialmente o pino de entrada.
Assim que você aprender como usá-los corretamente, poderá fazer muitas coisas com um Raspberry Pi. Por um lado, você poderia conectar um motor DC a um e fazê-lo funcionar sobre rodas ou funcionar como um pequeno ventilador elétrico. E se você adicionar rodas, poderá até controlar um robô Raspberry Pi sem fio através de SSH em um banco de potência ! Esses pinos GPIO estendem os recursos do Raspberry Pi para coisas muito maiores do que seriam possíveis sem eles.
Crédito da imagem: Unsplash
Deixe um comentário