nullo
Utilizzo della libreria Gameduino 2 con i moduli TFT EVE

Utilizzo della libreria Gameduino 2 con i moduli TFT EVE

La libreria Gameduino 2, scritta da James Bowman, è progettata per la serie di circuiti integrati per controller grafici FT80x/FT81x e supporta diversi microcontrollori. Questa libreria include una serie di sketch di esempio, da semplici programmi "Hello World" a programmi più complessi che utilizzano widget, accedono a file PNG da una scheda microSD e persino generano simulazioni di giochi da tavolo.

In this tutorial, we will use an Arduino Uno to drive our NHD-4.3-480272FT-CSXP-CTP module and list the necessary changes to compile the basic "Hello World" sketch.

Display TFT EVE compatibili con questo tutorial

La guida illustra l'utilizzo della libreria Gameduino 2 con i seguenti moduli TFT EVE di Newhaven Display:

Dimensioni dello schermo Numeri di parte
SCHERMO TFT DA 3,5" NHD-3.5-320240FT-CSXP-T
SCHERMO TFT DA 4,3 POLLICI NHD-4.3-800480FT-CSXP-CTP
NHD-4.3-480272FT-CSXP-CTP
NHD-4.3-480272FT-CSXP-T
SCHERMO TFT DA 5,0 POLLICI NHD-5.0-800480FT-CSXP-CTP
NHD-5.0-800480FT-CTXL-CTP
NHD-5.0-800480FT-CTXL-T
SCHERMO TFT DA 7,0" NHD-7.0-800480FT-CSXV-CTP
NHD-7.0-800480FT-CSXV-T

Requisiti hardware e software

Per utilizzare la libreria Gameduino 2, avrai bisogno di quanto segue:

Configurazione del software: carica la libreria sul tuo IDE Arduino

Passaggi per caricare la libreria Gameduino 2 sulla scheda Arduino.

  1. Scarica la libreria: Scarica la libreria Gameduino2 per il tuo progetto.
  2. Apri l'IDE Arduino: avvia il software IDE Arduino sul tuo computer. Assicurati di avere la versione più recente dell'IDE per evitare problemi.
  3. Aggiungi la libreria ad Arduino IDE: dopo aver avviato Arduino IDE, vai su Sketch > Includi libreria > Aggiungi libreria .ZIP . Individua il file della libreria scaricata sul tuo computer e selezionalo.

    If you're new to installing libraries for Arduino, you can find detailed instructions on the official Arduino website.

  4. Verifica dell'installazione: una volta installata la libreria, dovrebbe essere disponibile nell'IDE, come mostrato nell'immagine sottostante. Per verificarlo, vai su File > Esempi e dovresti vedere Gameduino2 nell'elenco. Se riesci a vederlo, la libreria è stata installata correttamente. In caso contrario, ripeti la procedura o cerca eventuali errori.
Libreria Gameduino caricata su Arduino IDE
Verifica che la libreria sia caricata nel tuo IDE Arduino andando su File > Esempi > Gameduino2.

Remember to restart the Arduino IDE if your new library does not appear in the list of examples. If you encounter any issues, consult the Arduino community forum for assistance.


Configurazione hardware

Prima di effettuare il collegamento, assicurarsi che NHD-FT81x-SHIELD ha J4, J5 e J6 in cortocircuito e J1-J3 aperti per la connessione Arduino Uno come mostrato di seguito:

Ponticelli di saldatura dell'Arduino Shield.
NHD-SHIELD ha J4, J5 e J6 in cortocircuito e J1-J3 aperti per la connessione Arduino.

Collega lo shield al tuo Arduino, quindi collega il display TFT e lo shield utilizzando il cavo flessibile piatto a 20 pin e collega l'alimentatore da 9 V all'Arduino Uno.

collegamento tra shield, LCD e Arduino.
Collegamento tra shield, scheda Arduino e LCD per utilizzare la libreria Gameduino 2.

Modifica della libreria Gameduino2

Before running any of the example sketches, the GD2.cpp file needs to be modified by commenting a line of code in order to make the Gameduino2 library compatible with our EVE displays. To do this, follow the steps below:

  1. Vai a Documenti > Arduino > Librerie > Gameduino2 > GD2.cpp .
  2. Apri GD2.cpp nel tuo editor di codice preferito.
  3. Garantire //if (STORAGE && (options & GD_STORAGE)) è commentato.
  4. Salvare le modifiche e chiudere il file modificato.
