minha falha esta na precisão...
minha escala de leitura ira de 0º C a 250ºC
agora estou usando o seguinte codigo.
#define ponto1 2//
int amostra1;//
int temperaturaPT;//
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("///////////////////////////////////");
amostra1= analogRead(ponto1);
Serial.print("O valor da entrada e:");
Serial.println(amostra1);
temperaturaPT = map(amostra1, 533, 652, 0, 250); //Esta funcao pega nos valores aramzenados na var diferença e faz uma adaptaçao de escala ou seja casa o valor 533 com 0ºC e o seu máximo 652com 250ºC,
//Claro esta que e um exemplo tens de achar a relaçao que pretendes para converter os valores da diferença para a temperatura,
//Neste exemplo estou a dizer que tenho uma gama de 20 a 40 e que vai ser convertida numa outra gama de 0 a 25 graus por exemplo
Serial.print("O valor convertido e:");
Serial.println(temperaturaPT);
Serial.println("######");
delay(1000);
}
O Problema é que :
com 25ºC
esta sendo medido :559
e o valor convertido esta : 54
Eu fiz algumas contas:
sabendo que a 0ºC o valor medido é 534 e a
90ºC o valor medido é 597 vemos que a variação é de 63 ou seja 0,7 por ºC
agora em 250ºC o valor medido é 652 se compararmos com o 0ºC temos uma variação de 0.47 por ºC.
existe alguma forma de corrigir isso via programa?
Sera que eu medi de forma errada os valores em 250ºC ?
OU?