Sensor de Temperatura LM35 no Arduino - sem biblioteca
Aqui veremos outro método de desenvolvimento do sensor de temperatura LM35 da Texas Instruments, do qual é mais conhecido, que não utiliza uma biblioteca.
O LM35 é um sensor de temperatura analógico, que pode operar com tensões de 4 a 30 volts. São circuitos integrados de precisão com uma tensão de saída linearmente proporcional para a temperatura em graus centígrados, não necessita calibração externa ou para fornecer precisão de ± ¼ ° C à temperatura ambiente e ± ¾ ° C Sobre uma gama de temperaturas de -55 ° C a 150 ° C.
Datasheet
O LM35 é um sensor de temperatura analógico, que pode operar com tensões de 4 a 30 volts. São circuitos integrados de precisão com uma tensão de saída linearmente proporcional para a temperatura em graus centígrados, não necessita calibração externa ou para fornecer precisão de ± ¼ ° C à temperatura ambiente e ± ¾ ° C Sobre uma gama de temperaturas de -55 ° C a 150 ° C.
Datasheet
Características
- Calibrado diretamente em Celsius (centígrado)
- Fator de Escala Linear + 10 mWC
- 0,5 ° C Precisão garantida (a 25 ° C)
- Classificados para -55 ° C a 150 ° C
- Adequado para aplicações remotas
- Baixo custo devido ao corte do nível do wafer
- Opera de 4 V a 30 V
- Dreno de corrente inferior a 60-nA
- Baixo auto aquecimento, 0,08 ° C em sem corrente de ar.
- Saída de baixa impedância, 0,1 Cl para carga de 1 mA
Materiais Necessários
- Arduino – De sua preferência, mas utilizamos o Uno no tutorial;
- LM35;
- Placa de ensaio (matriz de contato / protoboard /breadboard);
- Fios / Jumpers;
Circuito
Código
//********************************************************************************
// Configurando o Sensor no Pino A0
const int LM35 = A0;
// Funções que serão executadas quando o Arduino dor ligado
void setup()
{
// Inicia a comunicação Serial
Serial.begin(9600);
// Variáveis que armazenarão as temperaturas em celsius, fahrenheit e kelvin
float celsius, fahrenheit, kelvin;
}
//********************************************************************************
// Funções que serão executadas quando continuamente
void loop()
{
//calculos
celsius = (float(analogRead(LM35))*5/(1023))/0.01;
//como o sensor é calibrado para celsius essa é melhor forma para transformar em fahrenheit
fahrenheit = (celsius*1.8)+32;
kelvin = celsius+273;
Serial.print("Temp - "); //Envia texto para a serial
Serial.print(celsius); //imprime na serial o valor calculado em Celsius
Serial.print(" C - ");
Serial.print(fahrenheit); //imprime na serial o valor calculado em fahrenheit
Serial.print(" F - ");
Serial.print(kelvin); //imprime na serial o valor calculado em kelvin
Serial.println(" K"); // Envia texto para a serial e da nova linha
Serial.println(" "); // Linha em Branco
//delay
delay(1000);
}
//FIM
//********************************************************************************
Comentários
Postar um comentário