Active un interruptor SPDT analógico SOLAMENTE presionando un botón largo

0

Actualmente estoy trabajando en un proyecto en el que necesito que un interruptor SPDT analógico solo se active con una pulsación larga del botón.

En pocas palabras, estoy tratando de crear un módulo que pueda caber dentro de un Game Boy. Este módulo consistirá en el interruptor analógico y la parte de registro de botón largo. El interruptor debe activarse cuando se presiona uno de los botones existentes en la Game Boy durante un tiempo prolongado (digamos que la selección se mantiene durante 2-3 segundos). Luego, el interruptor activará un oscilador diferente y enviará una frecuencia más alta a la Game Boy, con un overclock. Tengo todo resuelto, pero el botón largo presiona algo (al menos eso creo).

Gracias de antemano por la ayuda, y perdón por mi conocimiento limitado en electrónica

    
pregunta BlindEye_Twin

1 respuesta

0

Eso será más difícil de lo que crees.

Por lo que recuerdo, los botones de gameboy están escaneados , es decir, el hardware activa un conjunto de fuentes de corriente en secuencia, y para cada uno de ellos verifica qué sumideros de corriente ven un flujo de corriente. p>

De esa manera, no necesita un pin para cada botón. Compare esquemas de ingeniería inversa.

Pero eso significa que ningún botón está "continuamente" dirigiendo la corriente si se presiona.

Entonces, tendrías que construir algo que "cuente" cuántas veces en un lapso de tiempo se ha cerrado un botón cada vez que había voltaje a través de él; Básicamente, haz lo mismo que el hardware de gameboy.

Ciertamente hay maneras inteligentes de hacerlo, pero seamos honestos aquí: la forma más fácil, y con una gran posibilidad, también la más compacta, sería un pequeño microcontrolador barato conectado para observar el voltaje a través de los diodos de matriz de botón (con alta impedancia, por supuesto).

Hacerlo tendría otro beneficio: en lugar de usar un interruptor analógico para cambiar los cristales (ni siquiera estoy seguro de que funcione; los interruptores analógicos tienen sus propias capacidades y comportamiento de fase, y su combinación de CPU + oscilador necesita una capacidad de carga específica para funcionar ), podría desoldar el cristal y reemplazarlo con un reloj diferencial generado por su microcontrolador; es totalmente factible utilizar el oscilador original (o uno compatible) para impulsar su microcontrolador. Eso usaría un múltiplo de la frecuencia del oscilador (por ejemplo, 16 veces la frecuencia del oscilador) para generar su reloj interno, y luego podría generar cualquier división de ese reloj con la unidad PWM incorporada que tiene básicamente cualquier microcontrolador.

Solución de tecnología más baja: utilice un relé / interruptor de relé para apagar los osciladores, y actúe con un imán externo.

    
respondido por el Marcus Müller

Lea otras preguntas en las etiquetas