por ter um involucro de plastico(TO-92) ele e resistente a oxidacao, podendo ficar exposto a intemperies do ambiente monitorado!O LM35 tem 3 pinos, onde:V+ alimentamos com 5V vindo do Arduino;GND ligamos ao gnd correspondente do Arduino;OUT saide de tensao correspondente a temperatura(oC).Figura1 - Pinos LM35O fator de escala e 0,01 V por grau Celcius, ou seja, a cada 0,01V no pino OUT corresponde a 1oC. Se tivermos 0,5v teremos uma temperatura de 50oC, se tivermos 1V, teremos uma temperatura de 100oC e assim por diante...Como a saida (OUT) do LM35 e analogica, devemos, portanto, conecta-la a um pino de entrada analogica do Arduino- no projeto o pino escolhido foi o 0 (zero)- As ligacoes ao Arduino ficarao como mostra a Figura2.Figura2 - Conexao ao ArduinoO Programa abaixo le a temperatura periodicamente em um intervalo definido(1s) e envia a informacao via serial para o computador./* --------------------------------------------- * Temp_logger V1.0 Rev0.0 * Monitor de temperatura para sala de servidores * Arduino-ce * Comunidade Cearense de Hardware Livre * http://groups.google.com/group/arduino-ce?hl=pt-br * http://arduino-ce.blogspot.com * janeiro de 2011 ---------------------------------------------*/#define SAMPLES 500 //Numero de amostras de temperaturas#define sensortemp 0 //Pino analogico em que estara conectado o sensor LM35#define TEMPO_LEITURA 1000 //Intervalo entre cada leitura do sensor LM35 em milisegundos! OBS: 1000ms = 1sint tempvector[SAMPLES]; //Vetor que armazenara as temperaturasdouble tempSensor = 0.0; //Variavel auxiliarint valAnalog = 0; // Variavel para aramazenar a leitura do sensor LM35void setup() { Serial.begin(9600); //Iniciando Serial}void loop() { for (int i=0; i <= SAMPLES; i++) // Incrementa i ate i = SAMPLES { valAnalog = analogRead(sensortemp); // Faz a leitura do pino analogico do sensor e armazena em valAnalog tempvector[i] =( 5.0 * valAnalog * 100.0)/1024.0; //Armazena as temperaturas num vetor de tamanho = SAMPLES tempSensor = tempSensor +tempvector[i]; // Soma as temperaturas e armazena em tempSensor } tempSensor = tempSensor/SAMPLES; // Calcula a media das temperaturas e as armazena em tempSensor Serial.println(tempSensor); //Envia a temperatura para porta COMX delay(TEMPO_LEITURA);// Espera um tempo determinado em TEMPO_LEITURA (milisegundos)}O valos analogico do sensor LM35 e lido e armazenado em valAnalog que por sua vez e multiplicado pela tensao de referencia (5V) depois multiplicado por 100.0 depois dividido por 1024.0. Isso ocorre porque no pino analogico temos uma escala de leitura que vai de 0(zero) a 1024, portanto, nossa escala de tensao correspondente tem que estar no limiar de 0 ate 1024, onde 0 corresponde a temperatura minima e 1024 corresponde a temperatura maxima. Apos esse calculo obtemos a temperatura em oC e armazenamos no vetor tempvector de tamanho igual a SAMPLES, logo esse valor e somado com o posterior e armazenado em tempSensor. Apos somadas todas as temperaturas dividimos pelo total de amostras (SAMPLES) para termos uma media, isso torna o processo de captacao de temperatura mais preciso!Por fim, imprimimos, com uma quebra de linha, a temperatura Serial.println(tempSensor); no nosso projeto ele esta na na porta COM3 (Verifique a porta que o seu Arduino esta utilizando!). Para conferir o funcionamento basta clicar no botao "Serial Monitor" na IDE do Arduino, conforme figura abaixo.Figura3 - Serial MonitorApos conferido o funcionamento iremos criar um script para o