Sempre grazie primo, il resto dovrebbe funzionare, poichè se a quella stringa antepongo // e viene disabilitata, solo quella che scrive il dato, lo compila e vedo in monitor seriale i dati scorrere aggiornati e corretti.
Quindi devo solo far capire, parola grossa, all'IDE cosa voglio che faccia. :)
Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
In orizzontale i valori temp hum e pres.
In verticale con un centesimo in più, TEMP HUM e PRES che corrisponde.
Per capire bene il comando u8g,drawStr dovrebbe essere le prime due cifre indicano le coordinate dove scerivere e la terza cosa scrivere, la mia domanda è:
Perchè se in monitor seriale le variabili vengono scritte e in quel comando le da non assegnate?
Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
rcc.roberto: Forse per quello che ti ho scritto sopra
Quella operazione, di prendere un valore e trasformarlo in stringa da dare in pasto al comando visualizza lo fa la riga precedente.
Allego la parte in oggetto. Cambiando gli apici con accento, ma per chi è del campo lo capirà .
u8g.drawStr( 5, 13, 'Temp'); // do this for temperature
dtostrf(tempC, 3, 1, temp_string);
u8g.drawStr(50,13, temp_string);
u8g.drawStr(105,13, '*C');
In pratica, da quel poco che ho capito, dtostrf prende la variabile tempC preleva 3 cifre intere 1 decimale e la spara in temp_string e poi drawStr nel posto indicato scrive la temperatura (Variabile tempC)
Penso.
Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
primok
postato il: 12.02.2023, alle ore 20:42
FrancoGual:
rcc.roberto: Forse per quello che ti ho scritto sopra
Quella operazione, di prendere un valore e trasformarlo in stringa da dare in pasto al comando visualizza lo fa la riga precedente.
Allego la parte in oggetto. Cambiando gli apici con accento, ma per chi è del campo lo capirà .
u8g.drawStr( 5, 13, 'Temp'); // do this for temperature
dtostrf(tempC, 3, 1, temp_string);
u8g.drawStr(50,13, temp_string);
u8g.drawStr(105,13, '*C');
In pratica, da quel poco che ho capito, dtostrf prende la variabile tempC preleva 3 cifre intere 1 decimale e la spara in temp_string e poi drawStr nel posto indicato scrive la temperatura (Variabile tempC)
Penso.
Sostituisci la funzione con quella postata da me in soluzione e prova.
Più piccola è la mente più grande è la presunzione.
Spiego.
Temp Humidity e Pressure sono i valori inviati dal sensore
tempS HumidityS e PressureS sono gli stessi valori scritti in Stringa o quella che deve essere visualizzata.
TempF HumidityF e PressureF sono le stesse variabili scritte in float.
In pratica mando a monitor le varie varibili, che appunto VARIANO, a cacchio loro.
Questa è la parte di codice che maneggia le variabili in oggetto.
Alla temperature e umidità elimina i decimali e la pressione mette valori a cacchio di cane!
// convert floats into char u8g strings
u8g.drawStr( 5, 13, 'Temp'); // do this for temperature
dtostrf(tempC, 3, 1, temp_string);
u8g.drawStr(50,13, temp_string);
u8g.drawStr(105,13, '*C');
u8g.drawStr(5,35, 'Um'); // do this for humidity
dtostrf(hum_float, 3, 1, hum_string);
u8g.drawStr(50,35, hum_string);
u8g.drawStr(110,35, '%');
u8g.drawStr(5,56, 'Pres'); // do this for pressure
dtostrf(pres_float, 1, 1, pres_string);
u8g.drawStr(50,56, pres_string);
u8g.drawStr(110,56, 'mB');
Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito