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 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 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 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,
Rse 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.