Documente Academic
Documente Profesional
Documente Cultură
FABRIZIO GRASSIOLLI
MARTIM BOUFLEUR
Este projeto foi desenvolvido para o controle de uma estufa, ou seja, um ambiente
próprio para o desenvolvimento de algumas espécies de plantas que necessitam cuidados
específicos.
Estes cuidados se referem a temperatura, luminosidade. Alguns desses parâmetros são
controlados de acordo com a necessidade da planta com a tecnologia Arduino.
Com a implementação da automatização da estufa, visa-se facilitar e
consequentemente aumentar a produção, por ser um sistema automatizado, acaba gerando um
desenvolvimento mais rápido das espécies.
O projeto foi montado em uma caixa de acrílico 20cm X 20cm, e foi utilizado alguns
material
Placa de Arduino
Sensor de temperatura LM35
Lâmpada incandescente para aquecimento
Cooler para resfriamento
Led para demonstração do acionamento
Led para demonstração do resfriamento
Rele de acionamento do aquecedor e do cooler
Caixa de acrílico
Fonte 12Vcc
Após darmos início ao projeto, tivemos algumas dificuldades em instalar o I2C devido ao
números de biblioteca de diferentes modelos.
No projeto foi decidido usar um cooler para resfriamento, uma lâmpada incandescentes
para aquecimento e um sensor LM 35 para fazer a leitura analógica do sistema em um
microprocessador Arduino.
Curso Superior Tecnológico em Automação Industrial
Sistemas Supervisórios e Redes Industriais 3
CARACTERISTICAS DO PROJETO
No projeto foi definido 4 sinais digitais de saída, aquecedor, resfriamento, indicador
aquecedor indicador do resfriamento e 1 sinal analógico para leitura da temperatura.
Após concluir a montagem, foi observado que quando a temperatura chegava ao ponto
necessitado e o sistema ficava ligando e desligando, com isso, optamos por colocar uma
histerese de 1°C, podendo ajustar, ao testar novamente o programa rodou normalmente.
CODIGO DO PROGRAMA
#define solenoide 3
#define secador 4
#define led_aquecimento 5
#define led_resfriamento 6
intsetpoint=25;//setpoint 25°C
int histerese=1.0;//coeficiente de correção, evitando o liga e desliga
floattemp;//valor da temperatura
floatcf=0.10;//coeficiente de filtro, para nao causar picos de temperatura
floattempf=0;//valor de temperatura corrigido
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD addressto 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup ()
Curso Superior Tecnológico em Automação Industrial
Sistemas Supervisórios e Redes Industriais 4
{
//define o setup dos pinos e variaveis
pinMode (secador, OUTPUT);
pinMode (led_aquecimento, OUTPUT);
pinMode (led_resfriamento, OUTPUT);
Serial.begin(9600);//saida do monitor serial
lcd.begin();//set up do numero de colunas e linhas no led
}
void loop()
{
//transformando a leitura de entrada analogica em valor de temperatura
temp=(5.0*analogRead(1)*100)/1024.0;//analogica A1 divide por 1024 numero
de bits que o arduino consegue ler na entrada digital
//5 = 0volt a 5volt, 100 = temp 0°C a 100°C
tempf=(1-cf)*temp+tempf*cf;//correçao para eliminar picos
if(tempf>=setpoint+histerese)
{
digitalWrite(solenoide, HIGH);
digitalWrite(led_resfriamento, HIGH);
digitalWrite(led_aquecimento, LOW);
digitalWrite(secador, LOW);
lcd.setCursor(0,0);
lcd.print("RESFRIANDO...");//demonstrando a palavra resfriando
// delay 300
}
if(tempf<setpoint-histerese)
{
digitalWrite(solenoide, LOW);
digitalWrite(led_aquecimento, HIGH);
digitalWrite(led_resfriamento, LOW);
digitalWrite(secador, HIGH);
lcd.setCursor(0, 0);
lcd.print(" AQUECENDO...");//MOSTRANDO A PALAVRA AQUECENDO
//delay 300
}
//configurando saidas monitor serial
Serial.print("TEMPERATURA=");
Serial.print(tempf);
Serial.print("C");
Serial.println();
Curso Superior Tecnológico em Automação Industrial
Sistemas Supervisórios e Redes Industriais 5