Problema temperatura con DHT11: solo int

Salve a tutti,
dopo aver provato ad sistemare il programma per l’invio di dati su COSM riguarda alla temperatura, mi sono accorto che non riesco a leggere la temperatura in float. Ho provato anche con questo programma, ma il problema rimane:

#include <dht.h>

#define dht_dpin A0 //no ; here. Set equal to channel sensor is on

dht DHT;

void setup(){
  Serial.begin(9600);
  delay(300);//Let system settle
  Serial.println("Humidity and temperature\n\n");
  delay(700);//Wait rest of 1000ms recommended delay before
  //accessing sensor
}//end "setup()"

void loop(){
  //This is the "heart" of the program.
  DHT.read11(dht_dpin);

    Serial.print("Current humidity = ");
    Serial.print(DHT.humidity);
    Serial.print("%  ");
    Serial.print("temperature = ");
    Serial.print(DHT.temperature); 
    Serial.println("C  ");
  delay(800);//Don't try to access too frequently... in theory
  //should be once per two seconds, fastest,
  //but seems to work after 0.8 second.
}// end loop()

Secondo voi a cosa è dovuto ? Mi piacerebbe avere un valore in float, in modo che i grafici su COSM non siano degli scalini. Grazie come sempre a chi mi potrà essere di aiuto !

jackbell16:
Secondo voi a cosa è dovuto ?

Il DHT11 non ha cifre decimali.
Puoi fare una cast del valore ma il decimale sarà sempre 0.
Per avere le cifre decimali devi prendere il DHT22.
Questa è la sostanziale differenza tra i due sensori.

PaoloP:

jackbell16: Secondo voi a cosa è dovuto ?

Il DHT11 non ha cifre decimali. Puoi fare una cast del valore ma il decimale sarà sempre 0. Per avere le cifre decimali devi prendere il DHT22. Questa è la sostanziale differenza tra i due sensori.

Ecco svelata l'arcano. Non so perché ma mi ricordavo che si poteva leggere valori anche decimali (magari mi confonderò con il TMP36). Grazie per la tua disponibilità.