Medidor de temperatura

Autor: Leonardo Sehn Alves

Licença de textos, imagens e esquema dos circuitos: Creative Commons Sharealike

Licença do software: GPL 3.0

Objetivos: A Estação Meteorológica tem entre seus objetivos um monitoramento de variáveis climáticas, podendo resultar em diversa aplicações a partir disso. Mais informações aqui: http://cta.if.ufrgs.br/projects/estacao-meteorologica-modular. Esses protótipos iniciais buscam uma familiarização e utilização efetiva de conceitos que serão imprescindíveis nas versões finais. Este primeiro protótipo já realiza uma medição de uma variável climática, a temperatura, com imediata mostra em um tela, constituindo-se de apenas um módulo.

Esse módulo consiste em um Arduino que recebe a informação da temperatura do ambiente através do sensor LM35 (na verdade o programa faz uma conversão da dependência da resistência transistor com a temperatura, a informação original é a tensão na porta analógica) e envia-a para o Serial, que então é mostrada no LCD. O esquema do circuito e do programa está disponibilizado abaixo.

Circuito

Imagem do Circuito

Programa

 1 // Medidor de temperatura
 2 
 3 #include <LiquidCrystal.h> // inicializa biblioteca lcd
 4 
 5 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // define os pinos do lcd
 6 
 7 float entrada=0;
 8 float t=0;
 9 byte sensor=A5; // estabelece a porta analogica 5 como sensor
10 byte ledpin=13;
11 
12 void setup() {
13   lcd.begin(16, 2); // inicializa todos cursores do lcd
14   Serial.begin(9600);
15   pinMode(ledpin,OUTPUT);
16   lcd.print("A temperatura do CTA eh"); // mostra frase na primeira linha do lcd
17   lcd.setCursor(6, 1); // define o cursor
18   lcd.print("celsius"); // printa unidade
19 }
20 
21 void loop() {
22   lcd.autoscroll(); // faz o texto se mover e repetir incessantemente no lcd
23   digitalWrite(ledpin,HIGH);
24   delay(700);
25   entrada=analogRead(sensor); // atribui a uma variavel a leitura no pino analogico 5
26   t=entrada*0.488758553; // faz conversao de tensao pra temperatura de acordo com precisao do arduino e do termistor
27   Serial.println(t); // manda para o Serial a temperatura
28   lcd.setCursor(0, 1); // define o cursor da primeira coluna, segunda linha
29   lcd.print(t); // mostra temperatura no lcd
30   digitalWrite(ledpin,LOW);
31   delay(700);
32 }

Embora bastante rudimentar em vários aspectos, esse módulo pode ser bem útil e motivador em demonstrações, em especial em escolas.

Hasta!

medidor_temperatura1_bb.png - Imagem do Circuito (9.9 MB) Leonardo Sehn, 20/02/2013 15:44

medidor_temperatura1_bb.redimensionado.png - Imagem do Circuito (161.9 kB) Leonardo Sehn, 26/02/2013 13:38