WhatsApp / Celular
+3116183653
0Item(s)
0 Items View Cart

No hay artículos en su carrito de compras.

Product was successfully added to your shopping cart.
Tutorial Teclado de Membrana

Tutorial Teclado de Membrana

Introducción

En este proyecto, aprenderemos a  integrar un teclado con una placa Arduino para que el Arduino puede leer las claves siendo presionados por un usuario. Los teclados se utilizan en todo tipo de dispositivos, incluyendo teléfonos celulares, máquinas de fax, horno microondas, hornos, cerraduras de puertas, etc, estan prácticamente en todas partes.

Por lo que conocer cómo conectar un teclado a un microcontrolador como un Arduino es muy valiosa para la construcción de muchos tipos diferentes de productos comerciales. Para este proyecto, el tipo de teclado que usaremos es un teclado matricial. Se trata de un teclado que sigue un esquema de codificación que permite que tenga menos pines de salida .Por ejemplo, el teclado matricial que utilizaremos utiliza 16 teclas (0-9, AD, *, #) y sin embargo, sólo 8 pines de salida.

Objetivo:

Aprender que es un teclado matricial 4×4, como conectarlo a la tarjeta Arduino y por ultimo como realizar la programación para la visualización de los caracteres del teclado en el monitor serial del Software Arduino.

Softwares y librerías necesarias para este proyecto:

  • Se requiere del software oficial de Arduino el cual se encuentra en su pagina oficial: Software Arduino
  • Se requiere la librería para usar el teclado matricial, puedes descargarla en el siguiente link: keypad

Componentes Necesarios 

 ¿ Que es un teclado matricial ?

Un teclado matricial no es más que una matriz de botones, los teclados comunes poseen los valores 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D, estos caracteres ocupan las 16 teclas de un teclado 4×4, para que estos teclados realicen la función de una matriz, cada casilla es asignada a una fila o a una columna, esto para que el software Arduino reconozca las teclas presionadas gracias a la libreria Keypad.

  

Teclado 4X4

Conexiones:

  • El pin 1 del teclado va conectado a la entra digital 2 del Arduino
  • El pin 2 del teclado va conectado a la entra digital 3 del Arduino
  • El pin 3 del teclado va conectado a la entra digital 4 del Arduino
  • El pin 4 del teclado va conectado a la entra digital 5 del Arduino
  • El pin 5 del teclado va conectado a la entra digital 6 del Arduino
  • El pin 6 del teclado va conectado a la entra digital 7 del Arduino
  • El pin 7 del teclado va conectado a la entra digital 8 del Arduino
  • El pin 8 del teclado va conectado a la entra digital 9 del Arduino

Desarrollo

  • PASO 1: Primero que nada deberemos tener la Liberia keypad en nuestro software de Arduino, si posees la ultima versión de arduino IDE, sólo debes ir al gestor de librerias y teclear en el buscador la palaba "KEYPAD"

            #include<Keypad.h>

  • PASO 2: Ahora deberemos declarar las filas y columnas que posee nuestro teclado

const byte ROWS = 4; //Filas
const byte COLS = 4; //Columnas

 

//Defino en una matriz la posición de las filas con las columnas  y sus respectivo caracter.
char hexaKeys[ROWS][COLS] = {

{ '1', '2', '3', 'A'},
{ '4', '5', '6', 'B'},
{ '7', '8', '9', 'C'},
{ '*', '0', '#', 'D'},


byte rowPins[ROWS] = {9, 8, 7, 6};  //Ahora definiremos los pines de Arduno a los que estarán conectadas las filas de nuestra matriz (Nos referimos a ellos como rowPins)
byte colPins[COLS] = {5, 4, 3, 2};  //Ahora definiremos los pines de Arduno a los que estarán conectadas las columnas de nuestra matriz (Nos referimos a ellos como colPins)

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); Esta instrución sirve para realizar el mapeo de nuestro teclado matricial, almacena en la instricción customKeypad la tecla precionada,  esta instrucción mapea o relaciona la matriz de las teclas con las entredas de nuestro microcontrolador.

 

Código completo

#include <Keypad.h>

const byte ROWS = 4; //Filas
const byte COLS = 4; //Columnas
//Defino en una matriz la posición de las filas con las columnas
char hexaKeys[ROWS][COLS] = {
 
{ '1', '2', '3', 'A'}, 
{ '4', '5', '6', 'B'}, 
{ '7', '8', '9', 'C'}, 
{ '*', '0', '#', 'D'},

};

byte rowPins[ROWS] = {9, 8, 7, 6}; //Conexción de las filas con el teclado
byte colPins[COLS] = {5, 4, 3, 2}; //Conexíon de las columnas con el teclado.

//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char customKey = customKeypad.getKey(); // ALmaceno en customKey la letra mapeada en customKeypad
  
  if (customKey){
    Serial.println(customKey); // Imprimo o muestro por el monitor serial la tecla presionada
  }
}