Salve il progetto che sto facendo questo momento è il seguente: ho un sensore che rileva gli Ampere in arrivo in casa, da questo collegato ad Arduino Uno calcolo una serie di variabili e le stampo sul serial monito; fin qua nessun problema.
Io però voglio stampare quello che comprare sul serial monito su uno schermo TFT, in particolare questo:
http://www.lcdwiki.com/3.5inch_Arduino_Display-Mega2560
Questo schermo è collegato ad un Arduino Mega ed è collegato tramite TX/RX al Arduino Uno a cui è collegato il sensore. La comunicazione tra i due funziona senza problemi.
Non ho alcuna esperienza con questo tipo di monitor perciò non quale tipo di istruzione usare, cercando su internet sono arrivato al seguente codice ma da circa due settimane non sono riuscito ancora a stampare completamente quello che arriva al arduino Mega.
Cosa mi consigliate di fare, avete esperienza su questo monitor?
#include <LCDWIKI_GUI.h> //librerie, colori e inizializazione schermo
#include <LCDWIKI_KBV.h>
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
LCDWIKI_KBV mylcd(ILI9486, A3, A2, A1, A0, A4);
char Test1 [106]; //variabile in cui salvo ciò che arriva dal serial monitor
void setup()
{
Serial1.begin(9600); //serial 0 occupato dal monitor, utilizzo serial 1
mylcd.Init_LCD(); //inizializzo schermo
mylcd.Fill_Screen(BLACK); //schermo tutto nero
delay(1000);
}
void loop()
{
{
if (Serial1.available())
//int array[107] = { 0 }; //altro tentativo
//char Test1[107] = {Serial1.read()}; //altro tentativo
//String (Serial1.read()) = String Test1; //altro tentativo
Test1 = Serial1.read(); // la stringa che arriva al serial lo salvo nella variabile
}
mylcd.Set_Text_Size(3);
mylcd.Set_Text_Back_colour (BLACK);
mylcd.Set_Text_colour (WHITE);
mylcd.Print("Valori dal Sensore :", 5, 6);
mylcd.Set_Text_Size(2);
mylcd.Set_Text_Back_colour (BLACK);
mylcd.Set_Text_colour (WHITE);
//mylcd.Draw_Char(5, 80, Test1, WHITE, BLACK, 2, 0);
mylcd.Print(Test1, 5, 100);
delay (1000);
mylcd.Set_Text_Size(2);
mylcd.Set_Text_Back_colour (BLACK);
mylcd.Set_Text_colour (BLACK);
//mylcd.Draw_Char(5, 80, Test1, BLACK, BLACK, 2, 0);
mylcd.Print(Test1, 5, 100);
delay(250);
}