PROYECTO DOMÓTICA

Anuncio
PROYECTO
DOMÓTICA
SANTIAGO VALERO SÁNCHEZ
JORGE GARCÍA MORENO
Desarrollo de Equipos Electrónicos
Albacete
1
1.-OBJETIVOS DEL PROYECTO……..………………………………………………………..3
2.-JUSTIFICACIÓN DEL PROYECTO…………………………………………………………3
3.-MATERIAL Y PRESUPUESTO………………………………………………………………4
4.-ELECCIÓN DEL DISEÑO DEL PROTOTIPO……………………………………………5
5.-CONSTRUCCIÓN DE LA MAQUETA…………………………………………………….6
6.-FUNCIONAMIENTO…………………………………………………………………………..11
7.-PROGRAMA……………………………………………………………………………………..12
8.-DATOS DE INTERÉS ………………………………………………………………………….20
9.-BIBLIOGRAFÍA…………………………………………………………………………………..20
2
1-OBJETIVOS DEL PROYECTO
El objetivo de nuestro proyecto es hacer una casa en la cual
tenemos un control total de las luces, del aire acondicionado y saber la
temperatura de del interior del hogar desde un ordenador conectado a
internet.
2-JUSTIFICACIÓN DEL PROYECTO
La domótica viene de la idea de “una casa futurista inteligente”.
Esta idea se ha ido desarrollando durante años pero actualmente no está
muy extendida pero que poco a poco la domótica va haciéndose un hueco
en nuestra vida cotidiana.
El hogar inteligente suele concentrar las acciones en cuatro
ámbitos diferenciados: confort, ahorro energético, comunicaciones y
seguridad técnica y personal, cada uno de ellos con una buena variedad de
equipamientos y servicios a tu disposición.
Los beneficios fundamentales son los siguientes:
- Ahorro: Ahorrarás tanto a nivel energético como económico, y es
que ambas cosas están fuertemente vinculadas… En este sentido, la
gestión tarifaria de sistemas y conjuntos podrá ser controlada de modo
que la factura no sea tan escalofriante a fin de mes. Un buen ejemplo son
los aparatos que controlan automáticamente los sistemas de climatización
y las persianas, aprovechando al máximo las horas de sol.
- Bienestar: Garantiza algunas cuestiones que sin duda nos harán
vivir más tranquilos como por ejemplo la seguridad personal en el hogar
así como la tele asistencia para las personas con movilidad reducida.
3
- Económico: Su instalación puede ser muy económica tanto en
viviendas nuevas como en antiguas, pues se puede aprovechar la red
eléctrica y las tecnologías sin cables como medio de transmisión.
- Variedad: La oferta domótica se amplía cada día que pasa
ofreciendo productos de más calidad, más fáciles de utilizar y a unos
precios más al alcance que en años anteriores.
Además de lo anterior, la domótica permite que todos los sistemas
inteligentes puedan ser controlados por medio de redes desde dentro y
fuera del hogar.
3.-MATERIAL Y PRESUPUESTO
Material
Madera
aglomerada
30x60
Foto
Lugar
Leroy y
Merlín
Cantidad
2
Precio
1,80 x 2 = 3,60€
Spray de
pintura azul
Leroy Merlin
1
1,80€
Caja de
madera para
Arduino y
Ethernet
Portaled
Leroy Merlin
1
1,60€
Dieltron
1
0,11€ x 8 =
0,88€
Led blanco
Dieltron
8
0,67€ x 8 =
5,36€
Ventilador
5v
Dieltron
1
5,65€
4
Cola para
madera
Leroy Merlín
1
1,80€
Tira de
regletas
pequeñas
Dieltron
1
1,72€
Cables
www.dx.com
1
3,15€
Arduino
Dieltron
1
25€
Ethernet
Dieltron
1
37,75€
TOTAL: 88,31€
4.-ELECCIÓN DEL DISEÑO DEL PROTOTIPO
El prototipo elegido es una maqueta de una casa ya que queremos realizar
“una casa inteligente”. Esta casa tendrá habitación, salón, cocina y jardín
delantero. En cada habitación colocaremos varios leds que simularán las
luces de una casa, un ventilador que simulara el aire acondicionado y un
lm35 para saber la temperatura.
5
5.-CONSTRUCCIÓN DE LA MAQUETA
Para construir nuestra maqueta utilizaremos algún material que sea
barato, resistente y fácil de trabajar como puede ser la madera
aglomerada.
Los demás materiales utilizados están mencionados en el apartado
anterior. A partir de aquí seguimos los siguientes pasos:
- Un tozo de madera de unos 30x60 cm que utilizaremos como
suelo de nuestra maqueta.
- Cortaremos unas tiras de madera de aproximadamente 9.5 cm
de ancho que las utilizaremos de paredes de nuestra casa.
Imagen
- Cortaremos estas tiras de madera con la longitud que sean
necesarias para hacer cada habitación de la casa.
- A estas tiras les hacemos unas ventanas y puertas para que sea
más similar a una casa de verdad.
6
- Pegamos las tiras en el suelo con cola para madera y una vez estén
bien pegadas reforzamos los bordes con silicona para darle más
resistencia.
- Una vez seco todo añadimos unas patas de madera para que
podamos cablear todo bien por debajo y así quede mucho más
presentable la maqueta.
Ya tenemos la maqueta construida ahora procederemos a realizar
todo el cableado de nuestro circuito basándonos en el siguiente el
siguiente esquema:
7
Hemos colocado los leds en las distintas habitaciones simulando
lamparas. En el salón 2, en la cocina 1, en la habitación 1 y 4 más fuera en
el patio al lado del camino que lleva a la puerta.
También hemos colocado un ventilador en el salón y un lm35 para
saber la temperatura del salón como se muestra en la siguiente imagen:
- Ventilador
8
- LM35
- Pegamos con silicona, en la parte inferior de la maqueta, los
cables, la regleta, las resistencias…. y pasamos los cables al
arduino que colocaremos en una cajita en el jardín como se
muestra en la imagen:
9
Ya tenemos terminada nuestra maqueta solo nos quedaría
decorarla con pintura azul claro.
Imagen final del proyecto:
10
6.-FUNCIONAMIENTO
Primero conectamos la alimentación para el Arduino y el cable
Ethernet para la placa Ethernet Shield, éste debe llegar desde el router
directo hasta la placa.
Una vez conectado todo abrimos el navegador (explorer, chrome,
mozilla…) y ponemos la dirección ip que le hemos asignado en el código
seguido de dos puntos ( : ) y el puerto.
11
Presionamos enter y ya nos aparecerá página desde la cual
podremos manejar todo.
En la página salen una serie de botones que sirven para poder
encender las luces de las partes de la casa que están disponibles.
7.-PROGRAMA
#include <SPI.h>
#include <Client.h>
#include <Ethernet.h>
#include <Server.h>
#include <Udp.h>
// Direccion MAC de la tarjeta ETHERNET
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//direccion ip desde la cual vamos a trabajar
//IPAddress ip(192,168,1, 101);//casa
IPAddress ip(192,168,10,150);//instituto
12
// Inicializamos la Ethernet y le asignamos el puerto
EthernetServer server(88);
// Declaramos las variables de las luces y aire
int cocina= 3;
int salon1= 4;
int salon2= 5;
int dormitorio= 6;
int jardin= 7;
int ventilador= 8;
//declaramos variables para la temperatura
int lm = A1;
float Temp = 0;
float Temp1 = 0;
String readString = String(30);
String state1=String(3);
String state2=String(3);
String state3=String(3);
String state4=String(3);
String state5=String(3);
String state6=String(3);
void setup()
{
// Abrimos la conexion y seleccionamos los pines de E/S
13
Ethernet.begin(mac, ip);
server.begin();
pinMode(cocina,OUTPUT);
pinMode(salon1,OUTPUT);
pinMode(salon2,OUTPUT);
pinMode(dormitorio,OUTPUT);
pinMode(jardin,OUTPUT);
pinMode(lm,INPUT);
pinMode(ventilador,OUTPUT);
state1="OFF";
state2="OFF";
state3="OFF";
state4="OFF";
state5="OFF";
state6="OFF";
}
void loop()
{
//calculos de la temperatura
Temp = analogRead(lm);
Temp1 = (5.0 * Temp * 100.0)/1024.0;
EthernetClient client = server.available();
if (client) {
14
ttrf
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length()<30) //leer peticion HTTP caracter por caracter
{
readString += c;
}
if (c=='\n') //Si la peticion HTTP ha finalizado
{
//Determinar lo que se recibe mediante GET para encender el Led o apagarlo
if(readString.indexOf("Cocina=On")>0){
digitalWrite(cocina,HIGH);
state1="ON";
}
if(readString.indexOf("Cocina=Off")>0){
digitalWrite(cocina,LOW);
state1="OFF";
}
if(readString.indexOf("Salon1=On")>0){
digitalWrite(salon1,HIGH);
state2="ON";
}
if(readString.indexOf("Salon1=Off")>0){
digitalWrite(salon1,LOW);
15
state2="OFF";
}
if(readString.indexOf("Salon2=On")>0){
digitalWrite(salon2,HIGH);
state3="ON";
}
if(readString.indexOf("Salon2=Off")>0){
digitalWrite(salon2,LOW);
state3="OFF";
}
if(readString.indexOf("Dormitorio=On")>0){
digitalWrite(dormitorio,HIGH);
state4="ON";
}
if(readString.indexOf("Dormitorio=Off")>0){
digitalWrite(dormitorio,LOW);
state4="OFF";
}
if(readString.indexOf("Jardin=On")>0){
digitalWrite(jardin,HIGH);
state5="ON";
}
if(readString.indexOf("Jardin=Off")>0){
digitalWrite(jardin,LOW);
state5="OFF";
}
16
if(readString.indexOf("Aire=On")>0){
digitalWrite(ventilador,HIGH);
state6="ON";
}
if(readString.indexOf("Aire=Off")>0){
digitalWrite(ventilador,LOW);
state6="OFF";
}
readString=""; //Vaciar el string que se uso para la lectura
//Enviar cabecera HTTP estandar
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
//Crear pagina web HTML
client.println("<html>");
client.println("<head>");
client.println("<title>Control domestico</title>");
client.println("</head>");
client.println("<body>");
client.println("<h1>Control domestico</h1>");
client.println("<hr>");
client.println("<h3>Encendido/Apagado de luces</h3>");
client.println("<br>");
17
client.println("<tr>Luz Cocina: </td><tr>");
client.println(state1);
client.println("<tr><td><form method=get><input type=submit name=Cocina
value=On>");
client.println("<tr><td><form method=get><input type=submit name=Cocina
value=Off><td>");
client.println("<br><br><tr>Luz Salon1: </td><tr>");
client.println(state2);
client.println("<br><form method=get><input type=submit name=Salon1
value=On>");
client.println("<form method=get><input type=submit name=Salon1
value=Off>");
client.println("<br><br><tr>Luz Salon2: </td><tr>");
client.println(state3);
client.println("<br><form method=get><input type=submit name=Salon2
value=On>");
client.println("<form method=get><input type=submit name=Salon2
value=Off>");
client.println("<br><br><tr>Luz Dormitorio: </td><tr>");
client.println(state4);
client.println("<br><tr><td><form method=get><input type=submit
name=Dormitorio value=On>");
client.println("<tr><td><form method=get><input type=submit name=Dormitorio
value=Off>");
client.println("<br><br><tr>Luz Jardin: </td><tr>");
client.println(state5);
client.println("<br><tr><td><form method=get><input type=submit name=Jardin
value=On>");
18
client.println("<tr><td><form method=get><input type=submit name=Jardin
value=Off>");
client.println("<br><br><tr>Aire Acondicionado: </td><tr>");
client.println(state6);
client.println("<br><tr><td><form method=get><input type=submit name=Aire
value=On>");
client.println("<tr><td><form method=get><input type=submit name=Aire
value=Off>");
client.println("<br><br><tr>La temperatura es de: </td><tr>");
client.println(Temp1);
client.println("<tr> grados</td><tr>");
client.println("</body>");
client.println("</html>");
client.stop();
}
}
}
}
}
19
8.-DATOS DE INTERÉS
Una futura mejora para este proyecto sería añadirle una aplicación para
android para poder controlar nuestro hogar desde cualquier lugar.
9.-BIBLIOGRAFIA
http://arduino.cc/forum/index.php?PHPSESSID=1465a4f969ff5c751442f
1266c938413&topic=32397.15
http://unicarlos.com/pezazul/index.php?articulo=4
http://tdrobotica.co/proyectos/electronica/262
20
Documentos relacionados
Descargar