3.9. Chaves e resistores de pull

A saída GPIO aciona hardware externo. A entrada GPIO é o oposto: a câmera lê a tensão em um pino e a reporta como 0 ou 1. O dispositivo de entrada mais simples é uma chave – e torná-la legível de forma confiável exige uma peça de eletrônica além da própria chave.

3.9.1. Chaves e entradas flutuantes

Uma chave é um contato mecânico: duas peças de metal que se tocam quando a chave está fechada e se separam quando está aberta. Eletricamente, esse é o dispositivo inteiro. Não há fonte de tensão dentro; uma chave sozinha fornece apenas “conectado” ou “desconectado”.

Ligar uma chave diretamente entre um pino GPIO e o terra significa que o pino está:

  • Em 0 V quando a chave está fechada (agora ligada ao terra).

  • Flutuante quando a chave está aberta (ligada a nada).

Um pino flutuante não tem tensão definida. A entrada lê o que quer que esteja por perto – diafonia de sinais próximos, ruído da alimentação, até mesmo estática de um dedo perto do fio. value() retorna misturas imprevisíveis de 0 e 1 muitas vezes por segundo.

3.9.2. Resistores de pull-up e pull-down

A solução é um resistor de pull: um resistor de valor alto (10 kΩ a 100 kΩ é típico) que prende a entrada a um trilho conhecido quando a chave está aberta.

Dois diagramas de circuito lado a lado. À esquerda: um circuito de pull-up com um resistor do pino de entrada até a alimentação e uma chave do pino de entrada até o GND. À direita: um circuito de pull-down com um resistor do pino de entrada até o GND e uma chave do pino de entrada até a alimentação.

Configurações de pull-up (esquerda) e pull-down (direita) para uma entrada de chave.

  • Pull-up. O resistor prende a entrada ao trilho de alimentação. Quando a chave está aberta, apenas uma pequena corrente escorre pelo resistor e o pino lê nível alto. Quando a chave está fechada, ela curto-circuita o pino ao terra; o pino lê nível baixo. O resistor limita a corrente que, de outra forma, fluiria da alimentação para o terra através da chave fechada.

  • Pull-down. A imagem espelhada: o resistor prende a entrada ao terra, e a chave se conecta à alimentação. Aberta lê nível baixo, fechada lê nível alto.

O pull-up é a convenção mais comum – botões “ativos em nível baixo”. O próprio MCU fornece pull-ups e pull-downs internos que podem ser habilitados com Pin.PULL_UP ou Pin.PULL_DOWN, eliminando completamente o resistor externo.