visualizar temperatura con solo 3 dígitos, sonda ds18b20

Hola

Podrá orientarme alguien de que forma podria visualizar la temperatura que me proporciona la sonda ds18b20 pero solo con 3 digitos?

En este momento la sonda me marca 20,65°C y yo quisiera que solo marque 20,6°C

No se si me tengo que concentrar en el código del programa o en la librería de la sonda.

Muchas gracias.

Ya lo publique pero creo que iba en software no en harware... creo que yo no lo puedo mover de lugar. disculpas.

Hi,
Para poder ayudarte necesitamos como muestras los valores. Usas un LCD o el IDE del arduino

Algo tan simple como esto

Serial.println(1.23456, 0) // devuelve "1"
Serial.println(1.23456, 1) // devuelve "1.2"
Serial.println(1.23456, 2) // devuelve "1.23" 
Serial.println(1.23456, 3) // devuelve "1.234" 
Serial.println(1.23456, 4) // devuelve "1.2345"

Buenasss

Lo estoy visualizando en un lcd y lo q indico surbyte funciono de 10.

Muchas gracias por el dato y la ayuda de los dos.

A ver. no soy adivino, si tu no dices nada, yo asumo algo como el monitor serie y entonces lo que te sugerí si fuciona. En LCD no funciona por razones obvias, el print de LCD no tiene nada que ver con el del monitor serie.

Para ello necesitas sprintf() y dtostrf

char* dtostrf(float number, int tamanyo, int decimales, char* buffer);
/* | | | _ buffer donde almacenaremos la cadena
| | _ Precisión (nº decimales)
| _Tamaño del número en carácteres
_ Número a convertir
*/

float i=0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);  //Iniciamos la salida serie
  Serial.println("Iniciando ejemplo");
}

void loop() {
  char* buffn="";  //Cadena donde almacenaremos el número convertido
  dtostrf(i,10,2,buffn); //Llamada a la función
  char buffer[20]=" "; //Buffer de la cadena donde se devuelve todo, número formateado y cadena concatenada
  char* formato="Bucle %s"; //Cadena con la mascara a convertir
  sprintf(buffer, formato, buffn);
  i+=1.01;
  Serial.println(buffer); // reemplaza Serial.println por lcd.print() y va a funcionar
  delay(1000);
}

Hi,
Has lo en esta forma lcd.print( variable,(numero de digitos)).

nono, pero lo que quise decir es que la ayuda primera que me dio surbyte funciono BIEN! fue correcto lo que me indico.

Les copio como quedo, mas que nada por si a alguien en el futuro le sirve

if (time-t > tiempoT) 
  {
  t = time;
                                 //TEMPERATURA
  lcd.setCursor(0, 0);
  lcd.print("T.agua:");
  lcd.print(temp, 1);   // ACA ES DONDE AGREGUE EL "1" QUE INDICO SURBYTE
  lcd.print("C");