miércoles, 2 de marzo de 2016

Tutorial-Review: Pantalla táctil TFT 2,8" módulo UNO para Arduino


En esta entrada vamos a presentar y a cargar un ejemplo de la Pantalla táctil TFT 2,8" módulo UNO para Arduino, cedida por la tienda Banggood.

Características



Compatible con Arduino UNO R3 y MEGA.

Soporta librería UTFT de Arduino (enlace aquí).


Resolución de pantalla: 240x320 pixels

Color: 265k

Luz de fondo: LED

Tensión de trabajo: 5V/3.3V

Interfaz LCD: 16 bit paralelo

Panel táctil: SPI

Driver IC: ILI9325DS

Zócalo para SD.

Más en la wiki de la marca de la pantalla.

Como el zócalo de la tarjeta SD toca con el zócalo de alimentación USB del Arduino, para evitar cualquier tipo de daño, se recomienda proteger el zócalo USB con cinta aislante.

Primeros pasos con la librería UTFT

Primero que nada, hay que descargar la librería UTFT de la página web oficial (enlace aquí) e instala la librería. En caso de que te salgan errores de este estilo:

\Documents\Arduino\libraries\UTFT\UTouch.cpp:27:
\Documents\Arduino\libraries\UTouch/hardware/avr/HW_AVR.inc: In member function 'word UTouch::touch_ReadData()':
\Documents\Arduino\libraries\UTouch/hardware/avr/HW_AVR.inc:29: error: 'rbi' was not declared in this scope
\Documents\Arduino\libraries\UTFT\UTouch.cpp: In member function 'void UTouch::read()':
\Documents\Arduino\libraries\UTFT\UTouch.cpp:91: error: 'rbi' was not declared in this scope
\Documents\Arduino\libraries\UTFT\UTouch.cpp: In member function 'bool UTouch::dataAvailable()':
\Documents\Arduino\libraries\UTFT\UTouch.cpp:157: error: 'rbi' was not declared in this scope


El problema puede estar en la ubicación de la carpeta de instalación del IDE de Arduino. Si se tiene el disco duro con dos particiones (DATA y C), si se instala el IDE en DATA y las librerías se copian dentro de la carpeta de librerías de la carpeta de instalación, desaparece este error.

Segundo, abrir el archivo Arduino\libraries\UTFT\hardware\avr\HW_AVR_defines.h y descomentar donde pone:

#define USE_UNO_SHIELD_ON_MEGA 1

Tercer paso, para liberar espacio, se tiene que abrir Arduino\libraries\UTFT\memorysaver.h  y descomentar todos los define de los controladores que no sean el de la pantalla, quedando de la siguiente manera:


Y con este último paso ya se tiene la librería preparada para cargar cualquier programa sin interacción táctil.

Primer ejemplo cargado

Ahora, abre el IDE de Arduino y selecciona en ejemplos UTFT\avr el siguiente programa:



Y antes de cargar el programa, es necesario cambiar los siguientes parámetros:

A partir de ahora, para cualquier programa que se use la librería UTFT, se pondrá siempre:
 (ITDB28, A5, A4, A3, A2)


Calibración táctil

Para calibrar la función táctil de la pantalla, se tiene que cargar el ejemplo  siguiente del apartado UTouch\Arduino:


Luego se siguen los pasos y al final el programa mostrará 3 valores que son los que se tendrán que poner en el archivo Arduino\libraries\UTouch\UTouchCD.h :

Y con eso ya estaría la función táctil calibrada y la pantalla lista para usarse.

P.