ciao
ho acquistato un arduino uno e un modulo wi-fi MRF24WB0MA.
La mia intenzione era quella di inserire un sensore di temperatura
tipo LM35 e di poterla visualizzare dopo opportuna conversione su una
pagina html.
Nella libreria del hardware ho trovato un esempio che fa a caso mio
WEBServerAuth.ino dove trovo una riga che spedisce
su html la lettura del canale analogico:
char val0[5];snprintf(val0,5,"%d",analogRead(0));val[0]=val0;
ho modificato la riga sopra con quella sotto dove la variabile temperatura è il risultato della lettura dell'analogica con il rapporto di conversione.
Sottolineo che temperatura è una variabile float naturalmente.
formato esempio: 17.58
char val0[5];
snprintf(val0,5,"%d",temperatura);
val[0]=val0;
A parte che non riesco a comprendere la terza riga qual'è il fine, ma il problema è che non riesco assolutamente a visualizzare il mio valore 17.58, ho
provato a modificare il parametro %d con altri paramentri, ma nulla.
Dove è l'errore?!
C'è qualcuno che può darmi un help!!!
sspassìba
Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento
Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare.
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.
Scusate il mio nome è Bartolomeo e sono un 40 enne appassionato di elettronica. Ho buone conoscenze sul hardware in elettronica in generale ho fatto qualche progettino in asm con pic e ora mi cimento con Arduino.
Volevo realizzare un applicazione dove potevo monitorare tramite mio smartphone la temperatura in casa e comandare on/off utenze.
Per fare questo ho acquistato un Arduino uno e uno shield wi-fi MRF24WB0MA.
Il sensore da me utilizzato è un classico LM35 sul canale 0.
Utilizzando la libreria del hardware ho trovato un esempio che fa a caso mio WEBServerAuth.ino dove trovo una riga che spedisce su html la lettura del canale analogico.
void panalog(char *query) // analog page
{
#if VERBOSE
Serial.println("Analog...");
#endif
char *val[6];
char val0[5];
snprintf(val0,5,"%d",analogRead(0));
val[0]=val0;
WIFI.sendDynResponse(csocket,pageanalog,6,val); // send dynamic response
}
E' una routine del programma che ho trovato in libreria ed ho modificato la riga snprintf sopra con quella sotto dove la variabile temperatura è il risultato della lettura dell'analogica con il rapporto di conversione.
Sottolineo che temperatura è una variabile float naturalmente formato esempio: 17.58.
Dal monitor seriale vedo la variabile che lavora correttamente, ma non sulla pagina html.
Riporto la mia modifica:
char val0[5];
snprintf(val0,5,"%d",temperatura);
val[0]=val0;
non riesco a comprendere il motivo per il quale non riesco a visualizzare correttamente il mio valore in temperatura float sulla pagina html.
Chi può aiutarmi
grazie
bartolo