Escolar Documentos
Profissional Documentos
Cultura Documentos
02 Botões;
01 Caixa de isopor de 3 Litros;
01 Cooler FAN de 12V;
01 Display LCD 16x2;
29 Fios jumpers;
01 Fios de cobre (6m);
01 Fontes de alimentação de 9V;
01 Fonte de alimentação de 12V;
02 LED’s, um vermelho e um verde;
01 Placa Arduino UNO R3;
01 Potenciômetro de 10KΩ;
01 Protoboard;
01 Relé de 5V;
02 Resistores de 300Ω;
03 Resistores de 10KΩ;
01 Sensor de Temperatura NTC;
OBS: A alimentação externa do Arduino é opcional (pode ser alimentado por um cabo
USB) e a montagem da caixa de isopor é irrelevante em relação ao objetivo do projeto.
4. Circuito do Projeto
Usa-se a Protoboard como base para facilitar a conexão entre as peças, os seguintes
passos descrevem o modo em que o circuito deve ser montado:
Pino 01 do LCD ligado ao GND do Arduino;
Pino 02 do LCD ligado ao 5V do Arduino;
Pino 03 do LCD ligado ao pino central do Potenciômetro (controle de contraste);
Pino 04 do LCD ligado ao pino digital 5 do Arduino;
Pino 05 do LCD ligado ao GND do Arduino;
Pino 06 do LCD ligado ao pino digital 4 do Arduino;
Pino 11 do LCD ligado ao pino digital 3 do Arduino;
Pino 12 do LCD ligado ao pino digital 2 do Arduino;
Pino 13 do LCD ligado ao pino digital 1 do Arduino;
Pino 14 do LCD ligado ao pino digital 0 do Arduino;
Pino 16 do LCD ligado ao GND do Arduino;
Sensor NTC ligado ao pino analógico 0 do Arduino;
LED (Vermelho) ligado ao pino digital 12 do Arduino;
LED (Verde) ligado ao pino digital 11 do Arduino;
Botão (Diminuir) ligado ao pino digital 7 do Arduino;
Botão (Aumentar) ligado ao pino digital 6 do Arduino;
Relé de 5V ligado ao pino digital 13 do Arduino;
GND do cooler 12V ligado ao GND da fonte 12V;
Vcc do cooler 12V ligado à saída do relé 5V;
Entrada do relé 5V ligada ao Vcc da fonte 12V;
Arduino é alimentado pela fonte de 9V.
if(estadobotaomais == HIGH){
valor = valor + 1;
}
if(estadobotaomenos == HIGH){
valor = valor - 1;
}
delay(300);
Nesse trecho do código, são usados dois IF’s para aumentar e diminuir o valor de
temperatura desejado, com um tempo de leitura de 300 milissegundos.
Ativando o cooler.
int sensortemp = 0;
int motor = 13;
int tempPin = 0;
int valorsensortemp = 0;
int valortemp = INT_MAX;
int botaomais = 6;
int botaomenos = 7;
int estadobotaomais = 0;
int estadobotaomenos = 0;
int valor = 29;
int ledverde = 11;
int ledvermelho = 12;
void setup(){
pinMode(motor, OUTPUT);
pinMode(ledverde, OUTPUT);
pinMode(ledvermelho, OUTPUT);
pinMode(botaomais, INPUT);
pinMode(botaomenos, INPUT);
lcd.begin(16, 2);
}
void loop(){
valortemp = INT_MAX;
for(int i=1; i<=3; i++){
valorsensortemp = analogRead(sensortemp);
valorsensortemp = valorsensortemp * 0.0509;
if(valorsensortemp < valortemp){
valortemp = valorsensortemp;
}
}
estadobotaomais = digitalRead(botaomais);
estadobotaomenos = digitalRead(botaomenos);
if(estadobotaomais == HIGH){
valor = valor + 1;
}
if(estadobotaomenos == HIGH){
valor = valor - 1;
}
delay(300);
if(valortemp >= valor){
lcd.setCursor(0,1);
lcd.write("Cooler ativo!");
digitalWrite(motor, HIGH);
digitalWrite(ledverde, HIGH);
digitalWrite(ledvermelho,LOW);
}
else{
lcd.setCursor(0,1);
lcd.write("Cooler inativo!");
digitalWrite(motor, LOW);
digitalWrite(ledverde, LOW);
digitalWrite(ledvermelho,HIGH);
}
lcd.clear();
lcd.print("Val:");
lcd.print(valor);
lcd.print(" Temp:");
lcd.print(valortemp);
lcd.write(B11011111);
lcd.print("C");
}