Casa Inteligente
Lucas Romualdo Pinto Soares, Leandro Bessa Lopes, Rayssa Cançado, Guilherme Belo

Introdução

O projeto consiste em uma casa que reage a certas alterações climáticas, assim quando chover, um sensor colocado do lado de fora da casa nota a presença de água e ligará um motor embutido na janela, fechando-a, quando estiver escuro, um sensor de luminosidade detecta a falta da mesma e são acendidas as luzes. Quando fizer sol, um sensor presente dentro da casa vai detectar a luminosidade e será ativado outro motor embutido na cortina para fecha-la. Quando estiver muito calor um sensor de temperatura detecta, e um ventilador de teto é ativado.

Montagem

Circuito

Programa Arduino

#include <Stepper.h>
#include <Servo.h>
#include <Thermistor.h>

//Iluminação
const int sinal_ilu_0 = A1;
const int iluminacao = 12;
int valor_ilu_0 = 0;
int setpoint_ilu_0 = 1000;//VA
//Ventilador
Thermistor temp(0);
const int sinal_temp = A0;
const int vent = 13;
int valor_temp = 0;
int setpoint_temp = 0;//VA
//Chuva
int tempo_1=0;
int tempo_2=0;
const int sinal_chu = A2;
int valor_chu = 0;
int chave_1=2;
Servo Janela;
//Cortina
int tempo_0=0;
int tempo_3=0;
const int sinal_ilu_1 = A3;
int valor_ilu_1 = 0;
int setpoint_ilu_1 = 300;//VA
int chave_2=3;
const int stepsPerRevolution = 500;
Stepper Cortina(stepsPerRevolution, 4,6,5,7);
void setup() {
Serial.begin(9600);
//Iluminação
pinMode (iluminacao, OUTPUT);
//Ventilador
pinMode (vent, OUTPUT);
//Chuva
Janela.attach(8);
pinMode (chave_1, INPUT);
attachInterrupt(digitalPinToInterrupt(chave_1), abre_janela, HIGH);
//Cortina
Cortina.setSpeed(60);//VA
attachInterrupt(digitalPinToInterrupt(chave_2), abre_cortina, HIGH);
}
void loop() {
//Iluminacão
valor_ilu_0 = analogRead(sinal_ilu_0);
Serial.print(" iluminacao 1 = " );
Serial.println(valor_ilu_0);
if (valor_ilu_0 > setpoint_ilu_0)
{
digitalWrite(iluminacao, HIGH);
}
else{
digitalWrite(iluminacao, LOW);
}
//Ventilador
int temperature = temp.getTemp();
Serial.print("Temperatura no Sensor e: ");
Serial.print(temperature);
delay(1000);
if (temperature > 18)//VA
{
digitalWrite(vent, HIGH);
}
//Chuva
valor_chu = analogRead(sinal_chu);
Serial.print(" chuva = " );
Serial.println(valor_chu);
Serial.print(" tempoOOO = " );
Serial.println(tempo_1);
if(valor_chu < 1023)
{
tempo_2=0;
Janela.write(180);
}
//Cortina
valor_ilu_1 = analogRead(sinal_ilu_1);
Serial.print(" iluminacao 2 = " );
Serial.println(valor_ilu_1);
Serial.print(" tempo = " );
Serial.println(tempo_0);
if (valor_ilu_1 < setpoint_ilu_1 && tempo_0<9)
{
tempo_3=0;
Cortina.step(-200);
tempo_0=tempo_0+1;
}
if (tempo_0==9)
{
Cortina.step(0);
}
}
void abre_janela()
{
Janela.write(-180);
}
void abre_cortina()
{
tempo_0=0;
tempo_3=tempo_3+1;
while (tempo_3<9)
{
Cortina.step(-200);
}
}

Conclusão

O projeto tem o objetivo de executar a automatização de uma casa com o objetivo de aumentar o conforto e facilitar o dia a dia dos usuários da mesma. Com os projeto nos pudemos aprender mais sobre a programação e utilização do Arduíno.

Referências

https://www.arduino.cc/



Administrado por: Epaminondas Lage