Ciao a tutti. Sto preparando un progetto con arduino per l'esame di maturità. In pratica è una stazione meteo (con sensore di temperatura, umidità e pressione) che comunica i dati via SMS (ho una GSM SHIELD ufficiale e utilizzo la libreria ufficiale), ma ho molti problemi. Ho un po' di esperienza con arduino, ma ho zero esperienza con la manipolazione di stringhe, array di caratteri e con la shield GSM. Iniziamo con ordine.
Non so come inserire nel messaggio da inviare le variabili di temperatura, pressione e umidità, vedendo gli esempi della libreria GSM vedo come, per inviare gli sms, quello che arduino legge dalla porta seriale lo salva in un array di caratteri (char txtMsg[200]), quando invece riceve gli sms salva ogni carattere in una variabile char (char c;) e la mostra sulla porta seriale ( while(c=sms.read())
Serial.print(c);
un carattere alla volta da quello che ho capito). Tenendo conto che il messaggio da inviare vorrei farlo pre-strutturato in questo modo:
T=[valoreTemperatura]°C
U=[valoreUmidità]%
P=[valorePressione]mbar
e tenendo conto che arduino invia, da quello che ho capito, un array di caratteri, io non so come inserire queste variabili nei rispettivi spazi dell'array. Mi sembra di aver letto da qualche parte che potrei usare sempre delle variabili char per salvare il valori di temperatura, umidità e pressione, però, mentre per l'umidità è una cosa fattibile (dato che varia tra 0 e 100), per la pressione no (varia da 950 a 1050 circa) e riguardo la temperatura vorrei far si che mi mostri il primo decimale (ad esempio 24,2 e non 24), qui penso sia obbligatoria la variabile float. Ma, come ho detto, non so come inserirle nell'array che sarà inviato.
Un altro problema (ma questo è un po' meno importante) è che non so come andare a capo nei messaggi. Come potete vedere dalla struttura del messaggio ho messo i tre valori su tre righe diverse, ma non so come far farlo ad arduino. Ho provato a mettere un "\n" nell'array e l'ho inviato al mio cellulare, ma il cellulare mi ha letto "Ön". Invece, inviando un messaggio dal cellulare ad arduino con dei ritorni a capo sulla porta seriale mi appare il messaggio ben impostato (con i ritorni a capo). Questo significa che arduino gli riesce a interpretare.
Mi spiace se ho detto delle stupidaggini nel messaggio (come ho detto su questa parte non so niente) e spero mi possiate aiutare, perché questo progetto lo devo far funzionare (soprattutto davanti la commissione!!!) e non posso più cambiarlo.
Grazie a tutti