
¿Qué es un Teclado Matricial 4×4?
Un teclado matricial 4×4 es un dispositivo que agrupa varios pulsadores y permite controlarlos empleando un número de conductores inferior al que necesitaríamos al usarlos de forma individual. Podemos emplear estos teclados como un controlador para un autómata o un procesador como Arduino.
Estos dispositivos agrupan los pulsadores en filas y columnas formando una matriz, disposición que da lugar a su nombre. Tiene una disposición rectangular pura de 4×4.
Indice del Artículo
El Teclado matricial se encuentra conformado por botones acomodados en 4 filas por 4 columnas, teniendo un total de 16 teclas, que nos permite agregar una entrada para de usuario para nuestros proyectos. Este teclado es de tipo membranal, por lo que contamos con la ventaja de su pequeño espacio para ser instalado, además de una cubierta adhesiva con un cable flexible de conexión. De esta forma podemos utilizar sus entradas para conectar este dispositivo a cualquier microcontrolador o tarjeta de desarrollo, como Arduino.
¿Cómo Funciona un Teclado Matricial 4×4?
Este teclado matricial 4×4 se encuentra formado por la matriz de pulsadores que se encuentran dispuestos en filas (L1, L2, L3 y L4), y las columnas (C1, C2, C3 y C4), esta organización es de acuerdo a reducir el número de pines requeridos para su conexión y programación. Los 16 botones necesitan sólo 8 pines del microcontrolador en lugar de 16 independientes. Para poder leer el botón que fue pulsado es necesario utilizar una técnica de barrido, no sólo leyendo el pin del microcontrolador.
En su aplicación con Arduino o cualquier otra plataforma de microcontroladores, el sistema de conectividad es simple, contamos con 8 pines digitales en total, además que puede trabajar con microcontroladores de 3.3 V y 5 V sin tener problema alguno.
Es necesario tener resistencias de modo pull-up entre los pines de las columnas y de voltaje (Vcc). También se pueden activar las resistencias mediante el software del Arduino. Para la programación, la lectura de las teclas debe desarrollarse realizando un barrido de las filas. La manera más eficiente del desarrollo en la programación, es generando un ciclo para realizar una interrupción del barrido mediante un TIMER. Asegurando la lectura de las teclas dentro de un intervalo conocido y exacto, y de esta manera tendremos el ciclo libre para realizar otras operaciones.
Ventajas y Desventajas
Desventajas:
- Una de las desventajas de usar un teclado matricial es que pueden causar problemas cuando se pulsa más de una tecla simultáneamente. Este es uno de los motivos por el que los teclados de ordenador usan una disposición no rectangular, agrupando ciertas teclas en circuitos diferentes (Ctrl, Alt, Shift…)
Ventajas:
- No se necesita ninguna librería externa para controlar el teclado.
- El .HEX generado al compilar es más pequeño, por lo que dispondremos de más memoria de programa en el PIC.
- Fácil implementación del código a través de interrupciones.
- Posibilidad de ampliar el teclado a uno de 32 teclas, (en el datasheet viene el esquema de cómo hacerlo).
- Utilización de menos patillas en el PIC, se puede controlar un teclado de 32 teclas con solo cinco pines del PIC.
Aplicaciones
Podemos emplear teclados matriciales en nuestros proyectos de electrónica y robótica, por ejemplo, para cambiar el modo de funcionamiento de un montaje, para solicitar un password, como teclas de dirección para controlar un brazo robótico o un vehículo, o proporcionar instrucciones a un robot.
Precio
El precio es de $25 pesos aproximadamente lo que es como un dólar. Se pueden conseguir en Mercado Libre.
Especificaciones del teclado matricial 4×4
- Contamos con 16 botones de organización matricial. (4 columnas, 4 filas).
- Teclado de tipo membranal.
- Máxima resistencia al agua y al polvo.
- Cuenta con un autoadhesivo en la parte trasera del teclado.
- El tiempo de rebote se encuentra en promedio de ≤5 ms.
- Máximo voltaje de operación: 24V DC.
- Máxima corriente de operación 30mA
- Resistencia de aislamiento de 100MΩ (@ 100 V).
- Voltaje de soporte del dieléctrico: 250 VRMS (@ 60Hz, por 1 min)
- Expectativa de vida útil : 1.000.000 de operaciones (pulsaciones).
- Dimensiones del teclado: 69*77mm
- Cable de cinta plana con longitud de 8.5 cm de largo aprox. (incluido con el conector)
- Conectores de tipo DuPont hembra de una fila y 8 contactos con separación estándar 0.1″ (equivalente a 2.54mm)
- Temperatura de operación óptima: 0 a 50 °C
Video de Proyecto con Teclado Matricial, Arduino, Servomotor y LCD
Práctica de Teclado Matricial
Materiales que necesitas:
- Arduino UNO.
- Protoboard.
- Display LCD 16×2.
- Cables jumper.
- Potenciómetro de 10KΩ.
- Resistencia de 220 Ω.
- Sensor de temperatura LM35.
En este programa se logrará que en la pantalla LCD aparezca el carácter de la tecla presionada en el teclado matricial.
Diagrama de Conexión:
/**********************************/ /* Empresa: Pygmalion */ /* Fecha: 11-07-2018 */ /* Nombre: Teclado matricial*/ /* Autor: Felipe Arias */ /**********************************/ #include <LiquidCrystal.h> //incluimos la libreria para trabajar con la pantalla LCD #include <Keypad.h> //incluir libreria para trabajar con teclado matricial //inicio del codigo necesario para trabajar con la libreria Keypad const byte filas = 4; //numero de filas const byte columnas = 3; //numero de columnas byte pinsFilas[filas] = {9, 7, 6, 5}; //pines donde van conectadas las filas byte pinsColumnas[columnas] = {4, 3, 2}; //pines donde van conectadas las columnas char teclas[filas][columnas] = //declaramos los caracteres que van en cada posicion fila-columna { {'1', '2', '3'}, //arreglo de la matriz del teclado {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; Keypad teclado = Keypad(makeKeymap(teclas), pinsFilas, pinsColumnas, filas, columnas); //creamos el objeto teclado //fin del codigo necesario para trabajar con la libreria Keypad char tecla; //variable donde almacenaremos el caracter de la tecla presionada LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);//declaramos los pines de la tarjeta a los que vamos a conectar el display en el siguiente orden: //(RS, E, D4, D5, D6, D7) void setup() { pinMode(A0, OUTPUT); //definimos los pines analogicos como salidas digitales pinMode(A1, OUTPUT); pinMode(A2, OUTPUT); pinMode(A3, OUTPUT); pinMode(A4, OUTPUT); pinMode(A5, OUTPUT); lcd.begin(16, 2); //tamaño (#columnas, #filas) de la pantalla LDC que voy a usar lcd.clear(); //limpiamos la pantalla LCD lcd.print("Tecla prosionada"); //imprimir el caracter almacenado en tecla } void loop() { tecla = teclado.getKey(); //guardamos el caracter de la tecla presionada if (tecla != NO_KEY) //si tecla es diferente de "no tecla"... (si se presiona una tecla) { lcd.setCursor(7, 1); //ubicamos el cursor en la (columna, fila) convenientemente lcd.print(tecla); //imprimir el caracter almacenado en tecla delay(500); } }
Arduino Mega
Arduino Mega
Arduino Promini
Arduino Promini
Arduino Leonardo
Arduino Leonardo
Arduino Nano
Arduino Nano
Arduino Micro
Arduino Micro
Arduino Uno
Arduino Uno
Arduino Mini
Arduino Mini
Síguenos en nuestras redes sociales y si te gustó el contenido deja un mensaje.