Logo Studenta

Informe 5 - Teclado Matricial y Pantalla LCD 16x2

¡Estudia con miles de materiales!

Vista previa del material en texto

LABORATORIO DE CIRCUITOS DIGITALES 
“PRÁCTICA #5: TECLADO MATRICIAL Y PANTALLA LCD 16X2” 
UNIVERSIDAD DE ANTIOQUIA 
FACULTAD DE INGENIERÍA 
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA 
MEDELLÍN – ANTIOQUIA 
2020-1 
INTRODUCCIÓN 
Utilizar librerías en Arduino optimiza nuestro código ya que nos evita realizar la programación de 
varias líneas de código enfocadas a lo que queremos hacer, además, optimizar el código no solo 
tiene que ver con las librerías, también está relacionado con varios elementos desarrollados de 
forma que los procesos se vuelvan más sencillos, uno de estos aparatos es el teclado matricial el 
cual dispone de una serie de conexiones las cuales se conectan a menos pines digitales del Arduino 
y cumplen varias funciones para procesar números, texto, claves, etc. 
OBJETIVOS 
 Aprender a utilizar las librerías en Arduino. 
 Aprender a utilizar el teclado matricial y la pantalla LCD con Arduino. 
 
ELEMENTOS NECESARIOS 
 Computador con el software de Arduino instalado 
 Placa Arduino UNO 
 Cable USB 
 Teclado matricial 4x4 
 LCD 16x2 
 Cables de conexión 
 Protoboard 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MARCO TEÓRICO 
¿QUÉ SON LAS LIBRERÍAS DE ARDUINO? 
 
Las librerías en Arduino y en cualquier software de programación son colecciones de programas 
que facilitan la ejecución de una serie de funciones que se relacionan entre sí. 
 
Las librerías que utilizamos en Arduino y en cualquier software de programación funcionan de la 
misma manera que una biblioteca, encuentras la información sobre algo en específico y después 
esta información se utiliza dentro de el proyecto que estés desarrollando según te convenga o lo 
necesites. 
 
Enfocándonos más en Arduino, una librería es una colección de funciones que se incluyen de 
manera muy sencilla y clara en tu código o comúnmente llamado sketch, esta librería proporciona 
una cierta funcionalidad específica. 
Debemos tener en cuenta que una librería puede usarse en varios proyectos diferentes. 
Es importante asociar o “llamar” estas librerías al inicio del Sketch ya que si no lo hacemos, vamos 
a encontrar variables no definidas o posibles errores en el desarrollo del código. 
 
¿CÓMO INSTALAR LIBRERÍAS EN ARDUINO? 
 
Tenemos 3 maneras de instalar una librería en la IDE de Arduino pero esto depende de la librería y 
la manera en la cual la hayamos conseguido, las 3 maneras son las siguientes: 
 
1. Gestor de Librerías: Esta es la forma más sencilla en el caso de que la librería se encuentra 
en el IDE de Arduino, se selecciona y aparecerá en nuestro script. 
 
2. Importar una librería desde un archivo en formato ZIP: Si la librería que necesitamos no 
se encuentra en el IDE de Arduino, la descargamos del sitio del autor y la importamos a 
través del IDE de Arduino. 
 
3. Instalación manual de una librería: En este caso, descargamos la librería que necesitamos 
y la copiamos en la carpeta raíz de librerías de Arduino. 
 
¿CUÁL ES LA LIBRERÍA USADA PARA TRABAJAR CON LA PANTALLA LCD Y CUÁLES SON LAS 
FUNCIONES BÁSICAS? 
 
La biblioteca que usamos para trabajar con la pantalla LCD se llama LiquidCrystal Library. 
 
Esta biblioteca nos permite controlar pantallas LiquidCrystal (LCD) que están estructuradas en 
función del chipset HITACHI HD44780 (o chipsets compatibles), este chipset se encuentra en la 
mayoría de las pantallas LCD que se basan en texto. 
 
Esta biblioteca funciona en modo 4 u 8 bits, es decir, usando 4 u 8 líneas de datos además de las 
líneas rs, enable y, opcionalmente, las líneas de control rw. 
 
Para activar esta biblioteca en el script de Arduino utilizamos la siguiente expresión: 
 
#include <LiquidCrystal.h> 
 
Las funciones que tiene esta librería son las siguientes: 
 
 LiquidCrystal() 
 begin() 
 clear() 
 home() 
 setCursor() 
 write() 
 print() 
 cursor() 
 noCursor() 
 blink() 
 noBlink() 
 display() 
 noDisplay() 
 scrollDisplayLeft() 
 scrollDisplayRight() 
 autoscroll() 
 noAutoscroll() 
 leftToRight() 
 rightToLeft() 
 createChar() 
 
¿CÓMO FUNCIONA UN TECLADO MATRICIAL? 
 
 
 
