Arduino e display Nextion

Salve, a tutti. Sono nuovo del Forum e chiedo scusa se non ho fatto magari una corretta presentazione. Ho cercato il link ma non l'ho trovato.
Vi spiego il mio problema:
ho un display nextion intelligent e un arduino mega. Il progetto è un tachimetro digitale. Per il momento ho implementato solamente la lettura di un sensore di temperatura esterna ma ho notato che ogni volta che avvio l'arduino il display si avvia e rimane per un stato di freez per circa 2/3 secondi per poi riavviarsi e a quel punto tutto funziona correttamente. Potrei tralasciare il problema dato che alla fine il tempo di attesa è pochissimo ma sono molto pignolo a riguardo e vorrei eliminare tale problema. Vi allego il mio codice arduino sperando possiate aiutarmi.
Ripeto mi scuso ancora se non mi sono presentato in apposito topic ma l'ho cercato senza trovarlo.
Grazie a tutti per le risposte!!

#include <doxygen.h>
#include <NexButton.h>
#include <NexCheckbox.h>
#include <NexConfig.h>
#include <NexCrop.h>
#include <NexDualStateButton.h>
#include <NexGauge.h>
#include <NexGpio.h>
#include <NexHardware.h>
#include <NexHotspot.h>
#include <NexNumber.h>
#include <NexObject.h>
#include <NexPage.h>
#include <NexPicture.h>
#include <NexProgressBar.h>
#include <NexRadio.h>
#include <NexRtc.h>
#include <NexScrolltext.h>
#include <NexSlider.h>
#include <NexText.h>
#include <NexTimer.h>
#include <Nextion.h>
#include <DallasTemperature.h>
#include <OneWire.h>
#include <DS18B20.h>
#define SENSOR_BUS_PIN 2

OneWire oneWire(SENSOR_BUS_PIN); //Creiamo istanza OneWire per utilizzare il canale di comunicazione
DallasTemperature sensors(&oneWire);
NexText temp = NexText(1, 9, "t1");
NexGauge giri = NexGauge(1, 2, "z0");

unsigned long t0, dt;
void setup() {
  Serial.begin(9600);
  nexInit();
  sensors.begin();
}

void loop() {
  dt = millis() - t0;
  if(dt > 50)
  {
    updateNextion();
    t0 = millis();
  }
}

void updateNextion()
{
  sensors.requestTemperatures();
  float t = sensors.getTempCByIndex(0);
  char str_temp[6];
dtostrf(t, 4, 2, str_temp);
  temp.setText(str_temp); 
}

Buongiorno,
essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del nostro regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie. :slight_smile:

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di fare il tutto al più presto. :wink:

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