Pages: [1] 2 3 4   Go Down
Author Topic: Proyecto de domótica desde 0  (Read 18824 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola a todos! Soy nuevo en el mundo de arduino en el que me inicié para intentar domotizar una casa que está finalizando su construcción.
Llevo leyendo artículos y viendo tutoriales varios días para ver las posibilidades de esta plataforma y también los posts de este foro para ver de lo que es capaz la gente de hacer y con qué problemas se encuentra.
Soy programador PHP así que la parte de software la llevo mejor, aunque poco a poco, que la de electrónica, aunque cuento con algún amigo que domina más ese tema.
Espero poder utilizar este post para compartir los avances en el proyecto así como pediros ayuda en los problemas que me vaya encontrando.

Esta es la lista de lo que pretendo montar:
  • Control de persianas (ya instaladas y con motor claro)
  • Alarma con sensor de movimiento
  • Control de iluminación
  • Control de riego
  • Cámaras Videovigilancia. He estado leyendo en el foro y esto lo hará el propio software de las cámaras IP
  • Programación de eventos: riego, apertura de persianas y luces según fecha/hora o sensor de luz, etc...

Algunas de estas cosas ya las he leido en el foro y las tengo claras (en mi mente) y otras ya me he topado con alguna duda.
La principal duda que tengo es relativa al control de persianas y luces.  Veo que se deben utilizar relés conectados a la placa de arduino para que activen/desactiven la luz, la subida/bajada de las persianas, ... pero no veo la manera de que se pueda utilizar indistintamente el Arduino y el interruptor/pulsador de la pared.  He visto este esquema de OpenDomo: http://es.opendomo.org/wiki/images/a/a6/Esquema_persianas.png pero usan una placa de relés especial. Viendo el esquema, con esa placa sería sencillo montar el sistema, pero no se si se puede conseguir en algún tienda online de internet, ya he visto cooking-hacks.com y bricogeek.com

Poco a poco iré comentándoos mi idea inicial (seguramente tendré que modificarla con vuestro consejos) de hardware, placas arduino a usar y la interface gráfica para que me deis vuestra opinión.

Nos seguimos leyendo!
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

según mi opinión tienes que usar uno de los reles como si fuese un interruptor mas.

y luego lo complicado, como sabe el arduino si la luz esta encendida o apagada, o la persiana subida o bajada. Pero vamos que se puede hacer perfectamente.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias por tu respuesta Sergegsx. Cuando llegue a esa parte del proyecto entraré más en profundidad utilizando esa idea.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Para la parte de la interface del proyecto, inicialmente, opto por varios arduinos con shield ethernet conectados a la red a un servidor LAMP.  Este servidor tendrá una interface web PHP con base de datos MySql que será el que tome las decisiones, guarde datos en la base de datos etc.
Cada arduino gestionará una parte del proyecto: persianas, iluminación, alarma (este con módulo GSM) y riego.
De esta manera cada arduino estará programado en varios bloques y cada bloque "preguntará" al servidor que debe de hacer en un momento concreto o según valores de sensores y el servidor le responderá lo que debe hacer por cada pin de salida. La propia aplicación PHP será la que gestione la programación de eventos, guarde en la BBDD los valores de los sensores, etc.
Espero poder hacer un sistema lo más flexible posible para que sea sencillo añadir nuevas características.
Qué os parece este sistema?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola juanpa, estoy con un proyecto muy similar al tuyo.
Resulta que mi fuerte es más la electricidad y la electrónica, así que sí estas interesado en que colaboremos, yo puedo ir proporcionandote la información que requieres a cambio de que me ayudes con la programación.
No obstante, cuando tenga un momento te adjuntare un esquema de reles para las persianas que se puede manejar también con los pulsadores.

Saludos
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vale genial, ahora mismo estoy desarrollando una aplicación en PHP y MySql que consulta y modifica estados de los pines utilizando AJAX mediante jQuery para conseguir mayor inmediatez. En cuanto tenga algo medianamente visible te lo pasaré.
Un saludo!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yo pensaba en algo más simple, del tipo servidor en la placa.
Sólo por no tener un pc en marcha.
Estamos en contacto.
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vale genial, ahora mismo estoy desarrollando una aplicación en PHP y MySql que consulta y modifica estados de los pines utilizando AJAX mediante jQuery para conseguir mayor inmediatez. En cuanto tenga algo medianamente visible te lo pasaré.
Un saludo!

me interesa !! espero que compartas tus resultados y codigo, suena muy bien lo que propones! animo
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Respecto a las persianas voy a hacerte varias observaciones:
-El esquema de Opendomo está muy bien pero te comento los contras que yo veo.
     A la hora de implantar la solución en la instalación de tu casa, debes tener en cuenta que usar un arduino + eth + alimentador + placa de reles para una única persiana, me parece excesivo en coste (multiplicar por las persianas).
     Luego, en lo que se refiere a los pulsadores de subir y bajar (en realidad es un pulsador con enclavamiento mecánico para evitar pulsar los dos al mismo tiempo), yo no los conectaría al arduino ya que surje el problema de que si se produce una avería en la electronica, te quedas sin poder maniobrar las persianas hasta que le des solución.
     Por lo que sugiero (yo lo voy a hacer asi) que los conectes como en el esquema que adjunto.

     De esta manera siempre puedes maniobrar las persianas, hay que dejar el modulo de reles junto a la persiana y conectar con cuatro hilos de 0,25 ó 0,50 m.m. el módulo y el arduino (las salidas restantes las puedes aprovechar para otras funciones). El inconveniente que tiene este sistema es que puede darse el caso de estar maniobrando la persiana en local y el arduino enviar una señal contraria, por lo que he situado unos fusibles a la entrada del motor para evitar quemar el motor.
     Es una idea que queda abierta a sugerencias ......

Saludos
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

tu propuesta no esta mal pero que se peudan seleccionar ambos sentidos a la vez y que haya que tener un fusible para evitar el humo, no lo veo en absoluto.
tiene que haber una opción mejor. no me he puesto a diseñarla pero si tengo un rato le echo una pensada. pero tiene que ser un circuito con un gran "OR" para que no funcione en ambos sentidos al a vez. y que pueda activarse paralelamente con pulsador manual o arduino.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yo estoy con un proyecto bastante parecido, por ahora calefaccion, riego y todavia no le veo la forma clara pero que mande un correo si se va la luz. Y todo accesible desde internet.
Por ahora el diseño de la web es un plano del piso en el que se ven los termometros, higrometros etc, si os interesa os hago una captura
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenos días,
en mi caso estoy haciendo algo parecido, pero por ahora sólo lo tengo hecho en mi cabeza, entre tanto lío que tengo smiley-yell
Desde Android quiero controlar calefaccción, AC, persianas y paneles japoneses mediante Arduino UNO + Xbee Shield + Wifly RN-XV

El cliente estará en HTML5 y Jquery con consultas en AJAX a los arduino, pero uno de los problemas que veo es el tema de la temporización. En mi caso, quiero que al establecer una temporización del modo:

"Programo Calefacción para mañana a las 21:00 y quito a las 22:00"

Bien, está claro que Javascript en el lado del cliente no tiene sentido, por tanto, pensemos en lado del servidor. El servidor será de tipo PHP, eso todavía no lo tengo claro, dependiendo principalmente de este tema. Es decir,

1. ¿ Cómo puedo realizar una rutina en segundo plano para poder temporizar los eventos, y además acudir a la rutina para consultar el tiempo restante que queda hasta el evento ?
2. Si el servidor Web (la máquina) se reinicia, posteriormente la rutina debe seguir estando activa y el tiempo ha debido de contar.

¿ Me podríais orientar si esto es posible programarlo en PHP o me viene mejor algún otro tipo de lenguaje en el lado servidor ?

Muchísimas gracias

Un saludo
 
« Last Edit: January 16, 2013, 07:36:05 am by Andres2007 » Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 956
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Respecto a las persianas voy a hacerte varias observaciones:
-El esquema de Opendomo está muy bien pero te comento los contras que yo veo.
     A la hora de implantar la solución en la instalación de tu casa, debes tener en cuenta que usar un arduino + eth + alimentador + placa de reles para una única persiana, me parece excesivo en coste (multiplicar por las persianas).
     Luego, en lo que se refiere a los pulsadores de subir y bajar (en realidad es un pulsador con enclavamiento mecánico para evitar pulsar los dos al mismo tiempo), yo no los conectaría al arduino ya que surje el problema de que si se produce una avería en la electronica, te quedas sin poder maniobrar las persianas hasta que le des solución.
     Por lo que sugiero (yo lo voy a hacer asi) que los conectes como en el esquema que adjunto.

     De esta manera siempre puedes maniobrar las persianas, hay que dejar el modulo de reles junto a la persiana y conectar con cuatro hilos de 0,25 ó 0,50 m.m. el módulo y el arduino (las salidas restantes las puedes aprovechar para otras funciones). El inconveniente que tiene este sistema es que puede darse el caso de estar maniobrando la persiana en local y el arduino enviar una señal contraria, por lo que he situado unos fusibles a la entrada del motor para evitar quemar el motor.
     Es una idea que queda abierta a sugerencias ......

Saludos


Permiteme compañero una modificacion:


Cambiado el esquema asi no le hace falta fusibles alguno.

El rele de arriba pasa a ser el encargado de activacion del automatismo con el arduino, cuando el arduino va a realizar una maniobra accionamos el rele de activacion con lo cual deja sin fase al pulsador manual, asi no hay riesgo de encontrarte dos tensiones y con el rele de abajo simplemente o sube o baja dependiendo si esta activado o no.

El usuario tiene que mandar un pulso al de activacion (rele 1) si es subir y mandar un pulso al de activacion + otro al de bajar(rele 2) si es bajar.
Code:
function subir{     ---> subir
digitalwrite(activacion, HIGH)
delay(tiempo..x..);
digitalwrite(activacion, LOW)
}

function bajar{   -----> bajar
digitalwrite(activacion, HIGH)  
digitalwrite(bajar, HIGH)
delay(tiempo..x..);
digitalwrite(activacion, LOW)  
digitalwrite(bajar, LOW)
}

Si el arduino falla siempre funcionara el sistema manual porque el rele 1 de activacion esta en reposo, siempre le manda la fase a la linea de pulsador manual, solo deja de enviar la fase a la linea del pulsador manual cuando entra en accion el arduino.
« Last Edit: January 16, 2013, 12:08:27 pm by Heke » Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

heke muy buen trabajo !!
Me ha gustado mucha la idea del rele de activación. Me guardo el esquema de concepto porque seguro que lo uso en el futuro.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si no me equivoco si usas delay pones en "pausa" arduino por lo que no puedes hacer hacer nada mas, es decir, estas regando 5 min y en ese tiempo no puedes controlar nada.

El tema de la programacion de tareas lo puedes hacer con un modulo rtc de arduino, vamos un reloj.
Si encuentras la forma de hacer que el servidor php ejecute en un tiempo algo comentamela pero ten en cuenta que la web solo se ejecuta cuando esta abierta. Mi idea si conseguimos que sea el server es que si se va la luz mande un correo avisando, pero todavia no le veo la solucion

Logged


Pages: [1] 2 3 4   Go Up
Jump to: