Boa noite.
Alguém poderia me ajudar... Fiz um controlador de temperatura e o mesmo esta funcionando perfeitamente, mas no meu display aparece 17.00, se colocar em uma variável int o mesmo vai aparecer somente 17. Seria possível mostrar apenas uma casa depois do ponto? Tipo 17.5?
Valeu.
Tags:
Coloca um '\0' no lugar do ultimo zero.
Desculpa a ignorancia.. nao entendi.
A classe String possui um construtor que permite converter um float para String especificando o número de casas decimais.
Supondo que a sua temperatura esteja em um variável float de nome temp:
String stemp = String(temp,1); //Vai criar um variável String formatada para 1 casa decimal
lcd.print(stemp);
Qual sensor de temperatura esta usando?
Alguns não tem resolução de 0,5 grau.
18B20
OK , tem resolução suficiente .
A resolução do termômetro é configurável de 9 até 12 bits.
Oi AFM, bom dia.
A sua variável é do tipo "float"?
Se for use assim lcd.print(suavariavel,1);
aparecerá somente uma casa depois da virgula.
Rui
Realmente, essa forma que o Rui sugeriu é a correta.
Não sei porque ela não está documentada na referência do Arduino para o lcd.
Apenas o manual da Serial cita essa possibilidade para variáveis float.
Muito obrigado....
Grande Rui IBM... rs
Entao.. nao funcionou... fiz exatamente como voce falou e nao deu..
" lcd.print((sensors.getTempC(Sensor2,1))); "
Não Adriano. Não é assim que o Rui falou.
Ele falou para você fazer assim:
lcd.print(sensors.getTempC(Sensor2),1);
Mas, reforço o que ele disse: O retorno do método getTempC precisa ser float!
poise.. consegui JAC... Muito obrigado pela força... ficou bom agora.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por