Pagina Html non visualizza valore sensori

Scusa, nel loop vedo questo:

void loop() {
  if (Serial1.available()) {
    while (Serial1.available())
    {
      d  = Serial1.read();
      Serial.write(d);
      if ( d != '\n' ) {
        if ( d != '\r' ) {
          dato[conta] = d;
          conta++;
        } else {
            for (int i = 0; i < 100; i++)
            dato[i] = 0;
        }
      }
    }
  }
  ... eccetera

Quindi tu usi la variabile "conta" come indice dell'array dato[] per memorizzare i dati, esatto? La variabile la inizializzi a zero, poi nel loop la incrementi ad ogni carattere, ed anche questo va bene.

Stando a quanto vedo, tu in questa sezione del loop() se il carattere ricevuto è diverso da LF, vai a vedere se è diverso anche da CR ed in questo caso accumuli nell'array ed incrementi "conta", altrimenti resetti il buffer. Quindi di fatto i tuoi dati DEVONO finire con \r o almeno \n esatto?

Primo, sei quindi sicuro che dall'altra parte ti mandano le informazioni terminandole con \r \n o almeno \n? Se non ricevi il terminatore, tu accumuli i vari byte fino a far scoppiare il tuo buffer dato[] dopo 255 byte ricevuti visto che non ti sei chiesto dov'è che la variabile "conta" la riporti a zero (ossia mai, almeno stando al listato che hai postato....).

Secondo, se anche ti mandassero i dati correttamente ossia con il terminatore previsto, tu alla ricezione del terminatore invece di USARE il dato fin qui ricevuto hai messo quel for() che riporta a zero tutti i dati, quindi non leggerai mai nulla! Questo, sempre stando a quanto dici, non capita mai (altrimenti avresti detto che non leggi nessun dato) per cui temo che tu NON riceva mai \n.

Terzo, è un suggerimento per farti capire come si fanno queste cose: per fare quello che ti serve dovresti usare DUE array, uno per accumulare i byte ricevuti (in genere viene chiamato "buffer") diciamo un "char buf[255];", ed uno, anche il tuo "dato[255]" dove troverai l'ultimo dato completo ricevuto.
Quando ricevi \n devi copiare tutti i byte da buf[] a dato[] (escluso il \n) e se lo usi come una stringa mettere in coda il terminatore di stringa (\0) quindi azzerare buf[] e riposizionare a zero il "conta" (è qui che va fatto).

Prova a modificare in questo modo il programma e facci sapere.