Display TFT non stampa la stringa proveniente da un altro Arduino

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);
}

Benvenuto, Nicola! :slight_smile:

Per cortesia, come da regolamento, per prima cosa presentati nell'apposita discussione spiegando bene quali esperienze hai in elettronica e programmazione, affinché possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Poi leggi attentamente tutto il regolamento, in particolare leggi bene i punti 15.3 e 17.1, e impegnati a rispettarlo.

Ti ricordo che, purtroppo, fino a quando non avrai fatto la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.