Respostas:
Você precisa de um resistor de puxar para cima ou para baixo em uma linha cujo nível de tensão, pelo menos às vezes, seja "imprevisível" - por exemplo, uma entrada flutuante, mas também uma linha I2C.
Se você deseja que o padrão da linha seja 1 digital, use um pull up. Se você deseja que seja um 0 digital, use um menu suspenso.
Um exemplo muito típico é um botão. Suponha que o software espere que um pino seja pressionado quando um botão for pressionado. No pino correspondente, você puxa para cima e o botão conecta o pino ao terra.
No layout final, também é altamente recomendável puxar todos os pinos não utilizados para o nível apropriado. Não os deixe desconectados, pois isso pode causar um comportamento imprevisível na hora de início ou durante o programa em execução.
Se você o puxa para cima ou para baixo, depende realmente de você e das necessidades do seu projeto.
Como mencionado anteriormente
Se seu código estiver sendo acionado em uma borda descendente ou a 0
, convém usar um pull up para manter o nível alto quando não for usado.
Se o seu código está procurando disparar em uma borda ascendente ou a 1
, convém usar um pull-down para manter o potencial em 0, mas sua fonte externa o puxa.
Agora, os resistores de tração devem ter um alto valor ôhmico, suficiente para superar o ruído que você precisa eliminar, mas não tão forte que seu soucre externo não possa superá-lo.
Geralmente, puxando para baixo, você economizará alguns mA de energia.
Digamos que temos um pull de 5k a 5v, ou seja, 1mA
por pino; ao ficar sem baterias, todo mA é precioso.
Quando puxamos para baixo, geralmente estamos apenas queimando o ruído EMF, consumindo um número insignificante de mAs.