Esta central controla o sistema de climatização através do monitoramento do ambiente, os níveis de temperatura e umidade, acionando um ventilador ou outro tipo de equipamento para a refrigeração assim manter a estabilização da temperatura que é configurada na central de climatização. Bem como aciona um umidificador de ar, caso seja detectado nível critico da umidade relativa do ar.
exemplo: Para um ambiente que a temperatura ideal seja entre 25 a 28ºC. É configurado no programa do microcontrolador temperatura minima de 25ºC, que servirá para os desligamento do sistema de refrigeração quando esta temperatura for atingida. E para uma temperatura acima de 28ºC, será a temperatura que irá acionar o sistema de refrigeração.
Acima desta temperatura irá soar o alarme indicando que o nível esta aumentando, após acionamento do sistema de refrigeração começar a circular no ambiente para diminua a temperatura o alarme irá para de soar e quando o ambiente atingir a temperatura minima será então desligado.
No controle da umidade relativa do ar, será programado dois níveis de porcentagem no programa: mínimo e máximo.
Quando a porcentagem minima for detectada pelo sensor de umidade será ligado um umidificador de ar para que a umidade relativa possa subir a níveis aceitáveis em torno de 50 a 60%. Quando for atingido este nível o umidificador será então desligado.
Os níveis tanto de temperatura , como de umidade será apresentado os valores lidos pelo sensor no display de LCD. Este Display usa o módulo I2C para comunicação com o microcontrolador.
Caso o sensor DHT11 pare de comunicar (enviar dados ou falta de alimentação), um sinal sonoro será emitido através do buzzer e uma mensagem de texto será apresentado no display.
Leds indicarão quando o ventilador ou umidificador estiverem acionados.
Duas configurações podem ser feitas na central de climatização, nos jumpers J1 e J2.
J1 configura o acionamento do buzzer (passivo). quando estiver na posição (ON) habilita o Buzzer, em (OFF) desabilita o Buzzer.
J2 configura a tensão de entrada. (ON) para ser utilizado com fontes de 5 Volts. Para isso o regulador de tensão 7805 deverá ser retirado da placa.
Na posição (OFF), quando for utilizar tensão de 12 volts, o regulador de tensão 7805 deverá ser mantido na placa da central.
Esquema elétrico da central de climatização:
OBSERVAÇÃO: este projeto foi todo prototipado sobre a plataforma UNO, que serve de base para poder compilar o programa no microcontrolador ATMEGA 328P. Os pinos descritos no esquema elétrico refere-se ao microcontrolador e não aos pinos da plataforma.
Segue abaixo o programa a ser compilado no microcontrolador para o seu funcionamento:
#include "DHT.h"
#include <Wire.h>; // Carrega as bibliotecas necessárias
#include <LiquidCrystal_I2C.h>;
LiquidCrystal_I2C lcd(0x27,16,2); // Define o endereço utilizado pelo Adaptador I2C
#define DHTPIN A0 // pino que estamos conectado
#define DHTTYPE DHT11 // DHT 11
#define buzzer 3 // Define pino saida do buzzer
#define fan 2 // Define pino saida do cooler
#define umid 4 // Define pino saida do umidificador
#define led_fan 7 // Define pino saida do led
#define led_umid 8 // Define pino saida do led_umid
// Conecte pino 1 do sensor (esquerda) ao pino de dados definido em seu Arduino
// Conecte pino 2 (meio) do sensor ao +5V
// Conecte pino 3 (direita) do sensor ao GND
// Conecte o resistor de 10K entre pino 1 (dados) e ao pino 2 (VCC) do sensor
DHT dht(DHTPIN, DHTTYPE);
void som()
{
tone(buzzer,100,100); //altera a frequencia
delay(100);
tone(buzzer,330,200);
delay(100);
tone(buzzer,200,200);
delay(100);
tone(buzzer,330,200);
delay(100);
tone(buzzer,262,100);
delay(100);
}
void setup()
{
pinMode (fan, OUTPUT); //pino saida do cooler
pinMode (umid, OUTPUT); //pino saida do umidificador
pinMode (led_fan, OUTPUT); //pino saida do led
pinMode (led_umid, OUTPUT); //pino saida do led_umid
dht.begin(); //Inicia o sensor DHT11
lcd.init(); //Inicializa o LCD e o backlight
lcd.backlight(); //Inicializa o backlight
lcd.setCursor(1, 0);
lcd.print("CANAL DIVERSAO");
delay(500);
lcd.setCursor(2, 1);
lcd.print("& TECNOLOGIA");
delay(1000);
}
void loop()
{
// A leitura da temperatura e umidade pode levar 250ms!
// O atraso do sensor pode chegar a 2 segundos.
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(t) || isnan(h)) // testa se retorno é valido, caso contrário algo está errado.
{
lcd.clear(); //limpa display
lcd.setCursor(0, 0);
lcd.println("ERRO comunicacao"); //mensagem na linha 0
lcd.setCursor(0, 1);
lcd.println(" no sensor DHT11"); //mensagem na linha 1
delay(500);
som();
}
else
{
lcd.clear(); //limpa display
lcd.setCursor(0, 0);
lcd.print("Umidade:"); // Imprime no display
lcd.print(h); // Imprime leitura umidade
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Temper:"); // Imprime no display
lcd.print(t); // Imprime leitura temperatura
lcd.write(B11011111); // Imprime o símbolo de grau
lcd.print("C");
delay(500);
}
if(t > 28.0) // Temperatura máxima
{
digitalWrite(fan, HIGH); // liga cooler
digitalWrite(led_fan, HIGH); // liga led
tone(buzzer,100,10); // altera a frequencia
delay(200);
tone(buzzer,100,10); // altera a frequencia
delay(200);
tone(buzzer,262,100); // altera a frequencia
delay(10);
tone(buzzer,390,100); // altera a frequencia
delay(10);
}
else if(t < 25.0) // Temperatura mínima
{
digitalWrite(fan, LOW); // desliga cooler
digitalWrite(led_fan, LOW); // desliga led
}
if(h> 50.0) // umidade máxima
{
digitalWrite(umid, LOW); // desliga umidificador
digitalWrite(led_umid, LOW); // desliga led_umid
}
else if(h < 40.0) // umidade mínima
{
digitalWrite(umid, HIGH); // liga led_umid
digitalWrite(led_umid, HIGH); // liga led_umid
}
}
***********************************************************************************
nestas linhas que vou apresentar é onde deve ser alterado o código para as seguintes configurações:
este if determina a temperatura máxima, onde o ventilador será acionado.
if(t > 28.0) // Temperatura máxima
altere o valor para a temperatura desejada.
###################################################################################
este else if determina a temperatura minima, onde o ventilador será desligado.
else if(t < 25.0) // Temperatura mínima
altere o valor para a temperatura desejada.
###################################################################################
este if determina a umidade máxima, onde o umidificador será desligado.
if(h> 50.0) // umidade máxima
altere o valor para a umidade desejada.
###################################################################################
este else if determina a umidade minima, onde o umidificador será acionado.
else if(h < 40.0) // umidade mínima
altere o valor para a umidade desejada.
###################################################################################
***********************************************************************************
Esquema de ligação de todos os periféricos na central de controle climatização:
> fonte de alimentação;
> umidificador;
> ventilador;
> display LCD com módulo I2C;
> sensor DHT11 (temperatura / umidade).
Segue fotos do projeto montado sobre uma placa circuito impresso (PCI), e todo o conjunto funcionando com o sensor DHT 11 , display e conexões de saída para ligar as cargas.
O display está montado sobre uma protoboard junto com o módulo I2C.
mensagem no display (intro do canal no YouTube)
mensagem display (leitura umidade e temperatura)
mensagem display (erro falta de comunicação do sensor com o microcontrolador
ou por falta de alimentação)
vista geral dos componentes na placa de circuito impresso (PCI)
vista da saída (relés) e plugues para conexão das cargas (C.A.)
vista do sensor DHT11 e conector para o módulo I2C
led amarelo sistema de refrigeração ativado
led vermelho sistema de umidificação ativado
E-mail comercial
proeletronicos@gmail.com
visite canal no YouTube
DIVERSÃO & TECNOLOGIA
Nenhum comentário:
Postar um comentário