Sempre que meu projeto com um Arduino ou um microcontrolador exigir o uso de um botão ligado em um de seus pinos, há a necessidade de um artifício que “engana” o pino quando da entrada ou saída de sinal. Esse artifício tem dois nomes: resistor de pull-up ou de pull-down. Como é de nosso conhecimento, os pinos desses componentes são a única maneira de comunicação com o mundo habitado por nós simples mortais. São eles que fornecem ou recebem os níveis de tensão e corrente para os quais foram projetados. Níveis HIGH (alto) ou LOW (baixo). Como eu disse, dependendo do circuito, pode haver ou não a necessidade de um botão de qualquer natureza. Junto com essa necessidade “entra” um dos resistores mencionados acima. As portas, simbolizadas pelo par terra/pino de saída (gnd/pino de saída), é o principal meio de comunicação com o mundo externo. Um botão qualquer, uma vez conectado e o pino ao qual ele está ligado for declarado no código que vai comandar o microcontrolador, sou obrigado, via de regra, a usar um dos resistores mencionados. Isso porque o botão ora estará aberto ora estará fechado. Caso eu não utilize esse resistor, quando essa comunicação é interrompida via botão, NA, por exemplo, a entrada estará suscetível a ruídos que podem levá-la a um dos dois níveis lógicos anteriores, afetando de alguma maneira o funcionamento do circuito. É necessário, portanto, ter alguém na porta para impedir a entrada de elementos estranhos. A figura 1 mostra a montagem dos circuitos com os respectivos resistores, sem a montagem dos componentes adicionais inerentes a cada projeto. Em outras palavras, sem os periféricos ligados a um dos botões escolhidos...