Display Nextion e arduino mega 2560

Buongiorno cari amici, ho un problema e spero che qualcuno possa farmi luce, io sono un radioamatore e stavo costruendo un bel ricetrasmettitore, ho avuto la malsana idea di usare per lo scambio dei filtri hf un arduino mega e un display nextion.

Il programma da me scritto molto semplice funziona su arduino uno e su arduino nano, ma non su uno rev 4 e su arduino mega, la trasmissione da arduino al display invece funziona perfettamente ma non la ricezione dei tasti, quindi escluderei a priori un errore di cablaggio, vorrei usare la seriale 0 per comodità, ma lo stesso problema succede anche con serial1 e 2, il display riceve da arduino ma non trasmette l'evento.
Ps. abbiate pietà di me, non sono un programmatore e mi scuso preventivamente per eventuali errori

Grazie Luca

#include <Nextion.h>
#include <EasyNextionLibrary.h>
EasyNex myNextion ( Serial );

//#include <avdweb_AnalogReadFast.h>
//#if defined(__arm__)
//analogReadResolution(10);
//#endif

#include "DHT.h"
#define DHTPIN 5
#define DHTTYPE DHT11
DHT dht ( DHTPIN, DHTTYPE );

unsigned int potenza = 0;
unsigned int swr = 0;
int temperatura = 0;
unsigned int amp = 0;
unsigned int tensione = 0;
unsigned int swr1 = 0;

//    NexWaveform s0 = NexWaveform(0,19,"s0");        //inizializza il grafico

NexButton b80 = NexButton ( 0, 5, "b7" );
NexButton b40 = NexButton ( 0, 4, "b6" );
NexButton b20 = NexButton ( 0, 3, "b5" );
NexButton b1517 = NexButton ( 0, 2, "b4" );
NexButton b1012 = NexButton ( 0, 30, "b3" );
NexButton b6 = NexButton ( 0, 29, "b2" );
NexButton bstart = NexButton ( 0, 12, "b1" );
//NexButton breset = NexButton(0, 25, "b5");

NexTouch *nex_list[] = {
   &b80,
   &b40,
   &b20,
   &b1517,
   &b1012,
   &b6,
   &bstart,
   NULL
};

void setup() {

   dht.begin();                    //inizializza il sensore di temperatura dht11

   pinMode ( 13, OUTPUT );
   pinMode ( 20, OUTPUT );
   pinMode ( 19, OUTPUT );
   pinMode ( 18, OUTPUT );
   pinMode ( 17, OUTPUT );
   pinMode ( 16, OUTPUT );
   pinMode ( 15, OUTPUT );

   pinMode ( 40, OUTPUT );  //disconnettore RX
   pinMode ( 42, OUTPUT );
   pinMode ( 44, OUTPUT );
   pinMode ( 46, OUTPUT );
   pinMode ( 48, OUTPUT );
   pinMode ( 50, OUTPUT );

   digitalWrite ( 13, LOW );

   nexInit();

   b80.attachPop ( accensione80, &b80 );
   b40.attachPop ( accensione40, &b40 );
   b20.attachPop ( accensione20, &b20 );
   b1517.attachPop ( accensione1517, &b1517 );
   b1012.attachPop ( accensione1012, &b1012 );
   b6.attachPop ( accensione6, &b6 );
   bstart.attachPop ( start, &bstart );

   pinMode ( 9, OUTPUT );                        // uscita alimentazione

   myNextion.begin ( 9600 );

}

void loop() {

   myNextion.writeNum ( "j3.val", 50 );

   delay ( 10 );

   int   temperatura = dht.readTemperature();
   //   myNextion.writeNum("j3.val", temperatura);
   //    myNextion.writeNum("x3.val", temperatura);


   nexLoop ( nex_list );

}


void accensione80 ( void *ptr ) {
   digitalWrite ( 17, HIGH );
   digitalWrite ( 46, HIGH );
   digitalWrite ( 13, HIGH );
}

void accensione40 ( void *ptr ) {
   digitalWrite ( 15, HIGH );
   digitalWrite ( 48, HIGH );
}

void accensione20 ( void *ptr ) {
   digitalWrite ( 16, HIGH );
   digitalWrite ( 50, HIGH );
}

void accensione1517 ( void *ptr ) {
   //  digitalWrite(18,HIGH);
   digitalWrite ( 50, HIGH );
}
void accensione1012 ( void *ptr ) {
   //  digitalWrite(19,HIGH);
   digitalWrite ( 50, HIGH );
   digitalWrite ( 13, HIGH );
}
void accensione6 ( void *ptr ) {
   digitalWrite ( 20, HIGH );
   digitalWrite ( 50, HIGH );
   digitalWrite ( 13, HIGH );
}
void start ( void *ptr ) {
   digitalWrite ( 13, HIGH );
}

Ho sistemato, per renderlo più leggibile, il tuo codice. La prossima volta utilizza la funzione di formattazione autometica dell'IDE. Grazie. - gpb01

Buongiorno e benvenuto nella sezione Italiana del forum,

cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE (... quello che vedi in blu è un link, fai click su di esso per raggiungere la discussione) spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. ;)