TFT 3,2″ de 400×240 táctil

Pantalla tactil TFT 3,2″ de 400×240

 

  • Presentando una TFT de 3,2″ y 400×240
  • Procedimiento de instalacion de librerías
  • Muestra de ejemplos
  •  

    Material requerido.

     MCUFRIEND HX8352B  TFT

     

    Vista frontal Arduino UNO, MEGA o DUE.

    Instalando MCUFRIEND 3,2″ con HX8352B

     

    Uno de los problemas de las pantallas TFT baratas (O sea chinorris) es que aunque excelentes y de bajo coste,  tienen el feo vicio de cambiar con frecuencia el chip que gobierna la pantalla con lo que comprar una por correo, si no eres un experto, se convierte rápidamente en una ruleta rusa, y es muy fácil que acabe siendo un pisapapeles, muy barato, pero completamente inútil.

    Como hemos sufrido este problema en más de una ocasión, en Prometec hemos acabado haciendo un mini master sobre TFTs chinas y al final, no incluimos en la tienda pantallas que no hayamos logrado hacer funcionar. Y creednos cuando os digo que hay veces que lleva un puñado de horas y de dolores de cabeza, hacerlas funcionar.

    Imagen laterial

    Últimamente hemos probado esta pantalla que incluye un controlador HX8352B, con estas características:

  • Tamaño 3.2″
  • Resolución de 400×320 puntos
  • Pantalla táctil y lápiz incluido
  • Lector de tarjetas SD
  •  

    Nos ha gustado especialmente esta pantalla porque ha demostrado tener una buena resolución y un precio contenido, y además nos ha sorprendido gratamente la buena sensación que la imagen  proporciona a la vista. Y como bonus es táctil, lo que encaja muy bien con muchos proyectos.

    No es la pantalla de más resolución del mundo pero es más que suficiente excelente a la vista y al tacto y eso no se puede decir de todas las pantallas. Además usa la librería de MCUFRIEND que es compatible con las de Adafruit y no hemos podido resistirnos a incluirla en catalogo

     

    Configurando la pantalla TFT

     

    Para manejar esta pantalla necesitamos instalar 3 librerías:

    Adafruit-GFX-Library-master
    MCUFRIEND_kbv-master
    Adafruit_TouchScreen-master (Si quieres usar la función táctil)

    Basta con que pulses en el botón verde de la derecha y descargarás copia de la librería a tu directorio descargas y desde allí las puedes instalar como siempre.[one-fourth]  [/one-fourth][three-fourth last][margin value=»5″ /][fancy-ul style=»rounded-tick»] [three-fourth last][margin value=»5″ /][fancy-ul style=»rounded-tick»]

  • Muy a menudo, nos comentáis que tal o cual librería ha dejado de funcionar.  Tenéis que comprender que estas son versiones que hemos descargado para este post (Diciembre 2018) pero que a medida que pasa el tiempo, cambios en el IDE Arduino o en el compilador pueden hacer que dejen de funcionar y por eso os hemos puesto links a Github para que puedas descargar siempre la última versión
  • No es un problema de esta pantalla o librerías, sino más bien un problema general de cualquier librería, que con el tiempo puede dar problemas de compatibilidad a medida que avanzan las versiones del entorno Arduino. Nosotros lo hemos instalado con versión 1.87 del IDE sin problemas. 
  •  

    Como siempre el problema es saber que controlador tiene nuestra pantalla. En nuestro caso es un HX8352B y con este dato tenemos que tocar la librería, porque normalmente ésta, solo trae habilitados algunos chips cada vez, aunque soporta muchos más y hay que habilitar el contraladory el modelo de Arduino que vamos a usar.

    Pero, por favor, que no se asuste nadie. De verdad que es una tontería y que si seguís nuestras instrucciones tendréis la pantalla en marcha en un periquete.

    Normalmente no tocamos las librerías desde Prometec para evitar miedos a los novicios pero, una librería es un programa como otro cualquiera , solo que un poco más complicado y no necesitas entender la librería para hacer los cambios precisos (Están pensadas para hacer esto)

    Además, alguien podría pensar que podríamos hacer nosotros los cambios para que no tuvierais que hacerlo vosotros, pero en este caso, hay que decidir con qué modelo de Arduino vamos a usar la pantalla y especificarlo, por lo  que al final no hay más remedio que mancharnos las manos de grasa (Tranquilos, que se lava )

     

    Modificando la librería para nuestro chip y modelo Arduino

     

    En Arduino, cuando instalamos una librería,en Windows  va directamente a:

    C:\Users\charl\OneDrive\Documentos\Arduino\libraries

    Encontrareis un directorio por cada librería que hayáis instalado y ya que estamos si borráis una de estas carpetas, elimináis la librería y Arduino dejara de verla en la lista de librerías instaladas. Vamos a meternos en el directorio NODEMCU.

    Seleccionando ficheros en las librerias

    Veras algo así:

    muestra de contenido

    Ahora tenemos que editar y modificar 4 ficheros, enseguida veréis porque:

    MCUFRIEND_kbv.cpp to enable support for the HX8352B
     utility/mcufriend_shield.h: #define USE_SPECIAL
     utility/mcufriend_special.h: #define USE_OPENSMART_SHIELD_PINOUT
     MCUFRIEND_kbv.cpp: #define SUPPORT_8352B

    Vamos a la zona de búsqueda y escribe:

    MCUFRIEND_kbv.cpp

    listado de programas

    El que nos interesa es el primero (Los demás salen porque hacen referencia a él) y ahora tenemos que editarlo. Apúntale con el ratón y presiona botón derecho. Se abrirá un menú y pincha abrir con:

    ejemplo de abrir con

    Windows te preguntara como quieres abrir el archivo. Dile que con Wordpad y asegúrate de elegir la opción de abajo: Usar siempre esta aplicación para archivos cpp

    Asociar un programa a una extension

    Con esto se abrirá el programa en el editor (La extensión .cpp significa C++) , Veras un montón de defines. Tenemos que buscar que buscar una línea que incluya nuestro chip HX8352B, así que basta con que hagas [CTRL]+B y escribir HX8352B e Intro.

    buscando en wordpap

    Te llevara a esta línea:

    //#define SUPPORT_8352B             //HX8352B

    Fíjate que tiene el «//» por delante, es decir esta como comentario, pero está sin activar. Quítale las barras para que quede así:

    #define SUPPORT_8352B             //HX8352B

    Ya hemos activado nuestro chip y ahora hay que salvar las modificaciones: Archivo\guardar o [CTRL]+ G y cerramos el fichero.

    Nos toca buscar ahora en el directorio de la librería el fichero:

    mcufriend_shield.h

    ejemplo de busqueda

    Con un doble click os abrirá directamente el fichero o bien os preguntara que programa usar para abrir, pues vuelta al Wordpad y tenemos un segundo programa (La extensión .h significa Header, y toda librería incluye uno) y hay que buscar:

    #define USE_SPECIAL

    Que puede estar o no, comentado. Asegúrate que figura como arriba sin las barras «//» y a guardar.

    Vamos a buscar otro fichero, y click click para abrirlo

    mcufriend_special.h

    Busca:

    #define USE_OPENSMART_SHIELD_PINOUT

    Bueno, aquí está la madre del cordero, porque encontrareis varias líneas, una por cada modelo Arduino soportado.

    //#define USE_OPENSMART_SHIELD_PINOUT_UNO
    //#define USE_OPENSMART_SHIELD_PINOUT_MEGA
    //#define USE_OPENSMART_SHIELD_PINOUT_DUE

    Para el TFT que tenemos en la tienda, basta con que pongas sin comentarios la línea del modelos de Arduino que uses. En mi caso estoy haciendo el post con un Arduino MEGA por tanto basta con dejar la línea correspondiente así:

    #define USE_OPENSMART_SHIELD_PINOUT_MEGA

    ¿Que quieres un UNO o DUE? Pues dejas comentados todos menos el que te interesa ¿Vale? Y a salvar. Y eso es todo, pero recuerda que las instrucciones dicen que solo dejes un modelo seleccionado y no varios que si no tendrás problemas.

    Os recomiendo usar estas pantallas con Megas o DUEs porque las aplicaciones gráficas tienden a consumir memoria y un UNO se queda bastante justo, aunque funciona.

    Aquí os dejo un mini vídeo con algunas de las demos que vienen incluidas en los ejemplos

     

    IMAGEN DE MARCA

    Deja una respuesta