En la mayoría de los ejemplos que he visto de cableado de botones a entradas GPIO, el botón está conectado de modo que cuando está cerrado, se completa un circuito entre el pin y la tierra, produciendo una entrada baja en el pin. Se utiliza una resistencia pull-up para predeterminar el valor de entrada a alto. El código en el Pi puede detectar bajo como presionar un botón.
He estado conectando los botones a + 3.3v, por lo que la señal es alta, ya que parece tener más sentido y mantiene el código más lógico, pero debe haber una razón por la cual la mayoría de las personas favorecen la conexión a tierra. ¿Cuáles son las ventajas?
gpio
electronics
howard10
fuente
fuente
Respuestas:
Una de las razones principales por las que se favorece el cableado de los botones y la lógica a GND (y luego se copia en todo Internet) se debe a la optimización de la energía.
En circuitos complejos o circuitos que dependen de baterías, esta potencia es muy valiosa.
Otras razones incluyen baja generación de EMF. En dispositivos inalámbricos, la lógica de extracción alta provocará interferencias innecesarias en receptores de RF extremadamente sensibles. En dichos transceptores hay un plano GND que se utiliza para filtrar el ruido y aquí es donde se reduce toda la lógica. El procesador luego usa el plano GND para filtrar los ruidos de conmutación.
fuente
0v = 0watts
uso, pero tirar de un alfiler>0watts
, cualquier tipo, micro, milli, nano, no importa. Como se mencionó, con la energía de la batería, cada nanovatio ayuda. Pero como ya respondí aquí ... en USB no significa nada. ¿Estoy equivocado?Existen razones históricas complejas por las cuales los ingenieros eléctricos típicamente activaban las entradas con resistencias y usaban interruptores para conectarlas a tierra.
Sin embargo, estas razones no son particularmente relevantes para el uso hobby de la Raspberry Pi. Usa lo que tenga sentido para ti.
Si está haciendo un producto comercial, o desea que su diseño sea un poco mejor, elegirá pull-ups con un interruptor de conexión a tierra por las siguientes razones prácticas:
fuente
Estrictamente no hay necesidad de una resistencia pull-up, el BMC GPIO tiene resistencias pull-up internas que se activan cuando se programa como entrada, aunque no hace daño.
Es una mala práctica conectar un pin GPIO directamente a 3V3 o GND. El GPIO es bidireccional, y si se programa como una entrada, esto no causaría problemas. Por otro lado, si se programa como salida, se generará una corriente excesiva.
Un buen diseño (seguro) usaría una resistencia en serie (1 kΩ) en serie con el botón para limitar la corriente. Por las razones formuladas por Adam Davis, es preferible conectar el botón a tierra y ubicar la resistencia protectora cerca del pin GPIO.
fuente
No creo que haya una razón para preferir uno sobre el otro en el RPi. La mayoría de las personas probablemente solo están copiando o portando circuitos que han visto en otros lugares.
Al conectar el circuito (con cables o PCB) está bien elegir el que sea más conveniente y traducirlo al significado correcto en su software.
fuente
En los viejos tiempos de TTL se necesitaba mucha más corriente para bajar un pin que para subirlo. Por lo tanto, una resistencia pullup podría tener una mayor resistencia (y, por lo tanto, menos desperdicio de energía) que una resistencia pulldown. No importa con los CMOS modernos, pero los viejos hábitos son difíciles.
fuente
Conectar el pin a tierra con una resistencia pullup interna significa que usa menos piezas. Todo lo que necesitas es un botón; No necesita una resistencia externa para limitar la corriente.
fuente