problemi connessione ethernet

Salve a tutti, sono nuovo del forum e volevo porvi un problema…
Ho scritto uno sketch per una applicazione di domotica che dovrebbe simulare il controllo di due lampade (sia in automatico tramite fotoresistenza e sia in manuale) e di almeno tre termosifoni (in automatico con lm35 e in manuale) il tutto da remoto tramite shield ethernet. Oltre a queste funzioni avrei intenzione di aggiungere altre tipo controllo del consumo e gestione tende da sole con anemometro. Il problema è che se carico su arduino lo sketch con il controllo delle due luci ed un termosifone funziona tutto bene, mentre se inserisco il controllo degli altri due termosifoni non riesco più a visualizzare la pagina di arduino da un browser, come se arduino non fosse connesso. Cosa potrebbe essere secondo voi? Arduino ha dei limiti relativi alla shield ethernet?
Vi allego lo sketch che ho creato.

Grazie a tutti :slight_smile: :slight_smile:

domotica_2parte.ino (12.1 KB)

Ciao Non ti sei presentato e non hai letto il regolamento, in esso viene specificato come impostare la domanda, ovvero descrivere l'ardware che si possiede in primo luogo, in ogni caso se hai scritto la pagina web all'interno dello sketch con tutte le cose che devi visualizzare su client non hai sufficiente ram, per quanto tu cercherai di risparmiare memoria, non riuscirai a ottenere un risultato soddisfacente, puoi usare una SD e caricare su di essa le pagine che ti servono, ma avrai comunque lentezza, il micro oltre ad avere un clock troppo basso per queste esigienze, durante quell'operazione perde gli input che potrebbero variare, quindi specifica le tue conoscenze elettroniche e di programmazione, potendoti così indirizzare meglio sulle scelte H/S ciao

Si scusami non ci avevo fatto caso e sono partito direttamente in quinta :D :D Allora sto facendo questo progetto con arduino uno, come ho scritto anche nella presentazione, ho una infarinatura sui linguaggi C, C++ e HTML. Ho provato da SD tempo fa, ma non sono mai riuscito a farlo..

UP!

Aruino uno e' piccolo per poter montare un web serio e corposo...passa ad arduino mega

Hai esaurito la memoria disponibile.

Lo sketch usa 20.454 byte (63%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte. Le variabili globali usano 2.113 byte (103%) di memoria dinamica, lasciando altri -65 byte liberi per le variabili locali. Il massimo è 2.048 byte.

Usa la funzione F() per tutti i print e println.

Ecco…

Lo sketch usa 21.216 byte (65%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte.
Le variabili globali usano 549 byte (26%) di memoria dinamica, lasciando altri 1.499 byte liberi per le variabili locali. Il massimo è 2.048 byte.

Compilato con la 1.5.8 per Arduino UNO.

domotica_2parte.ino (12.4 KB)

Grazie mille, adesso funziona tutto!! Cosa fa di preciso fa funzione F()? Non l'ho mai vista in tra i vari sketch su internet...

F è un pagliativo per caricare le stringhe client.print su flash anziché su ram, Paolo ha solo prolungato di qualche settimana l'agonia del tuo Arduino Uno... :grin:

Capito... dovrà sopportare ancora per poco visto che il progetto serve ad un mio amico per un esame di domotica che ha a gennaio!! Grazie a tutti

E' sceso dal 103% al 26% di RAM occupata. Più che qualche settimana.... :grin:

E poi... ma dove vai se la F() non c'è l'hai?

EDIT: Ho usato per compilare la versione 1.5.8 che fornisce anche il valore sulle variabili statiche caricate in memoria.