Cómo convertir un interruptor DIP en una matriz de valores lógicos

¿Hay una mejor manera de convertir un interruptor abierto/cerrado en un valor lógico (capaz o hundimiento o fuente de corriente) que no sea:

esquemático

simular este circuito : esquema creado con CircuitLab

Estoy jugando con interruptores DIP de 8 bits y me preguntaba si había algo mejor que 8 resistencias.

Nota: podría intercambiar las posiciones del interruptor y la resistencia, pero creo que esta disposición es mejor ya que el voltaje requerido para registrar un nivel alto suele estar más por debajo de Vcc que el voltaje requerido para registrar un nivel alto. low está por encima de GND, lo que permite una resistencia más grande y, por lo tanto, menos fugas.

¿Qué pasa con la escalera de 8 resistencias?
Bonito arte ASCII, pero hay un editor de esquemas integrado en el editor de preguntas. Edite su pregunta y presione CTRL+M para abrir el editor de esquemas.
Vea cómo se implementan las puertas lógicas usando MOSFETS. Obtendrás la idea.
Puede usarlo como entrada para un registro de desplazamiento si tiene pocos pines de entrada.

Respuestas (1)

Muchos microcontroladores contienen resistencias pull-up internamente (incluso Arduino). A menudo tiene que configurar sus pines para activarlos (por ejemplo, INPUT_PULLUP para Arduino), y una vez hecho esto, simplemente puede conectar su interruptor DIP al pin y a tierra. Además de la ventaja obvia de reducir su BOM, puede estar seguro de que R tendrá el valor correcto para su microcontrolador.

esquemático

simular este circuito : esquema creado con CircuitLab