Programador para acuario (8 Relés) Primeros pasos


hola todos.

hace unos meses escribí un post para un proyecto de un programador para acuario con 8 relés.
por motivos personales tenido que suspender el proyecto, pero ahora lo retomo.
guiado por surbyte, en su momento adquirí un arduino mega2560, un rtc ds3231 y una pantalla táctil tft, además claro, el módulo de 8 relés y demás accesorios necesarios para conexiones y demás.

para practicar antes de meterme de lleno en este proyecto (estoy más verde que los colores de este foro)
he comenzado escribiendo un programita utilizando un arduino uno y el reloj ds3231.

primeramente conecté el ds3231 al arduino uno y sincronicé la hora. sin problemas. desconectado varias veces el rtc y mantiene la hora y en 2 días que llevo probando no atrasa ni adelanta.

a continuación escribí el siguiente programita que activa 7 pines (del pin 7 al pin13) distintas horas según el relé que debe ser activado. puesto comentarios antes de cada operador.
he hecho pruebas y parece que todos funcionan.
espero sugerencias, tal vez correcciones que serán bien recibidas.
si esto funciona, el paso siguiente sería comenzar con la pantalla táctil  :smiley-confuse:

bueno, ahi vá el código:

code: [select]

#include <ds3231.h>
#include <wire.h>

ds3231 clock;

byte year, month, date, dow, hour, minute, second;

void setup() {
  // se inicial la interfaz i2c
  wire.begin();
  // se inicia la comunicación serial
  pinmode(7,output);
  pinmode(8,output);
  pinmode(9,output);
  pinmode(10,output);
  pinmode(11,output);
  pinmode(12,output);
  pinmode(13,output);
  serial.begin(9600);
 
}

void loop() {

  delay(800);
  //se rescata la información
  clock.gettime(year, month, date, dow, hour, minute, second);
  //se muestra solo hora, minutos y segundos:
  serial.print(hour, dec);
  serial.print(":");
  serial.print(minute, dec);
  serial.print(":");
  serial.println(second, dec);
   
  /* relay que enciende el circuito de leds de 3 watts de colores cuatro veces al día
  * durante media hora las 12:00, 13:00, 14:00 y 15:00 hs. funciona con el pin 7*/
  {
if (hour==12||hour==13||hour==14||hour==15)
     if (minute<30)
      {digitalwrite(7, high);   
      serial.println("funcionando----> leds de 3 watts de colores");}
  }
   /* relay que enciende la fuente de alimentación de 12 voltios y 30 amperios de
   * la iluminación de leds del acuario durante 12 horas desde las 10 de la mañana
   * hasta las 10 de la noche. está conectado al pin 8*/
  {
if (hour>=10 && hour<22)
  {digitalwrite(8, high);   
   serial.println("funcionando----> fuente de 12 voltios leds con efecto amanecer-anochecer");}
  }
   /*relay que enciende el solenoide de co2 durante 10 horas, desde las 10 de la mañana
    * hasta las 8 de la noche, funciona con el pin 9*/
 if (hour>=10 && hour<20)
     {digitalwrite(9, high);   
      serial.println("funcionando----> solenoide de co2");}
    /*relay que enciende la electrobomba y un agitador de líquidos (depósito del
     *antialgas) durante 5 minutos cuatro veces al día:
     *a las 12 de la noche, las 6 de la mañana, las 12 del mediodía y las 6 de la
     *tarde. está conectado al pin 10*/
  {
 if (hour==0|hour==6||hour==12||hour==18)
    if (minute<5)
     {digitalwrite(10, high);   
     serial.println("funcionando----> electrobomba de agua y agitador");}
  }
   /*relay que enciende las bombas de administración de fertilizante y antialgas 
      * durante 15 segundos cuatro veces al día, exactamente en el momento en que el
      * relay de la electrobomba se apaga, se activa con el pin 11*/
    {
if (hour==0||hour==6||hour==12||hour==18)
  if (minute==5)
    if(second<15)
    {digitalwrite(11, high);   
    serial.println("funcionando----> bombas peristalticas de fertilizante y antialgas");}
   }
    /* relay que enciende la lámpara germicida de 9 wats durante 4 horas 2 veces al día
      * se enciende las 8 de la mañana y las 8 de la noche y se activa con el pin 12*/
    {
 if (hour>=8 && hour<12 || hour>=20 && hour<24)
    {digitalwrite(12, high);   
    serial.println("funcionando----> lampara germicida uv de 9 watt");}
    }
    /*relay que enciende los leds azules (luz de luna) desde las 10 de la noche hasta las
     * 10 de la mañana. funciona con el pin 13 */
 if (hour>=22 || hour<10)
    {digitalwrite(13, high);   
    serial.println("funcionando----> luz de luna");}
    } 




asi por encima veo que activas muchas cosas pero no desactivas ninguna.


Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > Programador para acuario (8 Relés) Primeros pasos


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor