¿Multiplexación LED y matriz de botones?

Solo tengo seis GPIO para controlar un zumbador piezoeléctrico y 6 LED y leer 6 botones... ¿
Funcionaría así la multiplexación de los 6 LED/botones en una matriz de 2x3 (es decir, 5 pines para los 6 LED y botones, un pin dedicado para el zumbador):

esquemático

simular este circuito : esquema creado con CircuitLab

Conducir los LED con multiplexación "regular", es decir, fila como salida alta, columna como salida baja. Escanear los botones configurando la fila como salida alta y la columna como entrada con menú desplegable.

Inconveniente: al presionar el botón, el LED se apaga, lo que aumenta la corriente; no será un problema con los LED de baja corriente.

¿Me estoy perdiendo de algo? ¿Se podría mejorar? ¿Hay implementaciones "allá afuera"?

¿Pregunta duplicada de hace unos minutos?
@AlmostDone El mismo problema original, pero un enfoque diferente, así que no.

Respuestas (1)

Escanear los botones configurando la fila como salida alta y la columna como entrada con menú desplegable.

Los LED aún estarían polarizados hacia adelante y podrían reconocerse como si se estuviera presionando un botón. Está en el límite de que esto funcionará de manera efectiva.

Cuando controle los LED, mantenga la fila como controlador y la columna como entrada (con un menú desplegable), pero cuando escanee los interruptores, invierta la polarización de los LED impulsando la columna hacia arriba y con un menú desplegable de 10k a 100k en las filas. (ahora configurado como entradas): -

Incluso podría poner un diodo en serie con los interruptores para evitar que el LED se "apague" cuando se presiona el interruptor. Claramente, cuando se escanean los interruptores, el LED se apaga durante un breve período de tiempo, pero esto debería pasar desapercibido si se escanean los interruptores o se activan los LED a un ritmo rápido.

ingrese la descripción de la imagen aquí

Debería funcionar a niveles lógicos tan bajos como 3,3 voltios, pero verifique que los límites altos del umbral de entrada en la hoja de datos no superen los 2,6 voltios.