nid69ita:
Primo, hai dichiarato Sensori obj; nella loop()
La loop() viene eseguita di continuo. Essendo l'oggetto dichiarato in quella funzione, ogni volta che la loop() viene eseguita l'oggetto nasce e muore.
Secondo, usi dtostr() e fai dei return con funzioni il cui valore di ritorno li dichiari String. dtostr() e String non c'entrano nulla l'una con l'altra. dtostr() ritorna un char* e non un String (che è un oggetto della classe String, molto pesante per una MCU con soli 2Kb di SRAM)
http://www.atmel.no/webdoc/AVRLibcReferenceManual/group__avr__stdlib_1ga060c998e77fb5fc0d3168b3ce8771d42.html
so' perfettamente che ho creato l'oggetto nel loop, è proprio quello che volevo fare: se vedi gli attributi della classe ne ho messo uno statico che aumenta ogni volta che viene creato un oggetto di quella classe, e lo sommo agli altri attributi facendoli cambiare ogni volta che il loop viene eseguito, un po' come una lettura di sensori, che voglio infatti simulare (perchè ora non li ho disponibili).
Come secondo punto hai ragione e ne ero consapevole, dici che il problema si risolve cambiando il tipo del metodo in char*? (ora cmq provo e ti dico)
edit: ok ho cambiato il tipo di ritorno dei 3 metodi di conversione in char* ed ora il risultato è:
Inizializzazione
temp=L ÛÜ lum=L ÛÜ hum=3 pres=1000 alt=L û rain=1
e si impianta qui senza fare altri loop.. idee?