codice modificato
Open GD2.cpp and Ensure //if (STORAGE && (options & GD_STORAGE)) is commented out.

Registri EVE TFT

I valori di temporizzazione richiesti per ogni rispettivo display possono essere copiati e incollati dalla tabella sottostante.

Dimensioni TFT Risoluzione Valori del registro
SCHERMO TFT DA 3,5" 320 x 240
            GD.wr16(REG_HSIZE, 320);
            GD.wr16(REG_HCYCLE, 408);
            GD.wr16(REG_HOFFSET, 70);
            GD.wr16(REG_HSYNC0, 0);
            GD.wr16(REG_HSYNC1, 10);
            GD.wr16(REG_VSIZE, 240);
            GD.wr16(REG_VCYCLE, 263);
            GD.wr16(REG_VOFFSET, 13);
            GD.wr16(REG_VSYNC0, 0);
            GD.wr16(REG_VSYNC1, 2);
            GD.wr16(REG_PCLK, 8);
            GD.wr16(REG_SWIZZLE, 0);
            GD.wr16(REG_PCLK_POL, 0);
            GD.wr16(REG_CSPREAD, 1);
            GD.wr16(REG_DITHER, 1);
            GD.wr16(REG_ROTATE, 0);
		
SCHERMO TFT DA 4,3 POLLICI 480 x 272
            GD.wr16(REG_HSIZE, 480);
            GD.wr16(REG_HCYCLE, 548);
            GD.wr16(REG_HOFFSET, 43);
            GD.wr16(REG_HSYNC0, 0);
            GD.wr16(REG_HSYNC1, 41);
            GD.wr16(REG_VSIZE, 272);
            GD.wr16(REG_VCYCLE, 292);
            GD.wr16(REG_VOFFSET, 12);
            GD.wr16(REG_VSYNC0, 0);
            GD.wr16(REG_VSYNC1, 10);
            GD.wr16(REG_PCLK, 5);
            GD.wr16(REG_SWIZZLE, 0);
            GD.wr16(REG_PCLK_POL, 1);
            GD.wr16(REG_CSPREAD, 1);
            GD.wr16(REG_DITHER, 1);
            GD.wr16(REG_ROTATE, 0);
		
SCHERMO TFT DA 4,3 POLLICI 800 x 480
            GD.wr16(REG_HSIZE, 800);
            GD.wr16(REG_HCYCLE, 928);
            GD.wr16(REG_HOFFSET, 88);
            GD.wr16(REG_HSYNC0, 0);
            GD.wr16(REG_HSYNC1, 48);
            GD.wr16(REG_VSIZE, 480);
            GD.wr16(REG_VCYCLE, 525);
            GD.wr16(REG_VOFFSET, 32);
            GD.wr16(REG_VSYNC0, 0);
            GD.wr16(REG_VSYNC1, 3);
            GD.wr16(REG_PCLK, 2);
            GD.wr16(REG_SWIZZLE, 0);
            GD.wr16(REG_PCLK_POL, 1);
            GD.wr16(REG_CSPREAD,0);
            GD.wr16(REG_DITHER, 1);
            GD.wr16(REG_ROTATE, 0);
		
SCHERMO TFT DA 5,0 POLLICI 800 x 480
            GD.wr16(REG_HSIZE, 800);
            GD.wr16(REG_HCYCLE, 928);
            GD.wr16(REG_HOFFSET, 88);
            GD.wr16(REG_HSYNC0, 0);
            GD.wr16(REG_HSYNC1, 48);
            GD.wr16(REG_VSIZE, 480);
            GD.wr16(REG_VCYCLE, 525);
            GD.wr16(REG_VOFFSET, 32);
            GD.wr16(REG_VSYNC0, 0);
            GD.wr16(REG_VSYNC1, 3);
            GD.wr16(REG_PCLK, 2);
            GD.wr16(REG_SWIZZLE, 0);
            GD.wr16(REG_PCLK_POL, 0);
            GD.wr16(REG_CSPREAD, 0);
            GD.wr16(REG_DITHER, 1);
            GD.wr16(REG_ROTATE, 0);
		
