jueves, 13 de septiembre de 2012

Cambios en el proyecto

Vamos a añadir un modulo nuevo, es un reloj en tiempo real, puesto que era casi imposible controlar la hora ya que cada vez que se reinicie se pone a las 0:00 y esto puede suponer un descontrol total del proyecto.

 

Cuando lo tengamos en las manos actualizaremos.

Continuando con la última entrada

Como planteamos en la entrada anterior, en un enchufe doble de superficie hemos puesto un termómetro para saber la temperatura exterior y un led que nos indique cuando esta funcionando el rele. El enchufe de la derecha es el controlado por arduino y el otro un enchufe normal.

Detalle del interior de los enchufes. En la parte de arriba tenemos el led y abajo el termómetro.

 

Detalle del termómetro.

Led encendido.

 

Ya cerrado con las conexiones terminadas.
 

Para evitar que con la lluvia entre agua, sellamos todo con cola caliente, tanto las uniones como las soldaduras y conectores.

 

sábado, 8 de septiembre de 2012

Termómetro y led exterior

Aprobechando que el conector del telefono tiene 4 cables y el rele solo utiliza 3, vamos a añadir un termometro, utilizaremos el lm35, aprobechando la corriente de los cables del rele.

Además conectamos a los pines del rele un led que nos indique cuando está en funcionamiento, y asi poder descartar posibles fallos de la bomba.

Suponiendo que tenemos conectado el lm35 al analogico 0. El siguiente codigo nos convierte las lecturas del lm35 a grados centigrados.

Temp=(5*analogRead(A0)*100/1023.0);





Para imprimir este dato utilizaremos la lcd de la siguiente forma,

lcd.print("Temperatura actual: ");


lcd.print(Temp);

lcd.print(" C.");

Los que nos daria como resultado: Temperatura actual: 30 C.

lunes, 3 de septiembre de 2012

Conexión bomba-arduino

Para conectar la bomba es necesario utilizar un relé, de 5v y salida libre, cuya función principal es hacer de interruptor del circuito de 220v a la señal de la parte de 5v, en este caso dicha señal la manda Arduino. En el siguiente esquema podemos ver el circuito del relé.

 

 

El rele está formado por 6 pines, los dos de arriba los "normalmente cerrados", es decir normalmente apagado lo que conectemos, los pines de abajo los normalmente abiertos y los de enmedio conectados mediante una bobina, son los que le conectaremos el arduino.

 

 

 

Para el circuito de conexión con arduino utilizaremos el ejemplo de la web oficial, http://www.arduino.cc/es_old/Tutoriales/Rele , en el cual vemos el siguiente esquema de conexión,


 

Como la idea es que se quede todo totalmente estanco, utilizaremos enchufes en superficie en concreto dos, uno que actue como enchufe normal y otro controlado desde arduino al cual le añadiremos un led de alta intensidad que se encienda cada vez que se active el rele. Como en los demás casos, para la conexion utilizaremos clavijas telefonicas.

 

 

Para probarlo vamos a modificar el codigo del ejemplo:

Código fuente

 int relayPin = 8;                 // PIN al que va conectado el relé
 void setup(){
 pinMode(relayPin, OUTPUT);
 }
 void loop() {
 digitalWrite(relayPin, HIGH);   // ENCENDIDO 
 delay(1000); 
 digitalWrite(relayPin, LOW);    // APAGADO 
 delay(1000);
    }
Este apaga y enciende el aparato que tengamos enchufado.

 

lunes, 27 de agosto de 2012

Primeras pruebas con lcd

Ya lo tenemos conectado, ahora toca probar codigo, como el proyecto va enfocado al control por tiempo, vamos a probar la libreria time.h, (http://arduino.cc/playground/Code/Time), para empezar vamos a utilizar las siguientes funciones:

hour(); // la hora desde la puesta a 0 (0-23)
minute(); // minutos desde la puesta a 0 (0-59)
second(); // segundos desde la puesta a 0 (0-59)

Con un if() podemos controlar cuando queremos que pase algo,

if( hora()= 9){
Lo que queramos que suceda
}

También tenemos otra libreria TimeAlarms.h pero la dejaremos para más adelante.

Una vez que tengamos el codigo, solo nos falta utilizar la funcion de la libreria LiquidCrystal.h,
enlace.

De esta libreria empezaremos por lo básico:

clear()
print()
setCursor()


// incluimos las librerías.
#include <LiquidCrystal.h>
#include <Time.h>


// inicializamos la lcd en los pins utilizados
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int led = 13;

void setup() {
// configuramos el tamaño de la pantalla
lcd.begin(16, 2);




pinMode(led, OUTPUT);



}

void loop() {

// situamos el cursor

lcd.setCursor(0, 1);


lcd.print("h ");
lcd.print(hour());
lcd.print(" m ");
lcd.print(minute());
lcd.print(" s ");
lcd.print(second());

if (hour()==00 && minute()==1 && second()== 7){
digitalWrite(led, HIGH);
}


}




Con este código en la pantalla de la lcd se mostraría h X m Y s Z y además en el minuto 1 y segundo 7 se encendería un led (el cual no se apaga en el programa).






 

Conexion lcd

El primer paso que vamos a dar es conectar la lcd para poder ir viendo los resultados de una forma más rápida, como ya hemos visto antes mi intención es que todo se muestre y se maneje por internet, pero de momento ( y mientras llega el modulo del rj45) los sacaremos en la lcd.Para la conexión utilizaremos la información de la web oficial, enlaceUna vez hecho todo el proceso y comprobado con el código del ejemplo que todo está correcto lo meteremos en la caja estanca y cambiaremos los cables por las fichas de conexión del teléfono.

Teniendo en cuenta que si ponemos la hembra conectada a la lcd si algún día necesitamos alargar la distancia entre Arduino y la lcd solamente cambiamos el cable del teléfono.

 

domingo, 26 de agosto de 2012

Descripcion del proyecto

Vamos a tratar de gestionar el riego por goteo con arduino, entre otras funciones que sobre la marcha vayan surgiendo, vamos a tener en cuenta:

  • Frecuencia de riego.
  • Activar o desactivarlo bajo demanda, en un futuro por internet, aunque de momento las modificaciones se haran en el codigo.
  • Visualizar la temperatura.
  • Y como el riego es con deposito, avisar y no poner en funcionamiento la bomba si no hay agua o el nivel es insuficiente.
  • Mostrar distinta informacion en la pantalla lcd.
Materiales:

  • Arduino uno.
  • Lcd.
  • Arduino Ethernet.
  • Cajas estancas para el acabado.
  • Bomba de riego.
  • Cables, led, rele, y demás componentes.
  • Clavijas hembra y machos de telefono para las conexiones y así tener mas flexibilidad respecto a la distancia, ya que bastaría con poner un cable más largo entre las distintas partes que forman el sistema.