Modificare risultati finestra Serial

Ciao a tutti,

Vorrei modificare il mio sketch per fare in modo che l’unita venga fuori dopo i numeri (% e C), e vorrei sapere come fare per avere i decimali laddove non ci sono?

In allegato una cattura schermo della mia finestra Serial.

il io sketch è

#include <dht11.h> //For DHT11
dht11 DHT;
#define DHT11_PIN 8 //DHT11 Signal pin on digital 8

#include <OneWire.h>  //For DS18B20
int DS18B20_Pin = 2; //DS18B20 Signal pin on digital 2

//Temperature chip i/o
OneWire ds(DS18B20_Pin); // on digital pin 2

void setup(){
  Serial.begin(9600); 
  //Serial.println("DHT TEST PROGRAM "); //DHT11
  //Serial.print("LIBRARY VERSION: ");
  //Serial.println(DHT11LIB_VERSION);
  Serial.println();
  //Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}
 
void loop(){
  int chk;                                 //Start DHT11
  Serial.print("Umidita dentro casa : \t % ");
  
  chk = DHT.read(DHT11_PIN);               // READ DATA DHT11
  switch (chk){
    case DHTLIB_OK:  
                //Serial.print("OK,\t % "); 
                break;
    case DHTLIB_ERROR_CHECKSUM: 
                Serial.print("Checksum error,\t"); 
                break;
    case DHTLIB_ERROR_TIMEOUT: 
                Serial.print("Time out error,\t"); 
                break;
    default: 
                Serial.print("Unknown error,\t"); 
                break;
  }
 // DISPLAT DATA
  Serial.println(DHT.humidity,1);
  Serial.print("Temp. dentro casa : \t C ");
  Serial.println(DHT.temperature,1);
 
  //delay(1000);                             //End DHT11
  
  
 float temperature = getTemp();           //Start DS18B20
 Serial.print("Temp. acqua :              ");
 Serial.print(temperature);
 Serial.println(" C");
 Serial.println(" ");
 
 delay(1000); //just here to slow down the output so it is easier to read
 
}


float getTemp(){
 //returns the temperature from one DS18S20 in DEG Celsius

 byte data[12];
 byte addr[8];

 if ( !ds.search(addr)) {
   //no more sensors on chain, reset search
   ds.reset_search();
   return -1000;
 }

 if ( OneWire::crc8( addr, 7) != addr[7]) {
   Serial.println("CRC is not valid!");
   return -1000;
 }

 if ( addr[0] != 0x10 && addr[0] != 0x28) {
   Serial.print("Device is not recognized");
   return -1000;
 }

 ds.reset();
 ds.select(addr);
 ds.write(0x44,1); // start conversion, with parasite power on at the end

 byte present = ds.reset();
 ds.select(addr);  
 ds.write(0xBE); // Read Scratchpad

 
 for (int i = 0; i < 9; i++) { // we need 9 bytes
  data[i] = ds.read();
 }
 
 ds.reset_search();
 
 byte MSB = data[1];
 byte LSB = data[0];

 float tempRead = ((MSB << 8) | LSB); //using two's compliment
 float TemperatureSum = tempRead / 16;
 
 return TemperatureSum;                       //End DS18B20
 
}

Grazie per il vostro prezioso aiuto!

Serial.png

Stesso problema che stai affrontando qui: http://forum.arduino.cc/index.php?topic=262090.msg1850190#msg1850190

Di là hai già avuto delle risposte, perché aprire una nuova discussione identica?

Chiudo.