Simulando una 'tecla de mayúsculas' sin usar relés

Hace años que no trabajo día a día con la electrónica y poco a poco estoy volviendo a la afición. Sin embargo, esta es una pregunta relacionada con una intersección de mis pasatiempos: la modificación de arcade stick y la electrónica.

Tengo un dispositivo con 4 botones para "funciones" como "Seleccionar", "Iniciar", etc. El problema es que olvidé 2 funciones, así que me faltan 2 botones.
Puedo resolver eso con una función similar a "cambio". Entonces 1 botón será 'shift', 3 botones con funciones + 3 shift+button = 6 botones.

Los PCB de arcade stick con tierra común simplemente cierran el suelo con un pin en la PCB para registrar la activación del botón, por lo que si puedo simular un relé NC/NO usando piezas más pequeñas, puedo hacer que funcione (el botón de cambio solo cerrará los contactos para un pasador diferente). La cuestión es que no quiero usar 4 relés enormes para hacer eso. Creo que eso significa que tengo que bajar los pines de la PCB, medí y tengo 3.3v entre GND y el pin de la PCB, así que tengo que encontrar una manera de generar 'tirones bajos' a partir de algo.

Tengo una línea VCC de 5v que puedo usar para cambiar algunos transistores, pero no puedo entender si/cómo puedo hacer que funcione con GND como la 'señal' para pasar.

Esto sería lo que haría usando un relé (por supuesto, eso es para un solo conjunto de botones, no para todos, necesitaría 3 relés para eso y estoy tratando de diseñar algo rápido y simple).

Así que me inclino ante ustedes, que son mucho más inteligentes y conocedores de la electrónica, para que me ayuden con eso.

¿A qué estás conectando el controlador modificado? por ejemplo, ¿Qué hay en el "PCB" en su pregunta?
Esquema o imagen del tablero. ¿Y a qué se conecta? ¿Es este un dispositivo oculto USB genérico o un desglose personalizado para una máquina recreativa?
No hay esquemas porque es un PCB de controlador personalizado (lo siento, simplemente lo llamamos PCB en la jerga del stick). No tengo esquemas de cómo funciona el interior. Además, no puedo actualizar un firmware personalizado porque no tenemos acceso a una fuente. Piense en ello como si fuera la PCB extraída de un joystick estándar.

Respuestas (1)

El cambio adicional no parece necesario.

Simplemente reciba los cuatro botones en su PCB, luego implemente las modalidades en el software/firmware:

A | B | C | D <-- Buttons (0=pressed, 1=open)
-------------
1 | 1 | 1 | 1 <-- Nothing pressed (idle)
0 | 1 | 1 | 1 <-- Button A
1 | 0 | 1 | 1 <-- Button B
1 | 1 | 0 | 1 <-- Button C
0 | 1 | 1 | 0 <-- Button Shift-A
1 | 0 | 1 | 0 <-- Button Shift-B
1 | 1 | 0 | 0 <-- Button Shift-C

El uso de conmutación de estado sólido (o un relé) aumentará el número de salidas en relación con las entradas. Si tiene un sistema con solo 4 botones de entrada (porque fue diseñado para funcionar con controladores de 4 botones), ¿dónde conectará las señales adicionales que generó?

Si su sistema original fue diseñado para recibir 6 botones, pero solo tiene 4 botones, entonces puede usar el enfoque de firmware sugerido o una solución de decodificador (por ejemplo, 74LS148) para implementar la transformación 4 -> 6.

Si desea detalles adicionales sobre este enfoque, proporcione más información sobre a qué está conectando el controlador modificado y lo elaboraré adecuadamente.

Lo siento, en realidad está diseñado con muchas más entradas que botones, simplemente decidí (erróneamente) proporcionarle 4 botones frontales (pero la placa del controlador tiene entradas para mucho más). Verificaré la idea del decodificador, parece ser la mejor manera de hacerlo (no puedo cambiar el firmware).
Así que creo que puedo resolver eso con un demux analógico como este sparkfun.com/products/9056 ya que funciona como un interruptor. Puedo conectar todos mis 4 botones a 5v y a las entradas 0-4, la E/S común a GND y usar la combinación de botones para conectar el común a los pines de PCB que necesito. ¿Necesito resistencias desplegables en esas entradas o funcionará con botones desconectando/configurando a 5v?
No necesita (y no quiere) un demux analógico. Son mucho más caros y (por lo general) no pueden llegar hasta la tierra/fuente. Modificaré la respuesta para mostrarle cómo usar un decodificador digital para lo que quiere.
Nueva idea, usando su sugerencia: conecte los interruptores en el riel de 5v y a las entradas en un 74LS154 (decodificador de 4 a 16), ya que el puerto seleccionado sale bajo, puedo usarlo para controlar un transistor PNP entre el puerto del joystick y tierra . ¿Probé esto en falstad y parece funcionar? Sin embargo, es posible que necesite una resistencia que suba o baje en alguna parte. ¿Era más o menos eso lo que tenías en mente, @drfriedparts?