SCHERMO TFT DA 7,0" 800 x 480
            GD.wr16(REG_HSIZE, 800);
            GD.wr16(REG_HCYCLE, 928);
            GD.wr16(REG_HOFFSET, 88);
            GD.wr16(REG_HSYNC0, 0);
            GD.wr16(REG_HSYNC1, 48);
            GD.wr16(REG_VSIZE, 480);
            GD.wr16(REG_VCYCLE, 525);
            GD.wr16(REG_VOFFSET, 32);
            GD.wr16(REG_VSYNC0, 0);
            GD.wr16(REG_VSYNC1, 3);
            GD.wr16(REG_PCLK, 2);
            GD.wr16(REG_SWIZZLE, 0);
            GD.wr16(REG_PCLK_POL, 1);
            GD.wr16(REG_CSPREAD, 0);
            GD.wr16(REG_DITHER, 1);
            GD.wr16(REG_ROTATE, 0);
		

Esempio: Ciao mondo

Una volta apportate le modifiche di cui sopra al rispettivo file, è il momento di testare lo sketch 'Hello World':

Nota: le seguenti modifiche faranno riferimento ai tempi/registri del nostro EVE TFT da 4,3" come guida di esempio.

  1. Aprire il file helloword.ino andando su File > Esempi > Gameduino2 > Nozioni di base > Hello World.
  2. Sostituire GD.begin(0); con GD.inizio(0,10,5); nel impostare() funzione.
  3. Ottieni i valori dalla tabella dei registri TFT EVE riportata sopra per le dimensioni del tuo display.
  4. Aggiungi la funzione TFT_4_3() e richiamarlo nella funzione di configurazione come mostrato nel codice seguente.
  5. Carica il codice sulla tua scheda Arduino Uno. Assicurati di selezionare la scheda e la porta prima di caricare il file dello sketch. Consulta la sezione "Carica uno sketch nell'IDE di Arduino" per maggiori informazioni.

Il codice finale dovrebbe essere simile a questo:

#include 
#include 
#include 
void TFT_4_3()
{
GD.wr16(REG_HSIZE, 480);
GD.wr16(REG_HCYCLE, 548);
GD.wr16(REG_HOFFSET, 43);
GD.wr16(REG_HSYNC0, 0);
GD.wr16(REG_HSYNC1, 41);
GD.wr16(REG_VSIZE, 272);
GD.wr16(REG_VCYCLE, 292);
GD.wr16(REG_VOFFSET, 12);
GD.wr16(REG_VSYNC0, 0);
GD.wr16(REG_VSYNC1, 10);
GD.wr16(REG_PCLK, 5);
GD.wr16(REG_SWIZZLE, 0);
GD.wr16(REG_PCLK_POL, 1);
GD.wr16(REG_CSPREAD, 1);
GD.wr16(REG_DITHER, 1);
GD.wr16(REG_ROTATE, 0);
GD.swap();
} 
void setup()
{
  GD.begin(0,10,5);
  TFT_4_3();
}
void loop()
{
  GD.ClearColorRGB(0x103000);
  GD.Clear();
  GD.cmd_text(GD.w / 2, GD.h / 2, 31, OPT_CENTER, "Hello world");
  GD.swap();
}
	

Se le modifiche sono state apportate correttamente, sul display TFT di EVE dovreste vedere quanto segue:

Codice Hello World con la libreria Gameduino2
Visualizzazione di "Hello world" su un display TFT EVE utilizzando la libreria Gameduino2.

Congratulazioni! Ora puoi divertirti a eseguire gli sketch di esempio ed esplorare le entusiasmanti funzionalità della libreria Gameduino2 con i nostri display TFT EVE.


Supporto software

Please note all software related to the Gameduino2 library was designed by James Bowman, and is not created nor maintained by Newhaven Display International Inc. For any additional software support relating to the Gameduino2 library, we recommend visiting the James Bowman  Github repository.

Link di riferimento

Risorse aggiuntive

Per ulteriore supporto sull'utilizzo dei nostri display TFT della serie EVE con la libreria Gameduino2 o per domande sui nostri altri prodotti di visualizzazione, contattateci tramite uno dei nostri canali di supporto tecnico:

Email techsupport@newhavendisplay.com
Telefono (847) 844-8795
Centro di supporto Centro assistenza display di Newhaven
6 luglio 2023 Newhaven Staff

Ultimi post del blog