Descripción
Un teclado matricial es un dispositivo de entrada utilizado principalmente en maquinas, electrodomésticos y sistemas embebidos en donde se requiere un método para capturar información de bajo costo y fácil implementación.
El teclado está formado por un conjunto de interruptores o switches arreglados en forma de matriz, es decir, en una retícula de filas y columnas. La conexión de los interruptores se realiza de forma tal que se minimiza el número de conexiones requeridas para leer el estado de todos los interruptores que forman el arreglo.
En un teclado de membrana, los interruptores son “trazados” con material conductor sobre un material plástico flexible. El circuito permanece abierto mientras no exista una fuerza externa que cierre los contactos entre las capas de plástico flexible.
El teclado matricial funciona gracias a que al presionar una tecla se cierra la conexión entre un pin de fila y otro de columna, permitiendo localizar la tecla oprimida, normalmente se requiere de un sencillo software en un microcontrolador para identificar correctamente la tecla presionada.
La ventaja de utilizar este arreglo es que se requieren menos pines del microcontrolador que si conectáramos directamente todas las teclas a los pines de entrada/salida, sin embargo es necesario tener cuidado cuando se presionan varias teclas pues no se podrá identificar con precisión cuales son las teclas presionadas.
Debido a su construcción sumamente delgada, este tipo de teclados pueden ser adheridos sobre el panel frontal de un equipo electrónico para brindar un método de entrada económico e intuitivo.
Características y especificaciones
- Disponible en configuración de teclas 3×4 y 4×4
- Montaje de bajo perfil gracias a su superficie auto-adherente en la parte posterior
- Expectativa de vida mecánica / eléctrica: ~1,000,000 ciclos
- Conector con espaciado estándar de 2.54mm (0.1″)
- Dígitos y caracteres:
- Dígitos del 0 al 9, letras: A a D, símbolos: “#” y “*” en la versión de 16 teclas
- Digitos del 0 al 9 y símbolos: “#” y “*” en la versión de 12 teclas
- Longitud de cable de interfaz: 8.5 cm (incluyendo el conector)
- Voltaje máximo recomendado: 35 VDC
- Corriente máxima: 30 mA
- Resistencia de aislamiento: 100M Ohm, 100V
- Rigidez dieléctrica: 250 Vrms (60 Hz, 1 min)
- Duración de rebote en los contactos: <= 5 ms
- Temperatura de operación: 0 a 50 °C
- Dimensiones:
- Largo: 7.7 cm
- Ancho: 7.0 cm
- Alto: 0.08 cm
Conexión de un teclado matricial con Arduino
La conexión de un teclado matricial con Arduino es bastante sencilla, para el teclado de 4×4 se requieren 8 pines de entrada / salida. En las conexiones de las columnas debemos colocar resistencias pull-up o pull-down, ya se utilizando las internas del microcontrolador o agregándolas de forma externa.
El siguiente diagrama muestra cómo realizar la conexión con una tarjeta Arduino Uno R3 usando las resistencias pull-up internas, de esta forma se simplifica bastante la conexión.
Código de ejemplo en Arduino para teclado matricial 4×4
El siguiente ejemplo en Arduino muestra cómo realizar el barrido en las filas de un teclado matricial para determinar la tecla que se ha oprimido. El programa identifica la tecla y la muestra en el monitor serial de Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | /** Geek Factory - "Dale vuelo a tus proyectos" www.geekfactory.mx PROGRAMA DE PRUEBA PARA TECLADO MATRICIAL 4x4 DE 16 TECLAS CONSULTA EL ARCHIVO LICENCIA.TXT PARA CONOCER MÁS SOBRE LOS DERECHOS DE DISTRIBUCIÓN DE ESTE MATERIAL O LA SIGUIENTE URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO. PUBLICADO BAJO LICENCIA ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0). GEEK FACTORY INVIERTE TIEMPO Y RECURSOS EN DESARROLLAR ESTOS EJEMPLOS Y TUTORIALES. SI ENCUENTRAS ÚTIL ESTE CÓDIGO, CONSIDERA REALIZAR UNA COMPRA CON NOSOTROS. Resumen: Este programa permite identificar la tecla que se está pulsando en un teclado matricial de 4 filas y 4 columnas. La tecla detectada se envía al monitor serial para su visualización. */ // variables que almacenan los pines donde se conectan las filas y columnas const int rowpin[] = { 9, 8, 7, 6 }; const int colpin[] = { 5, 4, 3, 2 }; // mapa de caracteres que relaciona las filas y las columnas con el caracter que representan const char keymap[4][4] = { { '1', '2', '3', 'A' }, { '4', '5', '6', 'B' }, { '7', '8', '9', 'C' }, { '*', '0', '#', 'D' } }; /** Función setup: se ejecuta una vez cuando encendemos el arduino */ void setup() { // preparar la comunicación serial Serial.begin(9600); // iniciar los pines utilizados por el teclado for (int i = 0; i < 4; i++) { // configurar las filas como salidas pinMode(rowpin[i], OUTPUT); digitalWrite(i, HIGH); // y las columnas como entradas con resistencia pull-up internas pinMode(colpin[i], INPUT_PULLUP); } } /** Función loop: se ejecuta continuamente mientras el arduino permanece encendido */ void loop() { // este ciclo itera sobre los pines de cada fila for (int i = 0; i < 4; i++) { // enviar un nivel bajo al pin de fila actual digitalWrite(rowpin[i], LOW); // revisar el estado de los pines conectados a las columnas for (int j = 0; j < 4; j++) { // si hay un boton presionado el pin correspondiente cambiará a estado bajo if (digitalRead(colpin[j]) == LOW) { Serial.print(F("Se oprimió la tecla: ")); Serial.println(keymap[i][j]); } } // volver a poner la fila en estado alto digitalWrite(rowpin[i], HIGH); delay(10); } } |








Código de ejemplo en Arduino para teclado matricial 4×4


Valoraciones
No hay valoraciones aún.