Você está na página 1de 5

Projeto Prtico de Domtica

prof. Ronaldo Trindade


maro/2014
Nosso projeto prtico consistir em automatizar uma residncia de forma a atender s seuintes
especifica!es"
1. #ensores"
1.1. #ensor de presena para $erificar se e%iste ou n&o pessoas em determinado am'iente.
1.2. #ensor de temperatura para determinar a temperatura do am'iente.
1.(. #ensor de c)u$a para identificar se est c)o$endo ou n&o.
1.4. #ensor de luminosidade para determinar se * dia ou noite.
2. +tuadores"
1. ,nterface de potncia para acionar $entilador ou ar condicionado.
2. ,nterface de potncia para liar e desliar l-mpadas.
(. #er$omotor para a'rir e fec)ar janelas.
(. .ontroladores"
1. /laca de prototipaem rpida +rduino.
2. 01dulo .2/.
(. 01dulos para rede 0od3us.
4. 21ica de funcionamento"
1. 4erificar se e%istem pessoas em um am'iente e5 caso e%ista5 estando a temperatura acima de uma
dado $alor 6setpoint75 acionar o $entilador ou o ar condicionado.
2. 4erificar se e%istem pessoas em um am'iente e5 caso e%ista5 estando escuro5 liar a l-mpada do
am'iente.
(. N&o )a$endo ninu*m no am'iente5 manter l-mpadas e $entiladores/ar condiconado desliados.
4. #e for noite ou se esti$er c)o$endo5 fec)ar automaticamente as janelas. #e for dia e n&o esti$er
c)o$endo5 a'rir as janelas.
8. .omunicar com um microcomputador para passar informa!es so're os sensores e o status dos
atuadores5 'em como rece'er $alores de setpoint.
8. 9esen$ol$imento
4amos comear delineando as entradas e as sa:das para ;ue possamos desen$ol$er o soft<are no
arduino 6para uma re$is&o rpida so're o funcionamento do arduino $ em"
)ttp"//la'dearaem.com/profiles/'los/tutorial=ultra=rapido=de=arduino7.
.onforme especificado5 teremos as
seuintes entradas"
8.1. #ensor de presena" utilizaremos um modelo ;ue produz sa:da anal1ica. Trata=se de um sensor
/,R5 ;ue detecta infra$ermel)o e produz n:$el alto de sa:da sempre ;ue ) mudana na intensidade
do infra$ermel)o no sensor 6tecnicamente * um sensor ;ue detecta a mo$imenta&o de seres $i$os7.
>saremos a entrada diital5 pino 2 do arduino.
8.2. #ensor de temperatura" utilizaremos o sensor 20(85 esse sensor produz uma tens&o de sa:da
de 10m4 por rau .elsius de temperatura. /or e%emplo5 para a temperatura am'iente de 28
o
.5 a
sa:da ser de 280m4. Trata=se de um sensor anal1ico e usaremos a entrada anal1ica +0 do
arduino. +mplificaremos a sa:da desse sensor com um amp=op n&o in$ersor de an)o 10. +ssim
teremos um sinal de 2584 para a temperatura am'iente de 28
o
..
/ara an)o 105 utilizaremos R2?@A1 e R1?1A.
8.(. #ensor de c)u$a" esse sensor * 'em simples. Trata=se de um pe;ueno pedao de placa de
circuito impresso contendo dois BpentesC de lin)as entrelaas de um lado e um resistor de (( o)m %
8D do outro lado. #empre ;ue as tril)as de co're forem mol)adas por otas de c)u$a5 a resistncia
ente o conjunto de tril)as fica muito 'ai%a e5 atra$*s de um di$isor de tens&o composta por um
resistor de 10A e pelo sensor5 pode=se determinar uma $aria&o sinificati$a no $alor da tens&o do
di$isor5 indicando ;ue o mesmo foi mol)ado 6c)u$a7. E resistor de potncia do outro lado da placa
tem a fun&o de mant=la le$emente a;uecida e5 assim5 ailizar a e$apora&o da ua de c)u$a na
placa. >saremos a entrada diital5 pino ( do arduino.
8.4. #ensor de luminosidade" para esse sensor utilizaremos um 29R de 8mm. E 29R ser liado
tam'*m como parte de um di$isor de tens&o. 9essa forma5 teremos uma tens&o no di$isor ;ue ser
proporcional ;uantidade de luz no am'iente. >saremos a entrada anal1ica +1
/ara as sa:das5 adotaremos o seuinte"
8.F. ,nterface de potncia para acionar $entilador" >tilizaremos como $entilador um cooler de
computador 61247. E acionamento ser feito atra$*s de um transistor de potncia operando como
c)a$e. >saremos a sa:da diital5 pino 4 do arduino.
8.G. ,nterface de potncia para liar e desliar l-mpadas" utilizaremos um rel* para acionar uma
l-mpada ;ue poder ser alimentada pela rede .+. /ara acionar o rel*5 utilizaremos um transistor de
'ai%a potncia operando como c)a$e. E circuito * semel)ante ao anterior. >saremos a sa:da diital5
pino 8 do arduino.
8.H. #er$omotor para a'rir e fec)ar janelas" no nosso prot1tipo utilizaremos um ser$omotor de muit
'ai%a potncia5 o ;ue nos permitir li=lo diretamente sa:da anal1ica pino F do arduino. E
arduino j possui uma fun&o ;ue nos permite posicionar de forma muito precisa o ei%o do
ser$omotor de 0
o
a 1H0
o
.
F. #oft<are no arduino
9esen$ol$emos o soft<are a'ai%o"
Iinclude J#er$o.)K
// entradas
int sensorTemperatura ? +0L // entrada analoica
int sensor2uminosidade ? +1L // entrada analoica
1
2
(
4
8
const int sensor/resenca ? 2L // pino 2 do arduino
const int sensor.)u$a ? (L // pino ( do arduino
// saidas
#er$o janelaL // o'jeto #er$o para controlar a janela
const int $entilador ? 4L // pino 4 do arduino
const int lampada ? 8L // pino 8 do arduino
// $ari$eis de uso eral
int TemperaturaL //
int 2uminosidadeL //
int limiteTemperatura ? (20L // $alor limite fai%a 60 a 102(7
int limite2uminosidade ? 812L //
int escuroL
int ;uenteL
int c)u$aL
int presencaL
$oid setup67 M // confiuraes
pin0ode6sensor/resenca5 ,N/>T7L
pin0ode6sensor.)u$a5 ,N/>T7L
pin0ode6$entilador5 E>T/>T7L
pin0ode6lampada5 E>T/>T7L
janela.attac)6F7L
N
$oid loop67M // loop infinito
// le os sensores analoicos
Temperatura ? analoRead6sensorTemperatura7L
;uente ? Temperatura K limiteTemperaturaL
2uminosidade ? analoRead6sensor2uminosidade7L
escuro ? O62uminosidade J limite2uminosidade7L
// le o estado do sensor de presenca e inicia a loica de controle
// se o sensor for iual a 1 interpreta como $erdadeiro
presenca ? OdiitalRead6sensor/resenca7L
if6presenca7M // e%iste pessoa no local
if6;uente7M
diitalDrite6$entilador5 P,QP7L // lia
N else M
diitalDrite6$entilador5 2ED7L // deslia
N
if6escuro7M
diitalDrite6lampada5 P,QP7L // lia
N else M
diitalDrite6lampada5 2ED7L // deslia
N
N else M
diitalDrite6$entilador5 2ED7L // deslia
diitalDrite6lampada5 2ED7L // deslia
F
G
H
@
10
11
12
1(
14
18
1F
1G
1H
1@
20
21
22
2(
24
28
2F
2G
2H
2@
(0
(1
(2
((
(4
(8
(F
(G
(H
(@
40
41
42
4(
44
48
4F
4G
4H
4@
80
81
82
8(
84
88
8F
8G
N
c)u$a ? diitalRead6sensor.)u$a7L
if6escuro RR c)u$a7M
controleSjanela6TUT7L // fec)a
N
if6Oescuro VV Oc)u$a7M
controleSjanela6T+T7L // a're
N
delaW610007L // auarda 1s

N
$oid controleSjanela6c)ar modo7M
int $alL
if 6modo ?? T+T7M // a're a janela
$al ? 0L // anulo do ser$omotor 60 raus7
N
if 6modo ?? TUT7M // fec)a a janela
$al ? @0L // anulo do ser$omotor 6@0 raus7
N
janela.<rite6$al7L // ajuste a posi&o do ser$omotor de acordo com o mapeamento
N
8H
8@
F0
F1
F2
F(
F4
F8
FF
FG
FH
F@
G0
G1
G2
G(
G4
G8
GF
GG
GH
G@
H0
H1
H2
H(
H4

Você também pode gostar