3.6. Fundamentos de eletrónica¶
Controlar qualquer componente externo a partir de um pino GPIO requer um circuito do outro lado do pino. Três conceitos básicos de eletrónica — tensão, corrente e a relação entre elas através de uma resistência — surgem em todos esses circuitos.
3.6.1. Tensão, corrente, resistência¶
A tensão (volts, V) é a diferença de potencial entre dois pontos num circuito. O rail de alimentação do chip pode estar a 3,3 V relativamente à massa; um pino GPIO colocado a nível alto encontra-se à mesma tensão de 3,3 V.
A corrente (amperes, A, ou miliamperes, mA) é o fluxo de carga através de um condutor. A corrente regressa sempre ao ponto de origem, pelo que, para que circule qualquer corrente, o circuito deve formar um caminho fechado desde a alimentação até à massa.
A resistência (ohms, Ω) representa a oposição do caminho a esse fluxo. O propósito de uma resistência é estabelecer a corrente num valor conhecido para uma tensão conhecida.
A lei de Ohm une-as:
A lei de Ohm nas suas três formas.¶
Por palavras: a tensão aos terminais de uma resistência é igual à corrente que a percorre multiplicada pela resistência. Conhecendo dois dos três valores, o terceiro obtém-se por álgebra.
3.6.2. Díodos¶
Um díodo é um componente de dois terminais que conduz corrente numa direção (do ânodo para o cátodo) e a bloqueia na direção oposta.
Um díodo conduz apenas do ânodo para o cátodo. Um LED é um díodo que emite luz enquanto conduz.¶
Um díodo tem também uma tensão direta (Vf) — a queda de tensão aos seus terminais quando a corrente flui no sentido de condução. Assim que a tensão aplicada atinge Vf, o díodo comporta-se aproximadamente como um fio; abaixo desse valor, praticamente não circula corrente.
3.6.3. LEDs¶
Um díodo emissor de luz (LED) é um díodo que converte a corrente de condução em luz visível ou infravermelha. O brilho escala com a corrente; a cor é definida pela composição química do LED, não pela forma como é acionado.
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 mais elevadas produzem mais brilho, mas reduzem a vida útil do LED e podem exceder o limite de carga do pino GPIO.
3.6.4. A resistência limitadora de corrente¶
Ligar um LED diretamente entre um pino GPIO e a massa permitiria a circulação de corrente praticamente ilimitada: quando a tensão direta é atingida, o LED comporta-se como um circuito quase em curto. Uma resistência em série entre o pino e o LED define a corrente num valor seguro.
Uma resistência em série define a corrente no LED.¶
A tensão de alimentação divide-se entre a resistência e o LED: o LED absorve a sua tensão direta e a resistência absorve o restante. Pela lei de Ohm:
R = (Vsupply - Vf) / If
Para um LED vermelho (Vf ≈ 2.0 V) alimentado a partir de um pino GPIO de 3,3 V a 10 mA:
R = (3.3 - 2.0) / 0.010 = 130 Ω
Na prática, escolha o valor padrão normalizado imediatamente superior (150 Ω ou 220 Ω). O resultado é um LED ligeiramente menos brilhante, mas com uma margem de segurança mais adequada. Utilize entre 200 – 470 Ω como valor predefinido razoável quando o brilho exato não é relevante.
3.6.5. Por que razão cada componente é importante¶
A estrutura de qualquer circuito de saída GPIO resulta dos quatro conceitos acima:
A tensão define a energia disponível no pino. Um GPIO de 3,3 V tem 3,3 V a distribuir pelo que estiver ligado entre ele e a massa.
Um díodo (um LED, neste caso) consome parte dessa tensão como queda direta e recusa conduzir na direção errada — define o sentido e a parcela fixa.
Uma resistência limitadora de corrente consome a tensão restante e transforma o orçamento disponível numa corrente controlada. Sem ela, o LED consumiria qualquer corrente que o pino conseguisse fornecer — normalmente suficiente para destruir um ou ambos.
A lei de Ohm é o que torna o valor da resistência calculável: dados a tensão residual e a corrente pretendida,
Robtém-se por álgebra.
Tensão, corrente, resistência, díodos e uma equação reorganizada são suficientes para projetar qualquer fase de saída GPIO básica.
As mesmas peças têm estado presentes no LED integrado desde o início. machine.LED("LED_RED").on() acende o LED porque a placa da câmara já inclui tudo à sua volta — a resistência limitadora de corrente, o fio à massa, o próprio LED — e a classe limita-se a comutar o GPIO do circuito integrado por detrás deles. A visão de «uma linha acende um LED» é verdadeira; é apenas uma forma abreviada de dizer «acionar esse circuito». Remove-se a abstração e o que resta é exatamente o circuito acima.
machine.Pin é o mesmo circuito integrado exposto sem as peças envolventes. O script controla diretamente a tensão do pino; cabe-lhe fornecer a resistência (dimensionada pela lei de Ohm), o LED e o caminho de retorno à massa. Os mesmos quatro conceitos reaparecem, em combinações ligeiramente diferentes, por detrás do debounce de interruptores, da filtragem PWM e do controlo de motores.