INFORMACIÓN
El teclado matriz 1×4 de membrana es un dispositivo de entrada compuesto por cuatro botones alineados horizontalmente en una sola fila, encapsulados en una delgada y flexible membrana plástica. Cada botón del teclado cierra un circuito cuando se presiona, enviando una señal digital al microcontrolador o tarjeta de desarrollo a través de sus cuatro pines de salida. Su funcionamiento se basa en la detección de cambios en el estado lógico (alto o bajo) en cada pin, permitiendo identificar qué tecla fue presionada.
El teclado matriz 1×4 de membrana se utiliza comúnmente en proyectos electrónicos que requieren una interfaz sencilla para ingresar comandos o datos, como menús de navegación, selección de modos, control de accesos, ingreso de contraseñas o activación de funciones específicas. Gracias a su diseño delgado, flexible y resistente, se adapta bien a entornos donde el espacio es limitado o se necesita protección contra polvo y humedad. Este tipo de teclado es totalmente compatible con tarjetas de desarrollo como Arduino (Uno, Mega, Nano), ESP8266, ESP32, Raspberry Pi y otras plataformas basadas en microcontroladores que trabajen con señales digitales. Su conexión directa mediante pines lo hace fácil de integrar en prototipos o dispositivos portátiles.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Tipo: Teclado tipo membrana.
- Botones: 4 botones.
- Tamaño de la Matriz: 1×4 (1 Fila, 4 Columnas).
- Voltaje Máximo: 24 V.
- Corriente Máxima: 30 mA.
- Cable tipo ribbon incluido: Sí.
- Longitud: 87 mm.
- Tipo: Dupont Hembra.
- Pines: 5.
- Peach: 2.54 mm.
- Adhesivo: Si.
- Dimensiones: 100 mm x 70 mm x 4 mm.
- Peso: 2 g.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
¿Cómo funciona?
Estos dispositivos agrupan los pulsadores en filas y columnas formando una matriz, disposición que da lugar a su nombre. Es frecuente una disposición rectangular pura de NxM columnas, aunque otras disposiciones son igualmente posibles. Para detectar la pulsación de una tecla actuaremos de forma similar a la lectura simple de un pulsador. En resumen, ponemos a tierra un extremo del pulsador, y el otro lo conectamos a una entrada digital con una resistencia de pull-up. Para leer todas las teclas tendremos que hacer un barrido por filas. En primer lugar, ponemos todas las filas a 5 V, y definimos todas las columnas como entradas con resistencia de pull-up.
Progresivamente, ponemos una fila a 0 V, y leemos las entradas de la columna. Una vez realizada la lectura volvemos a ponerla a 5 V, pasamos a la siguiente fila, y volvemos a realizar el progreso hasta recorrer todas las filas.
¿Cómo se realiza la conexión de la Matriz 1×4 a Arduino Uno?
La conexión entre los pines y las teclas es como se muestra a continuación:
| Tecla | Contacto |
|---|---|
| 1 | Pin 5 y Pin 4 |
| 2 | Pin 5 y Pin 3 |
| 3 | Pin 5 y Pin 2 |
| 4 | Pin 5 y Pin 1 |

Posteriormente, se realiza la conexión de la matriz con Arduino UNO, la matriz cuenta con 5 conexiones de la siguiente manera:
| Pin Teclado | Pin Digital Arduino |
|---|---|
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| 4 | 5 |
| 5 | GND |

Después pasamos a realizar la conexión a nuestro para Arduino UNO, y realizar el código para poder programar la matriz
#define B1 2 //Conexión del pin1 del teclado al pin 2 del Arduino
#define B2 3 //Conexión del pin2 del teclado al pin 3 del Arduino
#define B3 4 //Conexión del pin3 del teclado al pin 4 del Arduino
#define B4 5 //Conexión del pin4 del teclado al pin 5 del Arduino
void setup() {
Serial.begin(9600); //Inicialización de los pines del teclado como entradas tipo PullUp}
pinMode(B1, INPUT_PULLUP);
pinMode(B2, INPUT_PULLUP);
pinMode(B3, INPUT_PULLUP);
pinMode(B4, INPUT_PULLUP);
}
void loop() { //lectura de los botones cuando sean presionados
int B1S = digitalRead(B1);
int B2S = digitalRead(B2);
int B3S = digitalRead(B3);
int B4S = digitalRead(B4);
//Valor asignado a cada botón del teclado, este se visualizara en el monitor serial del
//IDE de Arduino
if (!B1S) {
Serial.println("1");
}
if (!B2S) {
Serial.println("2");
}
if (!B3S) {
Serial.println("3");
}
if (!B4S) {
Serial.println("4");
}
delay(100);
}























Valoraciones
No hay valoraciones aún.