Para fazer essa montagem foram utilizados os seguintes componentes:
- Arduino
- Mini protoboard
- Sensor LM3
- Fios para protoboard (Wire jumpers)
Esse conversor tem entrada máxima de 5V. Como ele é de 10 bits, consegue diferenciar 1024 (de 0 a 1023) valores entre 0V e 5V. Ou seja, quando ele ler 5v na entrada ele vai converter para 1023.
Agora ficou fácil, pois podemos fazer um regrinha de três (interpolação para quem é mais formal):
1023 —– 5V
512 ——- X
X = (5 * 512) / 1023 = 2.5 V
Ou seja, se o A/D mostrar o valor digital 512 significa que está entrando 2.5V nele.
E o que o LM35 tem a ver com isso?
O LM35 é um sensor de temperatura linear que fornece 10mV para cada grau celcius que ele medir. Ou seja, se ele fornecer 100mV, significa que ele está medindo 10ºC.
Então da para ligar o LM35 no Arduino e fazer um termômetro?
Sim, basta fazer a ligação do esquemático abaixo e programar seu Arduino com o código fonte disponível no final desse post.
Código Fonte:
/* Conversor Analógico->Digital de 10 bits (1024). O valor máximo que pode entrar no A/D é 5V. Sendo assim, quando entrar: -> 5V o valor lido será 1023 -> 2.5V o valor lido será 511 ou (1023/2) -> 0V o valor lido será 0 Resumindo, é uma regra de três normal onde: 5V - 1023 X - Y */ int pinoSensor = 0; //pino que está ligado o terminal central do LM35 int valorLido = 0; //valor lido na entrada analogica float temperatura = 0; //valorLido convertido para temperatura void setup() { Serial.begin(9600); //Inicializa comunicação Serial } void loop() { valorLido = analogRead(pinoSensor); temperatura = (valorLido * 0.00488); // 5V / 1023 = 0.00488 (precisão do A/D) temperatura = temperatura * 100;
//Converte milivolts para graus celcius, lembrando que a
//cada 10mV equivalem a 1 grau celcius Serial.print("Temperatura atual: "); Serial.println(temperatura); delay(5000); //espera 5 segundos para fazer nova leitura }
Nenhum comentário:
Postar um comentário