Buscar

Controle de temperatura com Arduino UNO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Controle de temperatura ON - OFF com Arduino UNO 
 
É feito um controle conhecido como controle ON – OFF, que é também 
conhecido com o controle de “duas posições”, ou controle “liga e desliga”. O 
sinal de saída tem apenas duas posições que vão de um extremo ao outro, 
podendo ser: válvula aberta ou válvula fechada, resistência ligada ou 
resistência desligada, compressor ligado ou compressor desligado. 
 
Fonte: http://www.mecatronicaatual.com.br/educacao/1019-teoria-de-controle-
pid 
No controle ON – OFF o sinal muda de liga para desliga ou vice –versa a 
medida que o sinal de erro passa pelo SetPoint. 
 
Conectando os componentes 
 
Primeiro, certifique-se de que seu Arduino esteja desligado, 
desconectando-o do cabo USB. 
 
 
Figura 1.0 
 
 
 
 
 
 
 
Componentes do circuito acima: 
 
1. Sensor LM35 que é conectado a porta analógica do Arduino UNO, porta 
A0. 
2. Display LDC aonde é visualizado a temperatura ambiente e aonde 
mostra se o motor esta ou não ligado. 
3. O motor é acionado, quando a temperatura chega no seu limite 
determinado, e é desacionado quando a temperatura esta abaixo do 
limite determinado. 
4. Transistor utilizado para fazer controle do chaveamento do motor. 
5. O Arduino UNO é utilizado para fazer o controle do processamento do 
todos os dados do sensor. 
 
 
Para facilitar a montagem segue abaixo como inserir os jumpers no 
LCD/Arduino. 
 
- Pino 1 do LCD ligado ao GND do Arduino; 
- Pino 2 do LCD ligado ao 5V do Arduino; 
- Pino 3 do LCD ligado ao pino central do primeiro potenciômetro (controle de 
contraste (Não conectado na figura 1.0)); 
- Pino 4 do LCD ligado ao pino digital 9 do Arduino; 
- Pino 5 do LCD ligado ao GND do Arduino; 
- Pino 6 do LCD ligado ao pino digital 8 do Arduino; 
- Pino 11 do LCD ligado ao pino digital 5 do Arduino; 
- Pino 12 do LCD ligado ao pino digital 4 do Arduino; 
- Pino 13 do LCD ligado ao pino digital 3 do Arduino; 
- Pino 14 do LCD ligado ao pino digital 2 do Arduino; 
- Pino 15 do LCD ligado ao pino central do segundo potenciômetro (controle do 
brilho (Não conectado na figura 1.0)); 
- Pino 16 do LCD ligado ao GND do Arduino. 
Os demais pinos não serão utilizados neste projeto. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Vamos ao código 
 
#include <LiquidCrystal.h> 
#include <Limits.h> 
 
const int sensorTemp = 0; // Pino analógico em que o sensor de temperatura 
está conectado 
 
int Motor = 13; // Declara o pino digital 13 para acionar o cooler 
int tempPin = 0; // Declara o pino analógico 0 para ler o valor do sensor de 
temperatura 
int valorSensorTemp = 0; // Variável usada para ler o valor de temperatura 
int valorTemp = INT_MAX; // Variável usada para armazenar o menor valor de 
temperatura 
 
LiquidCrystal lcd(9, 8, 5, 4, 3, 2); // Cria um objeto LCD e atribui os pinos 
 
void setup() { 
 
 pinMode (Motor, OUTPUT); // Define o pino 13 como saída 
 lcd.begin(16, 2); // Define o display com 16 colunas e 2 linhas 
} 
 
void loop() { 
 
 /*Para evitar as grandes variações de leitura do componente 
 LM35 são feitas 6 leitura é o menor valor lido prevalece*/ 
 
 valorTemp = INT_MAX; // Inicializando a variável com o maior valor int 
possível 
 for (int i = 1; i <= 6; i++) { // Lendo o valor do sensor de temperatura 
 
 valorSensorTemp = analogRead(sensorTemp); 
 
 valorSensorTemp *= 0.54 ; // Transforma o valor lido do sensor de 
temperatura em graus Celsius aproximados 
 
 if (valorSensorTemp < valorTemp) { // Mantendo sempre a menor 
temperatura lida 
 valorTemp = valorSensorTemp; 
 } 
 
 delay(100); 
 } 
 
 if(valorTemp > 35) // Indica condição para acionamento do cooler 
 { 
 lcd.setCursor(0,1); // Define a coluna 0 e linha 1 do LCD onde será 
impresso a string 
 lcd.write("Motor ligado !"); // Imprime no LCD 
 digitalWrite(Motor, HIGH); // Quando condição verdadeira, liga o cooler 
 } 
 else 
 { 
 lcd.setCursor(0,1); 
 lcd.write("Motor desligado !"); 
 digitalWrite(Motor, LOW); // Desliga cooler quando este estiver a baixo da 
valorTemp, indicando no LCD que esta desligado 
 } 
 delay(1000); 
 
 // Exibindo valor da leitura do sensor de temperatura no display LCD 
 lcd.clear(); // Limpa o display do LCD 
 lcd.print("Temperatura:"); // Imprime a string no display do LCD 
 lcd.print(valorTemp); 
 lcd.write(B11011111); // Símbolo de graus Celsius 
 lcd.print("C"); 
 
 delay(2000); // Aguarda 2 segundos 
} 
 
Fonte: http://facacomarduino.blogspot.com.br/2013/07/projeto-10-controle-de-
temperatura-com.html

Outros materiais