3.6. Fundamentos de eletrônica

Acionar qualquer coisa externa a partir de um pino GPIO exige um circuito do outro lado do pino. Três ideias da eletrônica básica – tensão, corrente e a relação entre elas por meio de um resistor – aparecem em todos esses circuitos.

3.6.1. Tensão, corrente, resistência

  • Tensão (volts, V) é a diferença de potencial entre dois pontos de um circuito. O trilho de alimentação do chip pode estar em 3,3 V em relação ao terra; um pino GPIO acionado em nível alto fica nos mesmos 3,3 V.

  • Corrente (ampères, A, ou miliampères, mA) é o fluxo de carga através de um fio. A corrente sempre retorna de onde veio, então, para que qualquer corrente flua, o circuito deve formar um laço completo da alimentação de volta ao terra.

  • Resistência (ohms, Ω) é o quanto o caminho resiste a esse fluxo. A finalidade de um resistor é fixar a corrente em um valor conhecido a uma tensão conhecida.

A lei de Ohm une as três:

Um triângulo dividido em três regiões rotuladas V no topo, I e R na parte inferior; as formas rearranjadas V = IR, I = V/R, R = V/I aparecem ao redor dele.

A lei de Ohm em suas três formas.

Em palavras: a tensão sobre um resistor é igual à corrente que passa por ele multiplicada pela resistência. Conhecendo quaisquer duas das três grandezas, obtém-se a terceira por álgebra.

3.6.2. Diodos

Um diodo é um componente de dois terminais que conduz corrente em uma direção (do anodo para o catodo) e a bloqueia na outra.

Um símbolo esquemático de diodo -- um triângulo apontando para a direita em direção a uma barra vertical -- com o anodo marcado à esquerda e o catodo à direita. Uma variante LED adiciona duas setas para fora ao lado do símbolo, indicando a luz emitida.

Um diodo conduz apenas do anodo para o catodo. Um LED é um diodo que emite luz enquanto conduz.

Um diodo também tem uma tensão direta (Vf) – a queda de tensão sobre ele quando a corrente flui na direção de condução. Quando a tensão aplicada atinge Vf, o diodo se comporta aproximadamente como um fio; abaixo dela, quase nenhuma corrente flui.

3.6.3. LEDs

Um diodo emissor de luz (LED) é um diodo que converte sua corrente de condução em luz visível ou infravermelha. O brilho varia com a corrente; a cor é definida pela química do LED, não pelo acionamento.

Tensões diretas típicas de LEDs:

  • Vermelho: 1,8 – 2,2 V

  • Verde ou amarelo: 2,0 – 2,4 V

  • Azul ou branco: 2,8 – 3,4 V

Uma corrente de operação útil para um LED indicador é de 5 – 20 mA. Correntes maiores deixam o LED mais brilhante, mas encurtam sua vida útil e podem exceder o limite de acionamento do pino GPIO.

3.6.4. O resistor limitador de corrente

Conectar um LED diretamente entre um pino GPIO e o terra deixaria fluir uma corrente praticamente ilimitada: uma vez atingida a tensão direta, o LED se comporta quase como um curto-circuito. Um resistor em série entre o pino e o LED fixa a corrente em um valor seguro.

Um circuito: o pino GPIO se conecta através de um resistor R ao anodo de um LED; o catodo do LED vai para o terra. Os rótulos marcam Vsupply no pino, V_R sobre o resistor, Vf sobre o LED e a corrente If fluindo ao redor do laço.

Um resistor em série fixa a corrente do LED.

A tensão de alimentação se divide entre o resistor e o LED: o LED consome sua tensão direta, e o resistor consome o restante. Pela lei de Ohm:

R = (Vsupply - Vf) / If

Para um LED vermelho (Vf 2.0 V) acionado a partir de um pino GPIO de 3,3 V em 10 mA:

R = (3.3 - 2.0) / 0.010 = 130 Ω

Na prática, escolha o valor padrão imediatamente superior mais próximo (150 Ω ou 220 Ω). O resultado é um LED ligeiramente menos brilhante, com uma margem de segurança mais saudável. Use de 200 – 470 Ω como padrão sensato quando o brilho exato não importa.

3.6.5. Por que cada peça importa

O formato de todo circuito de saída GPIO decorre das quatro ideias acima:

  • Tensão define a energia disponível no pino. Um GPIO de 3,3 V tem 3,3 V para gastar em tudo o que estiver ligado entre ele e o terra.

  • Um diodo (um LED, neste caso) consome parte dessa tensão como sua queda direta e se recusa a conduzir na direção errada – ele define o para que lado e a parcela fixa.

  • Um resistor limitador de corrente consome a tensão restante e transforma o orçamento que sobrou em uma corrente controlada. Sem ele, o LED puxaria toda a corrente que o pino conseguisse fornecer – normalmente o suficiente para destruir um ou ambos.

  • A lei de Ohm é o que torna o valor do resistor calculável: dadas a tensão restante e a corrente desejada, R se obtém por álgebra.

Tensão, corrente, resistência, diodos e uma equação rearranjada são suficientes para projetar todo estágio básico de saída GPIO.

As mesmas peças estiveram escondidas por trás do LED embarcado o tempo todo. machine.LED("LED_RED").on() acende o LED porque a placa da câmera já fornece tudo ao seu redor – o resistor limitador de corrente, o fio para o terra, o próprio LED – e a classe apenas comuta o GPIO do silício por trás deles. A visão de que “uma linha acende um LED” é verdadeira; é apenas uma forma curta de dizer “acione aquele circuito”. Remova a abstração e exatamente o circuito acima é o que resta.

machine.Pin é o mesmo silício exposto sem as peças ao redor. O script controla diretamente a tensão do pino; você fornece o resistor (dimensionado pela lei de Ohm), o LED e o caminho de retorno para o terra. As mesmas quatro ideias reaparecem, em combinações ligeiramente diferentes, por trás do debouncing de botões, da filtragem de PWM e do acionamento de motores.