Na maioria dos exemplos que eu vi dos botões de fiação nas entradas GPIO, o botão é conectado para que, quando fechado, um circuito seja concluído entre o pino e o terra, produzindo uma entrada baixa no pino. Um resistor de pull-up é usado para padronizar o valor de entrada para alto. O código no Pi pode então detectar baixo com o pressionar de um botão.
Eu conectei os botões a + 3.3v, então o sinal é alto, pois isso parece fazer mais sentido e mantém o código mais lógico, mas deve haver uma razão para a maioria das pessoas preferir a conexão ao terra. Quais são as vantagens?
gpio
electronics
howard10
fonte
fonte
Respostas:
Uma das principais razões pelas quais os botões de fiação e a lógica do GND são favorecidos (e copiados em toda a Internet) é devido à otimização da energia.
Em circuitos complexos ou que dependem de baterias, esse poder é muito precioso.
Outras razões incluem baixa geração de campos eletromagnéticos. Em dispositivos sem fio, a extração lógica alta causará interferência desnecessária em receptores de RF extremamente sensíveis. Nesses transceptores, existe um plano GND usado para filtrar o ruído e é para onde toda a lógica é reduzida. O processador usa o plano GND para filtrar os ruídos de comutação.
fonte
0v = 0watts
uso, mas puxar um alfinete para cima>0watts
- qualquer tipo, micro, milli, nano, não importa. Como mencionado, na energia da bateria, cada nano watt ajuda. Mas, como já respondemos aqui ... no USB, isso não significa nada. Estou enganado?Existem razões históricas complexas pelas quais os engenheiros elétricos geralmente puxam as entradas para o alto com resistores e usaram interruptores para aterrá-las.
No entanto, esses motivos não são particularmente relevantes para o uso do Raspberry Pi no hobby. Use o que fizer sentido para você.
Se você estiver produzindo um produto comercial ou quiser que seu design seja um pouco melhor, você escolherá pull-ups com uma chave de aterramento pelos seguintes motivos práticos:
fonte
Estritamente não há necessidade de um resistor de pull-up, o BMC GPIO possui resistores de pull-up internos que são ativados quando programados como uma entrada, embora não causem danos.
Não é recomendável conectar um pino GPIO diretamente ao 3V3 ou ao GND. O GPIO é bidirecional e, se programado como uma entrada, isso não causaria problemas. Por outro lado, se programado como uma saída fará com que a corrente excessiva seja consumida.
Um bom projeto (seguro) usaria um resistor em série (1 kΩ) em série com o botão para limitar a corrente. Pelas razões apresentadas por Adam Davis, é preferível conectar o botão ao terra e localizar o resistor de proteção próximo ao pino GPIO.
fonte
Eu não acho que há uma razão para preferir um sobre o outro no RPi. A maioria das pessoas provavelmente está apenas copiando ou portando os circuitos que já viu em outros lugares.
Ao conectar o circuito (com fios ou PCB), basta escolher o que for mais conveniente e traduzi-lo para o significado correto no seu software.
fonte
Nos velhos tempos do TTL, era muito mais atual puxar um pino para baixo do que puxá-lo para cima. Portanto, um resistor de pullup pode ter uma resistência mais alta (e, portanto, menos desperdício de energia) do que um resistor de pulldown. Não importa com o CMOS moderno, mas os velhos hábitos são difíceis.
fonte
Conectar o pino ao terra com um resistor de pullup interno significa que você usa menos peças. Tudo que você precisa é de um botão; não precisa de um resistor externo para limitar a corrente.
fonte