Codificador rotatorio a 2 botones

0

Por favor, disculpe si esta pregunta es muy obvia. He buscado aquí, pero mi conocimiento de electrónica es muy básico.

Esto es lo que estoy tratando de hacer, he separado un viejo teléfono Android, que tiene 2 botones de montaje de superficie (subir / bajar volumen). Estoy tratando de integrar este teléfono en un estuche diferente para que pueda actuar como una unidad principal para un automóvil, y lo que me gustaría hacer es conectar un codificador rotatorio incremental a estos 2 botones, así que cuando lo gire en el sentido de las agujas del reloj, el botón para subir el volumen se 'presiona' y viceversa.

Estoy un poco perdido cuando se trata de codificadores rotatorios, he leído sobre el código gris y todo eso, pero admito que todavía estoy muy perdido.

    
pregunta Carlos B.

3 respuestas

1

Esto simula muy bien en LTspice:

ynecesitaráslossiguientesenlacesparaaccederalosarchivosquenecesitarásparaejecutarelsimulador.DescarguetodoslosarchivosenlamismacarpetayluegoinicieLTspicehaciendoclicconelbotónizquierdoenelarchivo.asc.

enlace enlace enlace enlace enlace

    
respondido por el EM Fields
2

simular este circuito : esquema creado usando CircuitLab

Figura 1. Formas de onda de codificador rotatorio de 2 bits.

Un codificador rotatorio funciona emitiendo un par de trenes de impulsos en cuadratura (90 ° de desplazamiento). Estos se utilizan para ejecutar un contador de arriba a abajo para realizar un seguimiento de la posición. Un algoritmo de control adecuado sería el siguiente:

  • Seguimiento del estado actual de 'A'. Si el estado cambia a 'alto', entonces:
  • Mira la entrada 'B'. Si 'B' es bajo, entonces cuenta. Si 'B' es alto, entonces haga una cuenta regresiva.

Para hacer que un codificador haga lo que desea, deberá agregar un poco de lógica para ver si cuenta hacia arriba (hacia la derecha) o hacia abajo (hacia la izquierda) y pase los pulsos a la entrada de botón adecuada. No tendrá que realizar un seguimiento del recuento real.

simular este circuito

Figura 2. Extracción de pulsos hacia arriba y hacia abajo.

Este esquema es para comenzar con una solución. Un flip-flop tipo CD4013 D actualizará sus salidas en cada transición de reloj positiva en función de la entrada 'D'. Dependiendo de la dirección de la rotación del codificador, Q o / Q (no Q) serán altos. Con AND (o NANDing) estas señales con A o B darán un tren de impulsos UP o DOWN.

Figura3.Extractodela hoja de datos de CD4013 .

Sus próximos problemas serán:

  • Cómo conectarlos con el teléfono. Eche un vistazo a los interruptores CD4016.
  • ¿Qué sucede si el codificador se detiene con UP o DOWN pegados? Esto puede no ser un problema si el codificador se alinea de forma consistente con una posición de activación o desactivación de uno de los contactos A o B.

A ti. Ya he terminado.

    
respondido por el Transistor
0

Lo que está describiendo podría ser simple si los botones de subir / bajar volumen operaran directamente el circuito del contador, pero es poco probable que lo hagan. Lo más probable es que los botones sean detectados por un software dentro del teléfono que intente hacer que la interfaz de usuario funcione de una manera que sería útil para un ser humano que opera los botones (por ejemplo, cuanto más tiempo se mantiene presionado un botón, más rápido se repite), pero lo haría. es más difícil de controlar electrónicamente.

Sugiero que el enfoque más confiable es probablemente usar un microcontrolador para enviar varias longitudes de pulsos de subida / bajada al teléfono a varias velocidades hasta que encuentre la velocidad más rápida a la que se pueden enviar pulsos y obtener un comportamiento predecible. . Luego, haga que el microcontrolador cuente cuántas veces se ha movido el codificador rotatorio hacia la izquierda o hacia la derecha, así como la cantidad de pulsos de subida y bajada que ha enviado, y envíe pulsos cada vez que los números no coincidan.

Esto será más difícil que usar un circuito simple, pero significará que girar la perilla cuatro clics hacia la derecha rápidamente tendrá el mismo efecto neto que girarlo cuatro relojes lentamente. Es probable que otros enfoques, en el mejor de los casos, produzcan un comportamiento equivalente a mantener presionado el botón de arriba mientras giras la perilla en el sentido de las agujas del reloj (pero ignorando la velocidad) o manteniendo presionado el botón de abajo mientras lo giras en la dirección de las agujas del reloj (nuevamente ignorando la velocidad). No es tan útil.

    
respondido por el supercat

Lea otras preguntas en las etiquetas