ATO Only at night.

Do you have a question on how to do something.
Ask in here.
Post Reply
cjrudy
Posts: 135
Joined: Sat Nov 10, 2012 2:47 pm

ATO Only at night.

Post by cjrudy »

Try to code so my ATO only runs at night, I think I have this coded right.

Thoughts ?

Code: Select all

#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <Salinity.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <PAR.h>
#include <ReefAngel.h>

////// Place global variable code below here


////// Place global variable code above here


void setup()
{
    // This must be the first line
    ReefAngel.Init();  //Initialize controller
    ReefAngel.Use2014Screen();  // Let's use 2014 Screen 
    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = 0;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = 0;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit | Port4Bit;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;

    // Feeeding and Water Change mode speed
    ReefAngel.DCPump.FeedingSpeed=0;
    ReefAngel.DCPump.WaterChangeSpeed=0;


    // Ports that are always on
    ReefAngel.Relay.On( Port3 );
    ReefAngel.Relay.On( Port6 );
    ReefAngel.Relay.On( Port8 );

    ////// Place additional initialization code below here
    

    ////// Place additional initialization code above here
}

void loop()
{
    ReefAngel.ActinicLights( Port1 );
    ReefAngel.DayLights( Port2 );
    ReefAngel.StandardHeater( Port4 );
    ReefAngel.StandardFan( Port5 );
    ReefAngel.SingleATOHigh( Port7 );
    ReefAngel.DCPump.UseMemory = true;
    ReefAngel.DCPump.DaylightChannel = None;
    ReefAngel.DCPump.ActinicChannel = Sync;
    ////// Place your custom code below here
    
    if (hour() >=24 && hour() <=12)
  {
    ReefAngel.Relay.On( Port7 );
  }
  else
  {
    ReefAngel.Relay.Off( Port7 );
  }
 
    

    ////// Place your custom code above here

    // This should always be the last line
    ReefAngel.Portal( "cjrudy" );
    ReefAngel.ShowInterface();
}

rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO Only at night.

Post by rimai »

No. there is no such thing is hour 25 so you can't do hour >24.
Hour goes from 0 to 23.
Also, the way you coded, it will simply turn the relay on all the time instead of ATO.
Try this:

Code: Select all

if (hour()<=12)
  ReefAngel.SingleATOHigh( Port7 );
else
  ReefAngel.Relay.Off( Port7 );
Roberto.
cjrudy
Posts: 135
Joined: Sat Nov 10, 2012 2:47 pm

Re: ATO Only at night.

Post by cjrudy »

ahh......thank you Roberto
Post Reply