O que é GPIO e para que você pode usá-lo?

Closeup de conectores goldpin em um computador Raspberry Pi 4.
mattcabb/Shutterstock.com

Se você possui um Raspberry Pi ou outro computador amador semelhante, deve ter notado que ele possui um recurso GPIO (General-Purpose Input-Output). A maioria dos usuários nunca usará o GPIO, mas se você quiser construir coisas, o GPIO é essencial.

GPIO é um conjunto de pinos

No nível mais básico, GPIO refere-se a um conjunto de pinos na placa-mãe ou placa adicional do seu computador. Esses pinos podem enviar ou receber sinais elétricos, mas não são projetados para nenhum propósito específico. É por isso que eles são chamados de IO de “propósito geral”.

Isso é diferente dos padrões de porta comuns, como USB ou DVI . Com esses cabos, cada pino conectado dentro da conexão tem uma finalidade designada, que é determinada pelo órgão regulador que criou o padrão.

O GPIO coloca você no comando do que cada pino realmente faz. Embora ainda existam diferentes tipos de pinos no array GPIO.

Usando o Raspberry Pi como exemplo novamente, você encontrará alguns tipos de pinos:

  • Pinos que fornecem energia em voltagens típicas, como 3,3 V ou 5 V. Isso serve para alimentar dispositivos conectados que não possuem fonte de alimentação própria, como um simples LED .
  • Pinos de aterramento que não fornecem energia, mas são necessários para completar alguns circuitos.
  • Pinos GPIO, que podem ser configurados para enviar ou receber sinais elétricos.
  • Pinos de propósito especial, que variam de acordo com o GPIO específico em questão.

As implementações de GPIO podem variar nos detalhes exatos por dispositivo, mas a ideia é sempre permitir que os usuários recebam ou enviem um sinal elétrico para quase tudo.

Recomendado:  Como usar o Google Assistente para realizar ações em aplicativos

Para que serve o GPIO?

O uso mais comum do GPIO é operar eletrônicos personalizados. Esteja você construindo seu próprio braço robótico ou uma estação meteorológica DIY, uma interface GPIO permite personalizar os sinais para que eles operem seu equipamento corretamente.

Computador de placa única Raspberry Pi conectado a uma placa de ensaio em um experimento de mesa.
Um projeto Raspberry Pi com uma placa de ensaio. goodcat/Shutterstock.com

As interfaces GPIO geralmente são usadas em conjunto com uma “breadboard”. Breadboards são um tipo de placa de circuito temporária. Você pode prototipar circuitos adicionando, removendo ou movendo componentes eletrônicos. Muitos projetos que envolvem dispositivos como um Raspberry Pi fazem você montar seu dispositivo em uma placa de ensaio e conectá-lo aos pinos GPIO usando fios.

Alguns kits avançados de Raspberry Pi vêm com uma placa de ensaio integrada, como o CrowPi 2 Laptop, que inclui um Raspberry Pi e mais sensores do que você pode usar.

Um dos projetos GPIO mais simples para computadores Raspberry Pi é adicionar um botão liga/desliga simples , que a placa padrão não possui.

Outro dispositivo popular que possui GPIO é o microcontrolador Arduino . Este não é um computador completo como um Raspberry Pi, mas sim um dispositivo projetado para ser programável especificamente para controlar outros equipamentos. Por exemplo, você pode conectar um sensor de luz a um Arduino e programá-lo para acender as luzes do jardim quando o sol se põe. Os Arduinos foram fundamentais para abrir o mundo da robótica e da invenção para pessoas que, de outra forma, não teriam os meios para entrar em engenharia e programação.

A Raspberry Pi Foundation tem seu próprio concorrente Arduino, na forma de $ 4 Pico . O Pico possui 30 pinos GPIO, alguns dos quais podem lidar com sinais analógicos, em vez dos pulsos digitais que são mais comuns.

Recomendado:  O que é a tecnologia XeSS da Intel e como ela funciona?

Como usar o GPIO

Além de conectar seus pinos GPIO às conexões corretas em sua placa de circuito externa ou dispositivos, seu computador ou microcontrolador precisa saber o que enviar por esses fios ou como entender os sinais que estão entrando na interface GPIO.

Isso significa que você precisa de software, que na maioria das vezes você precisa escrever! Em sistemas Raspberry Pi, é comum escrever software em Python que possa dizer ao controlador GPIO o que enviar ou ouvir os sinais que estão chegando. Afinal, “Pi” refere-se a Python !

Python em particular tem dois módulos conhecidos como Rpi.GPIO e Gpiozero . Ao invocar esses módulos, você pode assumir o controle do sistema GPIO e fazer com que ele faça seus lances.

Os microcontroladores Arduino possuem uma linguagem de programação própria , o que facilita particularmente a montagem de projetos. No entanto, você também pode usar uma versão especial do Python conhecida como MicroPython  .

Os perigos do GPIO

Quando você conecta um dispositivo USB a uma porta USB, usando um cabo USB certificado, há uma chance quase zero de que algo dê errado catastroficamente. Isso ocorre porque esses padrões de E/S foram cuidadosamente projetados, testados e testados um pouco mais para garantir que sejam seguros.

Quando se trata de GPIO, a responsabilidade pára com você. Você é quem está projetando sua interface e circuitos. Se você encurtar os pinos, conectar energia a coisas que não devem receber energia ou jogar rápido e solto com seus circuitos e conexões, você pode ter uma pilha de componentes mortos (e placas GPIO) em suas mãos. É por isso que você pode querer investir em um bom Raspberry Pi Kit , já que eles geralmente vêm com o hardware que você precisa e projetos práticos  para que você possa aprender as cordas com segurança.

Recomendado:  Como usar o comando dig no Linux