Controlar acuario con Arduino

Unos de los principales problemas que tengo con mi acuario es el encendido de las luces y del regulador de CO2, ademas del nivel y temperatura del agua.

Y que mejor para dar solución a estos problemas, que poner en practica los conocimiento adquiridos en el grupo de robótica en el que participo.

La idea del proyecto es mediante una placa Arduino UNO  automatizar mi acuario, la siguiente es la lista de los materiales que voy a necesitar:

  • Arduino Uno
  • LCD Serial 20 x 4 con un modulo L2C
  • Reloj DS1307
  • Sensor de Temperatura DS18B20
  • Sensor de Nivel de agua
  • Modulo Relay de 4 canales
  • Teclado de membrana de 12 teclas

Dentro de estos días subo fotos y mas detalles de los elementos utilizados.

Controlar temperatura del agua con Arduino

Para controlar la temperatura de un acuario necesitamos los siguientes materiales:

1 Arduino UNO

1 Sensor de temperatura DS18B20

1 Resistencia de 4.7k

El sensor de temperatura DS18B20 mide la temperatura en grados celsius, se conecta a mediante 1-wire y según especificaciones del fabricante mide la temperatura entre -55° a +125°.

La siguiente imagen muestra el esquema de conexión:

El siguiente es el código utilizado:


#include <DallasTemperature.h>
#include <OneWire.h>

#define PIN_TEMPERATURA 7

#define TEMP_MINIMA 25.50
#define TEMP_MAXIMA 26.00

DeviceAddress TemperaturaAgua;

OneWire oneWire(PIN_TEMPERATURA);
DallasTemperature termometro(&oneWire);

void setup(){
 Serial.begin(9600);
 termometro.begin();

 pinMode(PIN_TEMPERATURA, INPUT);

 if(!termometro.getAddress(TemperaturaAgua, 0)){
     Serial.println("Sensor de Temperatura Desconectado");
 }
 termometro.setHighAlarmTemp(TemperaturaAgua, TEMP_MAXIMA);
 termometro.setLowAlarmTemp(TemperaturaAgua, TEMP_MINIMA);
}

void loop(){
    leerTemperatura();
}

void leerTemperatura(){
float TemperaturaDelAgua;
termometro.requestTemperatures();
TemperaturaDelAgua = termometro.getTempC(TemperaturaAgua);

//Serial.println(TemperaturaDelAgua); #para ver la temperatura que esta marcando

 if(termometro.hasAlarm(TemperaturaAgua)){

     if(termometro.getTempC(TemperaturaAgua) < termometro.getLowAlarmTemp(TemperaturaAgua)){
         Serial.println("La temperatura del agua esta bajo el minimo");
     }

     if(termometro.getTempC(TemperaturaAgua) > termometro.getHighAlarmTemp(TemperaturaAgua)){
         Serial.println("La temperatura del agua esta sobre el maximo");
     }
 }

}

Cualquier duda o corrección no dudes en escribir.

Practical Arduino

Para descargar el libro :P

Practical-Arduino
Practical-Arduino
Practical-Arduino.pdf
9.2 MiB
4956 Downloads
Details...

Paro de la Carrera

Bueno dejo unas fotitos del paro de la Carrera que estudio Ing. (E) en Computación e Informática del Instituto Virginio Gomez sede Chillán, este paro fue los días 30 de Nov. y 01 de Dic. de 2010 :

Volver a arriba