void calculos() { ///////////////////////////
  // Serial.println("calculos");
  fecha();
  getSensorReadings(); // float
  historia1[h] = sensor1;// juntar valores como enteros para grafico
  historia2[h] = sensor2;// juntar valores como enteros para grafico
  h++;
  // maximos y minimos
  if ((sensor1 < minH1) || (sensor1 > maxH1)) {
    minH1 = sensor1 / escala1;  // recalculo de margenes del grafico
    maxH1 = sensor1 * escala1;
  }
  if ((sensor2 < minH2) || (sensor2 > maxH2)) {
    minH2 = sensor2 / escala2;  // recalculo de margenes del grafico
    maxH2 = sensor2 * escala2;
  }

  if (h >= largoH) { // si llego al largo de la historia
    h = 0; // reiniciar historia
    fecha(); // fecha inicio nuevo ciclo
    annoi = anno; mesi = mes; diai = dia; horai = hora; minutoi = minuto; segundoi = segundo; // inicio ciclo
  }
}///////////////////////calculos

void fecha() {/////////////////////////////
  //Serial.println(" fecha");
  // Serial.println(h);// para debug

  timeClient.update();
  time_t epochTime = timeClient.getEpochTime();
  String formattedTime = timeClient.getFormattedTime();
  hora = timeClient.getHours();
  minuto = timeClient.getMinutes();
  segundo = timeClient.getSeconds();
  //Get a time structure
  struct tm *ptm = gmtime ((time_t *)&epochTime);
  dia = ptm->tm_mday;
  mes = ptm->tm_mon + 1;
  anno = ptm->tm_year + 1900;
}////////////////////////////////////

static void smartDelay(unsigned long ms) { //This delay() ensures
  // retardo examina servidor web
  unsigned long start = millis();// tiempo actual
  do  {
    server.handleClient();
  } while (millis() - start < ms);
}////////////////////////////////// smartDelay
