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


soluzione
     
Autore Messaggio opzioni
primok




una ogni 100 livelli
una ogni 10 livelli


postato il:
12.02.2023, alle ore 20:41
soluzione 

 void draw(){

  unsigned char temperatura[10];
    unsigned char pressione[10];
      unsigned char Umidita[10];
  float temp(NAN), hum(NAN), pres(NAN);

   BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
   BME280::PresUnit presUnit(BME280::PresUnit_Pa);

   bme.read(pres, temp, hum, tempUnit, presUnit);

    u8g.drawFrame(0,0,128,21);            // upper frame
    u8g.drawFrame(0,21,128,21);           // middle frame
    u8g.drawFrame(0,42,128,21);           // lower frame
 
  // convert floats into char u8g strings    

u8g.drawStr( 5, 13, "Temp");       // do this for temperature

dtostrf(temp, 6, 2, temperatura);

  u8g.drawStr( 50, 13, temperatura);        // Variabile non VA!!!
  u8g.drawStr(105,13, "*C");

  dtostrf(pres, 6, 2, pressione);

  u8g.drawStr( 5, 35, "Press");       // do this for Pressure
  u8g.drawStr( 50, 35, pressione);        // Variabile non VA!!!
  u8g.drawStr(110,35, "mB");
  
   dtostrf(hum, 6, 2, Umidita);

  u8g.drawStr(8,56, "Hum");             // do this for humidity
  u8g.drawStr( 50, 56, Umidita);        // Variabile non VA!!!
  u8g.drawStr(115,56, "%"); 
       
}  



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




una ogni 100 livelli
una ogni 10 livelli


postato il:
14.02.2023, alle ore 14:53
FrancoGual:
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.


Io sinceramente non ho ben capito qual è il tuo problema. Da quello che ho letto e che hai scritto il problema riguarda la visualizzazione sul display.

in questi casi io mi concentrerei solo sulla parte di codice corrispondente.

Quindi escluderei visualizzazione sul monitor seriale.

Perciò usa solo le funzioni che servono per visualizzate sul display e cioè:

draw();

bme.read(pres, temp, hum, tempUnit, presUnit);

poi definisci le variabili


float temp, hum, pres;

BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
BME280::PresUnit presUnit(BME280::PresUnit_Pa);







Più piccola è la mente più grande è la presunzione.
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