En el segundo enlace, verá que las líneas de entrada se elevan hasta + 5V. Esto le indica que las entradas están activas en nivel bajo, como también puede ver si mira el archivo keypad.cpp, asumo que está usando el Arduino de destino para leer el teclado.
// bitMap stores ALL the keys that are being pressed.
for (byte c=0; c<sizeKpd.columns; c++) {
pin_mode(columnPins[c],OUTPUT);
pin_write(columnPins[c], LOW); // Begin column pulse output.
for (byte r=0; r<sizeKpd.rows; r++) {
bitWrite(bitMap[r], c, !pin_read(rowPins[r])); // keypress is active low so invert to high.
}
// Set pin to high impedance input. Effectively ends column pulse.
pin_write(columnPins[c],HIGH);
pin_mode(columnPins[c],INPUT);
}
Usted puede salirse con transistores que conectan de forma selectiva las líneas de la columna a los pines de la fila, pero necesitan mirar la conexión cruzada: las columnas están estroboscópicas una por una para leer la matriz de teclas y la tabla resultante. de bits se traducen entonces en una pulsación de tecla. Dado que las columnas son bajas en momentos separados, debe asegurarse de que no haya una conducción cruzada para la columna que está baja mientras se está escaneando. Creo que eso es lo que quiere decir con "fugas de voltaje": los FET con polarización inversa se llevarán a cabo al diodo intrínseco del cuerpo, por lo que se necesitaría un diodo adicional. Parece que las salidas de las columnas subirán momentáneamente antes de abrirlas después de cada escaneo.
El siguiente problema será la sincronización, para detectar cuándo se ha escaneado una pulsación de tecla y para mantener las entradas en los valores correctos mientras eso ocurre, entonces supongo que el objetivo busca una no pulsación antes de buscar la siguiente llave Debería poder ver las tres salidas de columna con luz estroboscópica baja para cada ciclo de lectura con el segundo Arduino, y cronometrar la simulación clave a partir de eso. Una vez que esté viendo las salidas de la columna, también podría usar una rutina de interrupción que cambia las entradas de la fila al estado elegido directamente para cada carácter requerido, deberá verificar la sincronización de la luz estroboscópica para asegurarse de que es alcanzable en el tiempo disponible.