Problemi invio POST con Arduino UNO Rev3 & Ethernet Shield Rev3 & IDE 1.0.1

Ciao Community,
ho già fatto alcuni progetti con Arduino ma avevo sempre utilizzato Arduino UNO con Ethernet Shield prima versione e IDE 0023 e precedenti.
Sto lavorando per la prima volta con Rev3 di Arduino e la IDE 1.0.1 e ammetto di avere qualche difficoltà sopratutto con il parametri di configurazione ETH.
Dovrei inviare via POST dei valori ad un foglio di calcolo di Google, il tutto sembra funzionare correttamente ma dopo alcuni invii Arduino si blocca. Lo deduco dal monitor seriale che tace dopo qualche invio, quindi escludo che sia google che ferma le richieste.
Qualcuno di voi ha un idea del perché?
E' il DHCP che ogni tanto si "perde"? Oppure è scritto male il client. connect o dovrei inserire un if client. available?
Lo sketch su cui sto lavorando è il seguente (ho apportato alcuni commenti sulle prove che ho effettuato)

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress server(209,85,229,101);

EthernetClient client;

void setup() {
  Serial.begin(9600);
  Ethernet.begin(mac);
  Serial.println("connecting...");
  delay(1000);
}

void loop() {
  // *** se inserisco  if (client.available())  non funziona ovvero rimane FALSE ***
  client.connect(server, 80); // *** credo che il problema stia qui che dopo un po' perde la connessione ***
  Serial.println("connected");

  // invio dati in POST    
  client.print("POST ...");
  ...
  client.println();

  delay(1000);

  client.stop();
  Serial.println("client stop");

  delay(20000);
}

Come sempre ringrazio tutti voi per il supporto.
Gianni

Ho notato che se chiudo il monitor seriale una volta che Arduino si è bloccato e lo riapro, Arduino torna a funzionare ma come nelle volte precedenti dopo qualche invio si ri-blocca.
Magari ho sbagliato a scrive male il setup? Mi sembra strano.
E' possibile che il DHCP sia poco stabile e quindi ad ogni loop rischia di perdere la configurazione IP e quindi arduino si blocca?
Grazie ancora per la vostra cortese collaborazione.
Saluti,
Gianni

questo perchè quando apri il monitor seriale arduino si resetta.

dovresti cercare di capire DOVE si blocca arduino, anche se probabilmente è un blocco dettato dalla mancanza di ram

lesto come sempre ti ringrazio della tua disponibilità.

dovresti cercare di capire DOVE si blocca arduino, anche se probabilmente è un blocco dettato dalla mancanza di ram

Si blocca su un qualsiasi client.stop(); o sull'ennesimo client.connect(server, 80); del loop.
Che sia un discorso di ram mi sembra strano dato che invio solo un valore letto da un ingresso analogico.
Lo sketch vi sembra corretto?
Potrebbe essere l'Arduino o lo Shield difettoso?
Ringrazio ancora tutta la community,
Gianni

Arduino supporta un delay di 60''?

se non erro la delay arriva fino a circa 50gg

A chi interessasse sembra funzionare con questa versione

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress server(x,x,x,x);

EthernetClient client;

void setup() {
  Serial.begin(9600);
  Ethernet.begin(mac);
  client.connect(server, 80);
  delay(1000);
}

void loop() {
  if (client.connect(server, 80)) {
    client.print("POST ...");
    ...
    client.println();
    delay(1000);
    client.stop();
  }
  else {
    delay(1000);
    Serial.println("connessione fallita");
    client.stop();
  }
  delay(150000);
}