collapse

* Posts Recentes

Aquisição da Arduino LLC pela Qualcomm por SerraCabo
[22 de Outubro de 2025, 14:16]


MMD-1 Mini Micro Designer Restoration - Part 1 por SerraCabo
[22 de Outubro de 2025, 12:44]


Identificar 2 componentes por dropes
[09 de Setembro de 2025, 20:59]


Microondas o que terá sido? por almamater
[09 de Setembro de 2025, 18:29]


Ajuda Pcb USB 3.0 por andlig
[10 de Agosto de 2025, 10:36]


+ LASERs por dropes
[16 de Julho de 2025, 12:38]


Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]

Autor Tópico: Sensor temperatura LM35DZ  (Lida 9942 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline joaopedrocmp

  • Mini Robot
  • *
  • Mensagens: 246
Re: Sensor temperatura LM35DZ
« Responder #15 em: 06 de Abril de 2012, 13:40 »
Boas outra vez,

Entretanto experimentei esta função , mas continua igual:

Código: [Seleccione]
void printDouble( double val, byte precision){
  // prints val with number of decimal places determine by precision
  // precision is a number from 0 to 6 indicating the desired decimial places
  // example: printDouble( 3.1415, 2); // prints 3.14 (two decimal places)

  Serial.print (int(val));  //prints the int part
  if( precision > 0) {
    Serial.print("."); // print the decimal point
    unsigned long frac;
    unsigned long mult = 1;
    byte padding = precision -1;
    while(precision--)
mult *=10;

    if(val >= 0)
frac = (val - int(val)) * mult;
    else
frac = (int(val)- val ) * mult;
    unsigned long frac1 = frac;
    while( frac1 /= 10 )
padding--;
    while(  padding--)
Serial.print("0");
    Serial.print(frac,DEC) ;
  }
}