¿Cómo funciona esta N-key-rollover?

1

Estoy diseñando un teclado. Encontré información en línea sobre cómo hacer que el teclado pueda detectar varias pulsaciones de teclas al mismo tiempo (N-key-rollover).

Encontré este esquema, de este sitio web .

El sitio web dice que A y B son las dos entradas, y 1 y 2 son las dos salidas. Elegiría A, luego leería los valores en 1 y 2, y por lo tanto sabría qué teclas se presionan actualmente, luego hago lo mismo con B.

Los diodos son para prevenir pulsaciones falsas positivas. El sitio web explica esto con más detalle.

Lo que no entiendo es cómo 1 o 2 serían altos. Supongamos que A es alto y que el interruptor inferior izquierdo está cerrado, seguramente su diodo aún se opone al flujo de corriente, ¿verdad? ¿Cómo fluiría cualquier corriente a 2?

¿Esto es una cuestión de flujo de corriente convencional vs. electrón? Porque eso siempre me confunde, pero simplemente no puedo resolver esto.

EDIT , esto está activo bajo.

    
pregunta Jacob Garby

1 respuesta

1

Se requiere una resistencia de pull-up en ambos pines 1 y 2. Esto hará que los pines de salida salgan débilmente. Además, A y B se manejan alto o bajo dependiendo de la columna que desee escanear: conducir bajo habilita una columna, conduciendo alto deshabilitado una columna.

Si la entrada A, por ejemplo, se activa a nivel bajo, y las salidas 1 y 2 tienen una resistencia débil, entonces básicamente tiene un circuito que no es más que dos botones pulsadores. Puede leer los valores de 1 y 2 para ver si el botón está presionado o no.

Si la entrada B es baja, nuevamente tiene dos botones pulsadores que pueden verificarse leyendo 1 y 2. Nuevamente, las salidas son impulsadas débilmente por resistencias.

Al intercambiar constantemente entre B y A siendo reducido, puedes leer los cuatro botones usando dos pines.

Los diodos evitan que los botones en la columna B se registren si presiona varios botones simultáneamente (por ejemplo, al presionar todo A1, B1, A2 al mismo tiempo haría que B2 bajara).

La razón por la que no se muestran las resistencias de pull-up es que típicamente están presentes internamente en el microcontrolador que se usa para leer la matriz.

    
respondido por el Tom Carpenter

Lea otras preguntas en las etiquetas