Projecto Robótica – Temperature Sensor – LM335A

Posted by admin on 22 de Janeiro de 2012 | Filed under Electrónica, Programação, Projectos, Robótica

A recepção do novo material despertou novamente a vontade de experimentar coisas novas na área da electrónica e robótica, pelo que desta vez explorei o Temperature Sensor – LM335A.

Não foi fácil acertar com a simples montagem, sobretudo devido à minha inexperiência de reconhecer resistências, mas acabei por colocar o protótipo funcional recorrendo ao seguinte esquema electrónico:

Após colocar tudo a funcional o sensor fazia a leitura dos seguintes valores:

O código que utilizei para colocar o sensor a ler os valores foi:

float temp;
int tempPin = 0;

void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}

void loop()
{
temp = analogRead(tempPin);
temp = (((temp/1023)*5)*100)-273.15;
Serial.print(“A Temperatura é de: “);
Serial.println(temp);
delay(1000);

}

O sensor lê por defeito temperaturas em Kelvin, pelo que temos que fazer o calculo da real temperatura da seguinte forma:

temp = (((temp/1023)*5)*100)-273.15;

Esta linha de código indica-nos que os valores lidos irão variar entre 0 e 1023, mas nos precisamos de obter um valor em volts para que o Arduino o possa interpretar então vamos fazer (temp*5volts)/1023, uma vez que o output do LM335 é em mV, para converter para Volts multiplica-se por 100, e com isto obtemos o valor em Kelvin, que por sua vez para ser convertido em graus Celsius basta subtrair 273.15.

 0ºk = -273.15ºC

0ºC = 271.15ºK.

Penso que esta implementação do sensor de temperatura esteja correcta, mas certamente haverá soluções mais elegantes que eu tentarei explorar no futuro visto que eu ainda me estou a iniciar na área da electrónica e da robótica.

Share

Leave a Reply