Los teclados matriciales usan una combinación de filas y columnas para conocer el estado de los 
botones. Cada tecla es un pulsador conectado a una fila y a una columna. Cuando se pulsa una de 
las teclas, se cierra una conexión única entre una fila y una columna. 
 
Para que nuestro Arduino pueda saber que tecla se pulsa, basta con poner tensión en las filas de 
forma secuencial y luego leer las columnas para ver cuál de ellas tiene HIGH. 
Cuando se pulsa una de las teclas, se cierra una conexión única entre una fila y una columna. 
De este modo, para leer un teclado matricial de 4×4 necesitamos 8 hilos en lugar de 16, aunque 
nos dará un poco más de guerra a la hora de programar. 
 
¿CUÁLES SON LAS FUNCIONES BÁSICAS DE LA LIBRERÍA KEYPAD PARA EL MANEJO DEL TECLADO 
MATRICIAL? 
 
 void begin(makeKeymap(userKeymap)): Inicia el mapa del teclado interno para que sea 
igual a userKeymap. 
 
 char waitForKey(): Esta función esperará eternamente hasta que alguien presione una 
tecla. Advertencia: Bloquea todos los demás códigos hasta que se presiona una tecla. Eso 
significa que no hay LED parpadeando, no hay actualizaciones de la pantalla LCD, no nada 
con la excepción de las rutinas de interrupción. 
 
 char getKey(): Devuelve la tecla presionada, si la hay. Esta función no es bloqueante. 
 
 KeyState getState(): Devuelve el estado actual de cualquiera de las claves. Los cuatro 
estados son INACTIVO, PRESIONADO, LIBERADO y RETENIDO. 
 
 boolean keyStateChanged(): Le permite saber cuándo la clave ha cambiado de un estado 
a otro. Por ejemplo, en lugar de simplemente probar una tecla válida, puede probar 
cuándo se presionó una tecla 
 
 setHoldTime(unsigned int time): Establezca la cantidad de milisegundos que el usuario 
tendrá que mantener presionado un botón hasta que se active el estado HOLD. 
 
 setDebounceTime(unsigned int time): Establezca la cantidad de milisegundos que el 
teclado esperará hasta que acepte una nueva pulsación de tecla / keyEvent. Este es el 
método antirrebote de "retardo de tiempo". 
 
 addEventListener(keypadEvent): Activa un evento si se usa el teclado. Puede cargar un 
ejemplo en el IDE de Arduino. 
 
 
 
 
DESARROLLO DE LA PRÁCTICA 
MONTAJE 
 
 
 
 
 
 
DISEÑAR EN ARDUINO UN PROGRAMA QUE PERMITA ESCRIBIR LOS NUMERO DEL TECLADO EN 
LA PANTALLA LCD. 
LAS TECLAS A, B Y C TENDRÁN FUNCIONES ESPECIALES: 
 LA TECLA A LLEVARÁ EL CURSOR DEL TECLADO A LA POSICIÓN (0,0) 
 LA TECLA B LLEVARÁ EL CURSOR A LA POSICIÓN (1,0) 
 LA LETRA C BORRARÁ LA PANTALLA. 
 
 
OPRIMIENDO A 
 
 
 
 
 
OPRIMIENDO B 
 
OPRIMIENDO C 
 
 
CÓDIGO UTILIZADO 
 
 
 
 
 
 
CONCLUSIONES 
 Es importante tener en cuenta que las matrices sirven para ganar claridad y simplicidad en 
el código, además de facilitar la programación, es por esto por lo que el uso de un teclado 
matricial en Arduino nos permite tener un script más sencillo y óptimo sin utilizar muchas 
salidas digitales del Arduino. 
 Utilizar librerías en Arduino es una práctica muy común ya que facilitan el trabajo y nos 
ahorra tiempo en programación de funciones que hagan las tareas ya inmersas en la 
librería. 
 Los teclados matriciales y pantallas LCD nos permiten crear una serie de eventos desde dar 
un mensaje al usuario, crear una contraseña o incluso prender un led, en ocasiones, estos 
elementos se usan para realizar actividades de control de aparatos electrónicos que 
puedan ser automatizados. 
 
 
CIBERGRAFÍA 
 https://www.prometec.net/funciones-
iii/#:~:text=En%20el%20mundo%20de%20Arduino,proporciona%20una%20cierta%20funci
onalidad%20espec%C3%ADfica. 
 https://www.geekfactory.mx/tutoriales/tutoriales-arduino/como-instalar-una-libreria-de-
arduino/ 
 https://www.prometec.net/teclados-
matriciales/#:~:text=Los%20teclados%20matriciales%20usan%20una,una%20fila%20y%20
una%20columna. 
 https://playground.arduino.cc/Code/Keypad/

Continuar navegando