Librería gameduino 2 modificada para pantallas FT81X

Cableado

Se debe considerar una limitante en las dimensiones del cableado empleado para conectar la placa de control (arduino MEGA, DUE, UNO o teensy 3.X) y la pantalla. La longitud màxima debe estar en el rango de 15 a 20 cms.

Las pantallas emplean un cable plano (Riverdi: 20 pines, HotMCU: 10 pines) y un adaptador. En el caso de RIverdi, se puede conseguir un shield que incluye un lector microSD, un amplificador de audio y un selector de alimentación de los leds de retroiluminación de la pantalla.

Esquema de conexiones

Pantalla FT8XX       Arduino Due

MOSI                    11
MISO                    12
SCK                     13
TFT-CS                  10
SD-CS                    5

La libreria GD2 funciona en el arduino Due empleando un porteo de señales SPI, hacia los pines 11, 12, 13 equivalentes al SPI del arduino UNO; es por esta razón que el shield gameduino 2 se puede conectar directamente sobre el arduino Due.

Para que la librería funcione en el arduino MEGA, se deben usar las lineas SPI 51, 50, 52; adicionando esta linea en el encabezado:

#include <EEPROM.h>

En el arduino Due no es necesario usarla.

Las lineas PD e INT, no ha sido necesario emplearlas, por lo menos en las pantallas Riverdi y la FT843 de 4D systems.

En las pantallas HotMCU hay que usar la linea INT, el forero ligthcalamar ha documentado su uso con la libreria, acá se puede revisar su trabajo

Parámetros de inicio para el chip FT813

