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:

A triangle divided into three regions labelled V at top, I and R at the bottom; the rearranged forms V = IR, I = V/R, R = V/I appear around it.

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.

A diode schematic symbol -- a triangle pointing right into a vertical bar -- with anode marked on the left and cathode on the right. An LED variant adds two outward arrows next to the symbol indicating emitted light.

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.

A circuit: GPIO pin connects through a resistor R to the anode of an LED; the LED's cathode goes to ground. Labels mark Vsupply at the pin, V_R across the resistor, Vf across the LED, and the current If flowing around the loop.

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.