ATO Reservoir refill

Do you have a question on how to do something.
Ask in here.
Post Reply
Spotted
Posts: 101
Joined: Thu May 10, 2012 5:46 am
Location: Sunny (and hot) South Florida

ATO Reservoir refill

Post by Spotted »

OK, I've got an i/o expansion and a power control expansion. I have 12v water solenoids that I want to automate the refill of an ATO reservoir with float valves. I know I need a low float to start it then a hi float to stop it, just like an ATO routine. I have no idea how to code this.
I currently have a single float ATO and I want to change it to a dual float ATO. Will this be a problem with the ATO reservoir refill being the basic same ATO type?
I also want to semi automate a water change bin refill. I want to fill a Brute trash can with fresh R/O. Again, I've got it on a 12V water solenoid. I want to be able to manually turn it on then have it fill until it trips a float valve at the top. I also want to put in a low float valve so that it won't fill again if it is already full.
I read somewhere here that the 12 v power controller acts like a relay expansion. I tried adding it in the Wizard, but it only lets you add 2 relays. I currently have 2 relays and the PCE would be a third. What can I do.

Here is my current code.

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 <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 = Port1Bit | Port3Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
    ReefAngel.FeedingModePortsE[0] = Port2Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port1Bit | Port3Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
    ReefAngel.WaterChangePortsE[0] = Port2Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = Port2Bit;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port3Bit | Port6Bit | Port7Bit | Port8Bit;
    ReefAngel.OverheatShutoffPortsE[0] = Port2Bit;
    // Use T3 probe as temperature and overheat functions
    ReefAngel.TempProbe = T3_PROBE;
    ReefAngel.OverheatProbe = T3_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 805 );


    // Ports that are always on
    ReefAngel.Relay.On( Port3 );
    ReefAngel.Relay.On( Box1_Port2 );
    ReefAngel.Relay.On( Box1_Port8 );

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

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

void loop()
{
    ReefAngel.SingleATO( true,Port1,120,10 );
    ReefAngel.StandardLights( Port2,19,0,7,0 );
    ReefAngel.StandardLights( Port5,6,0,22,0 );
    ReefAngel.StandardHeater( Port6,780,805 );
    ReefAngel.Relay.DelayedOn( Port7,5 );
    ReefAngel.Relay.DelayedOn( Port8,3 );
    ReefAngel.DosingPumpRepeat( Box1_Port3,0,60,170 );

    ////// Place your custom code below here
    if ((now()%SECS_PER_DAY==28800)) //if it is 8 AM
    {ReefAngel.FeedingModeStart();} //START FEEDING MODE
    if ((now()%SECS_PER_DAY==64800)) //if it is 6 PM
    {ReefAngel.FeedingModeStart();} //START FEEDING MODE
    ////// Place your custom code above here

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


Help?
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO Reservoir refill

Post by rimai »

You would need to code the ports manually.
The wizard only has capability to only one expansion box.
You can generate a test code with the wizard and just copy and paste to your code.
For example, the code would generate something like this:

Code: Select all

ReefAngel.SingleATO( true,Box1_Port1,120,10 );
And you just need to replace to this:

Code: Select all

ReefAngel.SingleATO( true,Box2_Port1,120,10 );
Roberto.
Post Reply