La configuración para iniciar cada pantalla, debe corresponder al tipo de chip, es posible que existan ligeras variaciones entre cada chip, se deberá ajustar para cada caso y fabricante. En el caso de la pantalla: RVT50UQFNWC00 (FT813 5" de Riverdi)

Estos son los parámetros de configuración:

    GDTR.wr32(REG_ROTATE, 1);
    GD.wr32(REG_HCYCLE, 1056);    // 900 //548
    GD.wr32(REG_HOFFSET, 47);     // 43
    GD.wr32(REG_HSIZE, 800);
    GD.wr32(REG_HSYNC0, 0);
    GD.wr32(REG_HSYNC1, 10);      // 41
    GD.wr32(REG_VCYCLE, 525);     // 500
    GD.wr32(REG_VOFFSET, 23);     // 12
    GD.wr32(REG_VSIZE, 480);
    GD.wr32(REG_VSYNC0, 0);
    GD.wr32(REG_VSYNC1, 10);
    GD.wr32(REG_PCLK, 2);
    GD.wr32(REG_PCLK_POL, 1);
    GD.wr32(REG_DITHER, 0);        // 1
    GD.wr32(REG_CSPREAD, 0);       // 1

La instrucción:

GDTR.wr32(REG_ROTATE, 1);

Forma parte de la libreria gameduino 2, permite establecer la rotación inicial similar a la que tiene el shield gameduino 2 (es equivalente a establecer la rotación del chip FT81X en modo 1).

Excelente aporte, amigazo!

:wink:

Excelente !!!

Todos ustedes que deseen adquirir las pantallas basadas en chip FT8XX de HotMCU, como bien ha escrito TFTLCDCyg voy ampliar mas documentación.para su correcto funcionamiento.
Básicamente estas son mas económicas, pero sin perdida alguna de calidad, el acabado con su marco las hace muy atractivas.
Llegados a este punto, les aconsejo las que tienen mayor resolución, tales como las FT81X (800x480) frente a las FT80X (480x272), con la librería Gameduino 2 es una realidad su funcionamiento.
Estoy preparando una guia de mi experiencia con la cual la voy a compartir con todos vosotros. En esta misma semana la publicaré en este hilo de documentación.

Estos son los enlaces de las cuales tengo dos de cada unas;

Pantalla 5 pulgadas; FT800 Resistiva
Pantalla 5 pulgadas; FT811 Capacitiva

Y todo ello, no hubiese sido posible sin la enorme ayuda que ha realizado TFTLCDCyg.
Saludos! :slight_smile:

19 Noviembre 2016:

  • Adición de la función GD.printNfloat que permite imprimir números con decimales en GD2 y GD3.
  • Adición de ejemplos básicos para la impresión de números con decimales en GD2 y GD3

Después de una ligera adaptación a mi Arduino MEGA+FT810CB-HY50HD funciona perfectamente.
Gracias amigo grande.

Lo siento por mi español porque vivo en Polonia :slight_smile:

1+

Mi versión blobs and clock nixie. :slight_smile:

IDE 1.0.6

FT810_MoOD_Nixie_numbers_DS3231.zip (3.39 KB)

Genial. Esperemos que la librería modificada funcione para tu proyecto. Ojalá y compartas mas avances de tu proyecto.

Saludos desde México.

Estación meteorológica simple como un ejemplo del uso de un función GD.printNfloat..

(DHT22,LDR,DS18820,BMP180/085,RTC 3231/1307 MEGA+FT810CB-HY50HD

IDE 1.0.6 .

:slight_smile:

GD3_SENSOR__RTC_NIXIE.zip (3.63 KB)

@michalkepa gracias por tus aportes !!!

@TFTLCDCyg buen trabajo !!!

Veo que la librería va aumentando en calidad. Voy a probar la función de imprimir números flotantes ya que estoy atascado en ellos.

Llegué a pensar que la librería no serviría... y veo que hasta España y Polonia está "rodando"...

Estoy contento por ayudarles en el desarrollo de sus proyectos, al ver lo que están consiguiendo tengo que aplicarme para ponerme a nivel, he descuidado el diseño de ejemplos, pero en cuanto logre descifrar el MAX6697, seguiré con ellos... hay todavía mucha tela para cortar.

PD: es una pena que James aun no nos oriente respecto a como quitarle el limite de 256 kb a la herramienta gd2asset..., podríamos tener imágenes mas grandes, e incluso manejar otros tipos de letra para manejar texto.

Mi nuevo proyecto, pero aún no está listo ... :slight_smile:

Hoooo muy bonito michalkepa !!!

Mi nuevo proyecto MDC (mULTI dATA cENTER
Ya funcionando el GPS con números flotantes;

Tengo que ir modificando pero ya funciona correcto y gracias infinitas a TFTLCDCyg por la nueva función GD.printNfloat

Y esta la parte de la radio que va aumentando en funciones;

lgenial! :o

Podría usar su radio para mi proyecto hehe :slight_smile:

Estoy con mi "Home INFO" lucho todo el tiempo...

:slight_smile:

Hola michalkepa.

Adjunto mi proyecto inicial del MDC (Multi Data Center) estoy trabajando en el poco a poco
La librería de la parte del radio es este enlace

Todavia queda mucho pero ya empieza a estar fino. :wink:

GD_master_MDC_initial.zip (13.3 KB)

Se ven muy bien esas FT81X mas allá de las fronteras de este escritorio XD. Esperemos que sigan los progresos y a la espera de que nos muestren sus logros.

Sigo batallando aún con los multi-sensores de temperatura MAXIM, sin embargo solo me hace falta acceder a los registros que permiten leer el sensor instalado en cada chip.

04 de diciembre de 2016: Reorganización de ejemplos.

  • Corrección de la orientación táctil respecto a la orientación de la pantalla. Ahora ambos dependen de la instrucción GD.cmd_setrotate(x), ya no hay dependencia respecto a la instrucción interna GDTR.wr(REG_ROTATE, y);.

  • Adición de ejemplos para el manejo de assets fuera de la región 512x512 y corrección menor de errores algunos ejemplos previos

  • Cambio en la combinación de colores de la pantalla de calibración táctil. La personalización de colores se puede conseguir modificando las instrucciones de color dentro de void GDClass::self_calibrate(void), en GD3.ccp

  • Cambio en la combinación de colores y mensaje de la pantalla de error de co-procesador.

  • Adición de la instrucción: #define ORIENTACION 0 //0, 1, 2, 3, establece la orientación de trabajo, con la finalidad de que la pantalla de error se ajuste a la orientación de la pantalla. Esta variable se puede configurar dentro de GD3.ccp, su valor corresponde al valor definido para GD.cmd_setrotate(x)

  • Ejemplo de uso del encoder KY-040 de keyes con un grupo de assets

Buenas.

He recien probado tu nueva librería en mi FT811 y la verdad es muy asombroso del buen funcionamiento de todos los ejemplos, salvo uno el llamado GD3_Menu que me sale en pantalla;

ERROR
Revisar Comandos

Me ha llamado mucho la atención la pecera (Fish Tank) es muy buena aplicación y me esta dando ideas ....

Por otro lado veo lo fino que funciona el GD.cmd_setrotate() , es impresionante y si te digo de como funciona las barras de los MSGEQ7 es para una gran maravilla.
Has afinado muy mucho y te agradezco el enorme trabajo que has realizado, no me canso decirte que eres un gran maestro de los TFT. Así reza.

Leo mucho en el foro oficial actual en la sección de "Display" y me da risa, leo estos mensajes tuyos y me da enorme satisfacción, leo que son muy pocos los que se pueden dar el lujo de comprar estas magnificas pantallas FT8xx por su precio y esto me preocupa, aun así algunos, tu por ejemplos TFTLCDCyc le has dado otra vida.

Sobre mi FT811 (la que tiene el táctil mal) sigue igual, es el panel táctil, mas pruebas no he podido realizar e inclusive estuve a punto de cambiar el táctil, se que se hubiese roto. servirá de pantalla para solo representante y con algún teclado de botones externos. El chino ni pio me dijo. Lo mismo le pido otra y le pongo una disputa por PayPAL (casi seguro lo realizo).

Saludos! :slight_smile:

Vaya, vaya: ese error se debe a que no subí este archivo: PC1.jpg en la carpeta de archivos que van en la SD. En la siguiente actualización lo incluyo

Ese ejemplo en particular da soporte al RTC DS3231, están comentadas las lineas que dan acceso a las lecturas del RTC, ya que de mantenerlas activas, sin que esté presente el reloj, el programa se ralentiza. Ese comportamiento también se presenta en el ejemplo GD3_Nixie_numbers_DS3231.

La idea tras Tank_fish es poder dibujar en los 800x480 imagenes de un grupo de assets, mediante las instrucciones de traslación GD.VertexTranslateX y GD.VertexTranslateY. Está diseñado para usarse con un encoder.

Si se dibuja cualquier asset en la posisción (0,0) y trasladamos la posición a las instrucciones referidas, logramos acceso a los pixeles de toda la pantalla y no solo al sector 512x512.

Se pueden conseguir animaciones simples y porque nó, en una de esas, contar con un minijuego dentro de los proyectos.

PC1.jpg

Muchas gracias por su trabajo !Todas las obras excelentes. :slight_smile:

Un pez en akwarjum son grandes! :slight_smile:

Aquí está otra versión de mi proyecto, pero todavía no es definitivo ....



Modo nocturno GD.wr(REG_PWM_DUTY, 1);

ArduOS_3_aqua.zip (7.23 KB)

Hola, muy buenas a todos y felicitaros por conseguir adaptar esta librería para poder usarla con cualquier pantalla ft80x, ft81x. En la actualidad estoy utilizando una Teensy 3.2 y si es posible me gustaría ver que esquema de conexionado estais utilizando con ella, ya que aqui casi todos los ejemplos que veo solo se muestra para el Arduino Due.
Un Saludo!
Javier

Hola Javier. Aquí te puedes descargar los ejemplos modificados de la librería GD3 lista para funcionar en Arduino MEGA modificada por mi, aunque solo sea poner;

#include <EEPROM.h>

en cada hoja. De esta forma podrás usar los ejemplos. en cuanto al código;

#define PDNPin 8

no creo tengas problemas, ya que lo uso para mi pantalla fuera de la shield de Riverdi

A todo esto @TFTLCDCyg ayer probé la ultima librería que has publicado GD2 del día 4 de Diciembre y veo que no está implementado la definición de la rotación. No admite ningún tipo variable, la pantalla siempre queda fija en una posición. Si lo tienes por la mano le hechas un vistazo, de lo contrario, voy a ver donde esta el problema.

Hola de nuevo, tengo el siguiente problema:
si conecto la tftshield de riverdi a un arduino mega, el ejemplo hello world de gD2 funciona sin problemas
si conecto la Teensy 3.2 a los pines de la tftshield: SCK 13, miso 12, mosi 11, TFT_cs 5, SD_CS 10, 3.3V A 3V
GND a GND, la pantalla ni se enciende. El probado a cambiar el jumper de 5v a 3.3v en la tft-shield y nada.
Cambio otra vez el jumper a los 5v por defecto.

Vuelvo a probar con el arduino Mega y todo bien.

Que paso estoy haciendo mal o que pin no conecto o conecto mal para que con la teensy 3.2 no me funcione?