6 votos

Cómo hacer un botón de activar su dirección binaria correspondiente

Tengo botones de salida de 15 y 4 entradas digitales. Como en la imagen: enter image description here cómo hacer cada botón activar su dirección correspondiente. Por ejemplo, al pulsar s3, quiero GND a entradas 0 y 1. Al pulsar s7, quiero GND a insumos 0,1 y 2.I tiene que hacerlo sin un botón de influir en el otro

12voto

GSerg Puntos 33571

La forma más directa de hacerlo es construir una matriz de diodos:

schematic

simular este circuito – Esquema creado mediante CircuitLab

Los diodos en cada columna directamente codificar la "dirección" del interruptor.

Tenga en cuenta que estoy suponiendo que los insumos lugar a un voltaje positivo si no esta conectado a tierra; es decir, que la fuente de corriente cuando conectado a tierra. (Agregar resistencias pull-up si es necesario). Si la tensión es negativa, entonces la inversa de la dirección de los diodos.

8voto

Callum Rogers Puntos 6769

Usted puede usar un par de 74LS148 codificadores como se muestra en su hoja de datos.

enter image description here

También hay construido con el propósito de fichas que escanear los botones conectados como una matriz como la 74C922

O si usted tiene la capacidad de programar uno, un pequeño ROM o FPGA puede hacerlo.

Hay otras formas que utilizan muchos de los diodos.

Sin embargo, su declaración de que "tienes que hacer esto sin un botón de influir en los demás" y comentarios implican que usted necesita la capacidad de detectar más de un botón que se presiona al mismo tiempo. Que es completamente distinta a la proposición.

En ese caso se necesita alguna forma de teclado escáner. Tal vez la comunicación a través de I2C como un TCA8418.

Otra alternativa es activar los botones en un rudimentario de digital a analógico convertidor y de alimentación que valor analógico a lo analógico a lo digital convertidor puede que tenga disponible. A pesar de tener 16 botones con ese método sería empujando esa técnica un poco.

ADEMÁS

Ya que es tan sólo 15 interruptores, otra forma de hacer esto es utilizar un registro de desplazamiento en lugar de una matriz. Eso significa que sólo necesita de tres pines del micro y un adecuado algoritmo para manipular el registro de desplazamiento.

Tipo de unidad: en Serie, en paralelo a cabo 74LS673: Alimentar a una salida de baja a través del registro de desplazamiento y de leer de nuevo el estado de la línea común.

enter image description here

Leer Tipo: Paralelo en serie a cabo 74LS674: la Carga de los interruptores en el registro de desplazamiento, todos los 16 interruptores conectados a 16 pullups, a continuación, paso alimentarse de la palabra de nuevo a la micro.

enter image description here

Creo que me gusta el segundo mejor ya que se puede agarrar el completo estado de conmutación en un momento en el tiempo.

Con todos estos que usted necesita para manejar rebote en el código.

6voto

transistor Puntos 2074

A partir de los comentarios:

Sí, a mis entradas ya están pull-up, el problema es que con este tipo de configuración sólo puedo reconocer una tecla a la vez, si puedo activar las teclas 1 y 2 al mismo tiempo, la entrada recibirá 3.

Suena como si usted necesita un teclado controlador de matriz.

enter image description here

Figura 1. El MM74C922 16-tecla de encoder.

  • El MM74C922 y MM74C923 (20-clave de la versión) proporcionar toda la lógica necesaria para totalmente codificar una matriz de SPST interruptores.
  • En el chip de pull-up de los dispositivos.
  • No diodos necesarios.
  • Interna de rebote con un solo condensador externo.
  • "Datos Disponibles" va alto cuando una entrada válida ha sido hecho.
  • De salida disponibles devuelve a un nivel bajo cuando la clave introducida es liberado - incluso si otro está deprimido. Los Datos Disponibles volverá alto para indicar la aceptación de la nueva clave normal después de un período de rebote. Este dos-key rollover es siempre entre dos interruptores.

Incluso se llega a ser capaz de detectar SW0 gracias a los Datos Disponibles de la señal!

enter image description here

Figura 2. MC74C922 interna esquemático.

Usted no será capaz de utilizar su terreno común a disposición de los interruptores, pero todos los otros posibles problemas serán solucionados.

2voto

transistor Puntos 2074

Una solución sencilla es conectar un diodo de cada entrada a cada interruptor que debe tirar de que la entrada de la baja.

schematic

simular este circuito – Esquema creado mediante CircuitLab

Figura 1. Un simple diodo disposición para codificar los botones.

Cómo funciona:

  • Pulsando el interruptor SW1 tira hacia abajo de IN0 sólo.
  • Pulsando SW2 tira hacia abajo IN1 sólo.
  • Pulsando SW3 tira hacia abajo tanto IN0 y IN1.
  • Pulsando SW4 tira hacia abajo IN2.
  • etc.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X