home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Pic Micro
Tutto quanto riguarda questi microprocessori... progetti, suggerimenti, aiuti, discussioni...ecc


Non lo so fare
     
Autore Messaggio opzioni
rcc.roberto



[pagine pubblicate]

postato il:
13.02.2023, alle ore 22:55
dtostrf(pres_float, 1, 1, pres_string);



la prima cifra dovrebbe essere il numero di caratteri che vuoi passare
la seconda il numero di decimali

dovrebbe perciò essere
dtostrf(pres_float, 7, 2, pres_string);


e di conseguenza anche le altre
primok




una ogni 100 livelli
una ogni 10 livelli


postato il:
14.02.2023, alle ore 07:06
FrancoGual:
Aggiornamento, ovvio non posso allegare il codice, che ora va, male ma va.
 Temp: 16.32°C Humidity: 49.30% RH Pressure: 1009.24 MilliBar 
tempS: 16°C HumidityS: 49.0% RH PressureS: 59.0 MilliBarS: 
tempS: 16.0°C HumidityF: 49% RH PressureF: 241 MilliBarF: 
 

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');             


https://www.delftstack.com/it/howto/arduino/arduino-dtostrf/



Più piccola è la mente più grande è la presunzione.
FrancoGual



[pagine pubblicate]

postato il:
14.02.2023, alle ore 08:33
La funzione citata l'ho letta e riletta e messa nei preferiti.
Tuttavia i risultati sono quelli che monitor seriale mi visualizza.
Ah, il problema di non dichiarate era alla fine l'eccessiva serie di void() che racchiudono e separano le funzioni.
Credo.



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.........
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

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




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale