top of page

Uso de un teclado y un LCD con Arduino

Uso de un teclado y un LCD con Arduino

En este proyecto he realizado un circuito que contiene un display LCD, un teclado de matriz y un sensor de temperatura y humedad con la finalidad de aprender a manejar estos periféricos. 

 

Para comenzar voy a describir brevemente cada uno de los periféricos utilizados: 

 

  • Display Serie LCD de 16x2 lineas (HD44780):  Un display alfanumérico de matriz de puntos es un dispositivo formado por una pantalla de cristal líquido o LCD (Liquid Crystal Display) sobre la que se pueden mostrar mensajes formados por distintos caracteres. Estos dispositivos vienen gobernados por un microcontrolador que se encarga de gestionar el display, y que normalmente va incorporado sobre la misma placa de circuito impreso. En  el caso que nos ocupa el controlador es el HD44780 de Hitachi, que es muy habitual, y nos facilita mucho las cosas a la hora de programar.  La comunicación entre Arduino y el controlador del display se dispone de una interfaz paralelo al exterior, de fácil conexión a otros controladores o microprocesadores. 

 

  • Teclado matricial 4x4: Los teclados matriciales tienen su aplicación en el ingreso de datos de manera manual por parte del usuario, en aquellos casos en que el empleo de pulsadores simples no es lo más apropiado, ya sea por la presentación final del producto o por la restricción del número de líneas de entrada de los microcontroladores.  El teclado matricial 4x4, que es el que utilizo en mis ejemplos, está constituido por una matriz de pulsadores dispuestos en filas (A,B,C,D) y columnas (1,2,3,4), con la intención de reducir el número de pines necesarios para su conexión. Las 16 teclas necesitan sólo 8 pines del microcontrolador, en lugar de los 16 pines que se requerirían para la conexión de 16 teclas independientes. Su funcionamiento es muy sencillo, cuando se presiona una tecla, se conectan internamente la fila y columna correspondientes; por ejemplo, al presionar la tecla “7” se conectan la fila C y la columna 1. Si no hay ninguna tecla presionada, las filas están desconectadas de las columnas.

 

  • Sensor de temperatura y humedad DHT11: El DHT11 es un sensor bastante económico que permite realizar mediciones de temperatura y humedad. Usa un sensor de capacidad para medir la humedad y un termistor para medir la temperatura del aire que lo rodea. El DHT11 no utiliza una interfaz serial estándar. En cambio requiere su propio protocolo para comunicarse a través de un solo hilo.  Para leer y transformar los datos que entrega el sensor es necesario utilizar una librería que os dejo en el link de descargas. Si se requiere mayor precisión podemos trabajar con su hermano, el sensor DHT22. 

 

Con este hardware he realizado tres sencillos ejemplos, una calculadora, un temporizador y un termómetro. 

 

Al final de este artículo podéis encontrar un paquete de descarga que contiene el código Arduino de la calculadora. 

 

También encontraréis las librerías necesarias para dialogar con los periféricos. Es importante que utilicéis las mismas librerías que he utilizado yo para que el código compile. Para este proyecto en concreto he utilizado las siguientes: 

 

  • DHT11.h

  • Keypad.h

  • LiquidCrystal.h

 

Estas librerías tendréis que descomprimirlas y poner su contenido en la carpeta de Arduino correspondiente para que funcionen. Esta ubicación depende de dónde haya instalado cada uno Arduino, pero suele ser C:\Program Files (x86)\Arduino\libraries. 

También os adjunto el PCB que he diseñado por si alguien quiere reproducir exactamente este mismo proyecto. 

 

Por último, también podréis encontrar en descargas un poco más de información sobre los componentes utilizados, datasheets, configuración de pines, etc. Con el mismo hardware se podría implementar fácilmente otro tipo de proyectos.  Ni que decir tiene que cada uno puede utilizar estos u otros componentes, así como adaptar el código, en función de sus necesidades.

 

Espero que os sirva de ayuda. 

 

Daniel. 

Descargas

© 2015 by Daniel Gómez

  • YouTube básica Negro
  • Google+ Square Negro
  • LinkedIn Square Negro
bottom of page