Teclado Matricial 4x3
- Teclas
- 12 (0 a 9, * y #), de plástico
- Matriz
- 4 filas × 3 columnas (7 pines útiles)
- Conexión
- Agujeros en la placa para soldar pines de 2,54 mm
- Orden de los pines
- Cambia según el fabricante; el código de prueba lo descubre
Características
Teclado matricial de 12 teclas (0 a 9, * y #) con teclas de plástico, más resistente que el de membrana, montado sobre una placa con agujeros para soldar pines. Las teclas están en 4 filas y 3 columnas: al presionar una se unen el pin de su fila y el de su columna, y el Arduino detecta cuál fue.
Sirve para cerraduras con clave, alarmas, menús y calculadoras.
| Teclas | 12 (0 a 9, * y #), de plástico |
|---|---|
| Matriz | 4 filas × 3 columnas (7 pines útiles) |
| Conexión | Agujeros en la placa para soldar pines de 2,54 mm |
| Orden de los pines | Cambia según el fabricante; el código de prueba lo descubre |
¿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 | Pin 1 | D2 | El de la izquierda, con las teclas hacia ti |
| rojo | Pin 2 | D3 | |
| naranja | Pin 3 | D4 | |
| amarillo | Pin 4 | D5 | |
| verde | Pin 5 | D6 | |
| azul | Pin 6 | D7 | |
| morado | Pin 7 | D8 | |
| gris | Pin 8 | D9 | |
| blanco | Pin 9 | D10 |
Código de prueba
// Prueba del teclado matricial de plástico: el orden de sus pines cambia
// según el fabricante, así que este código descubre qué 2 pines une cada tecla.
const byte TOTAL = 9;
const byte PINES[TOTAL] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; // pines 1 a 9 del teclado
void setup() {
Serial.begin(9600);
for (byte i = 0; i < TOTAL; i++) pinMode(PINES[i], INPUT_PULLUP);
Serial.println("Presiona las teclas de una en una...");
}
void loop() {
for (byte a = 0; a < TOTAL; a++) {
pinMode(PINES[a], OUTPUT); // pone un pin en 0 V...
digitalWrite(PINES[a], LOW);
for (byte b = a + 1; b < TOTAL; b++) {
if (digitalRead(PINES[b]) == LOW) { // ...y busca qué otro pin baja con él
Serial.print("La tecla une el pin ");
Serial.print(a + 1);
Serial.print(" con el pin ");
Serial.println(b + 1);
while (digitalRead(PINES[b]) == LOW) {} // espera a que la suelten
delay(50); // evita rebotes
}
}
pinMode(PINES[a], INPUT_PULLUP);
}
}
Abre el Monitor serie a 9600 baudios y presiona cada tecla. Las teclas de una fila (1, 2 y 3) comparten un pin y las de una columna (1, 4, 7 y *) comparten otro: así sabes cuáles pines son filas y cuáles columnas. Luego usa la librería Keypad, como en la ficha del teclado de membrana. Si tu teclado tiene menos pines, deja libres los últimos.
Precauciones
- Evita los pines 0 y 1 del Arduino: se usan para subir el código.
- Suelda los pines rápido y sin exceso de calor, para no dañar la placa.
- Si una tecla no aparece en el Monitor serie, revisa la soldadura de sus dos pines.
Fuentes consultadas: Core Electronics: teclado matricial 3x4 · Adafruit: guía de teclados matriciales · Foro de Arduino: teclado 3x4. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.