
Teclado Membrana
- Teclas
- 4×4: 16 (0 a 9, A a D, * y #) · 4×3: 12 (0 a 9, * y #)
- Pines
- 4×4: 8 (4 filas y 4 columnas) · 4×3: 7 (4 filas y 3 columnas)
- Orden de los pines
- Primero las filas y luego las columnas, de izquierda a derecha con las teclas hacia ti
- Conector
- Cinta flexible con conector hembra de 2,54 mm
Características
Teclado matricial de membrana, delgado y autoadhesivo, para ingresar números y opciones en proyectos con Arduino. Las teclas están en filas y columnas: al presionar una, se une una fila con una columna y el Arduino detecta cuál fue.
Hay dos versiones: la 4×4 con 16 teclas (incluye A, B, C y D) y la 4×3 con 12 teclas, como la de un teléfono.
| Teclas | 4×4: 16 (0 a 9, A a D, * y #) · 4×3: 12 (0 a 9, * y #) |
|---|---|
| Pines | 4×4: 8 (4 filas y 4 columnas) · 4×3: 7 (4 filas y 3 columnas) |
| Orden de los pines | Primero las filas y luego las columnas, de izquierda a derecha con las teclas hacia ti |
| Conector | Cinta flexible con conector hembra de 2,54 mm |
| Montaje | Adhesivo en la parte de atrás |
¿Para qué sirve?
- Cerraduras y alarmas con clave
- Menús y ajustes en proyectos con pantalla
- Calculadoras y máquinas expendedoras de práctica
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| cafe | 1: fila 1 | D9 | |
| rojo | 2: fila 2 | D8 | |
| naranja | 3: fila 3 | D7 | |
| amarillo | 4: fila 4 | D6 | |
| verde | 5: col. 1 | D5 | |
| azul | 6: col. 2 | D4 | |
| morado | 7: col. 3 | D3 | |
| gris | 8: col. 4 | D2 | Solo en el 4×4 |
Código de prueba
Instala desde el Gestor de librerías del IDE de Arduino: Keypad (de Mark Stanley y Alexander Brevig)
// Prueba del teclado de membrana: muestra en el Monitor serie la tecla presionada.
// Está hecho para el 4x4; para el 4x3 sigue los comentarios.
#include <Keypad.h>
const byte FILAS = 4;
const byte COLUMNAS = 4; // 3 en el teclado 4x3
char teclas[FILAS][COLUMNAS] = {
{'1', '2', '3', 'A'}, // en el 4x3 borra la última columna (A, B, C y D)
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte pinesFilas[FILAS] = {9, 8, 7, 6}; // pines 1 a 4 del teclado
byte pinesColumnas[COLUMNAS] = {5, 4, 3, 2}; // pines 5 a 8 (en el 4x3: {5, 4, 3})
Keypad teclado = Keypad(makeKeymap(teclas), pinesFilas, pinesColumnas, FILAS, COLUMNAS);
void setup() {
Serial.begin(9600);
}
void loop() {
char tecla = teclado.getKey();
if (tecla) {
Serial.print("Tecla: ");
Serial.println(tecla);
}
}
Abre el Monitor serie a 9600 baudios y presiona las teclas. Si una fila o columna no responde, revisa que el conector esté bien metido y que el orden de los pines coincida con el código.
Precauciones
- No dobles la cinta en ángulo cerrado: sus pistas se cortan.
- Pégalo sobre una superficie limpia y plana; una vez pegado no se puede despegar bien.
- Presiona con el dedo, no con objetos con punta.
- Evita los pines 0 y 1 del Arduino: se usan para subir el código.
Fuentes consultadas: ShillehTek: teclado de membrana 4×4 · ShillehTek: teclado de membrana 4×3 · Wokwi: teclado de membrana. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.