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