Hi guys,
Just wondering if there's a way i can log the water level. I have the waterlevel expansion and i was just wanting to generate some simple graphs like the default ph and Temp ones but for waterlevel. Any ideas how to do this?
Log Water level
Re: Log Water level
I think this is what you're after:
http://forum.reefangel.com/status/chart ... &filter=wl
full details are on this thread:
http://forum.reefangel.com/viewtopic.php?f=20&t=771
http://forum.reefangel.com/status/chart ... &filter=wl
full details are on this thread:
http://forum.reefangel.com/viewtopic.php?f=20&t=771
Re: Log Water level
Cheers mate,
These are the codes I'm using right now which rely on water level. First one is for ATO and second one is too ensure pump switches off if water level gets so high:
ReefAngel.WaterLevelATO( Port6,60,88,92 );
////// Place your custom code below here
if (ReefAngel.WaterLevel.GetLevel() >= 100) ReefAngel.Relay.Off(Port6);
My only problem is, the Water has been topped up by the ATO to 96, and it keeps on topping it up to a higher level than it should according to that code. Like i've seen it turn on when the water level is already at 94 and add water to the tank. Anyone have ideas why this is happening?
These are the codes I'm using right now which rely on water level. First one is for ATO and second one is too ensure pump switches off if water level gets so high:
ReefAngel.WaterLevelATO( Port6,60,88,92 );
////// Place your custom code below here
if (ReefAngel.WaterLevel.GetLevel() >= 100) ReefAngel.Relay.Off(Port6);
My only problem is, the Water has been topped up by the ATO to 96, and it keeps on topping it up to a higher level than it should according to that code. Like i've seen it turn on when the water level is already at 94 and add water to the tank. Anyone have ideas why this is happening?
Re: Log Water level
First make sure your ATO pump isn't getting a siphon. That was the issue the last time we saw this problem. Even though it was a peristaltic pump!!
Second, post your full code so we can make sure there are no other issues conflicting.
Second, post your full code so we can make sure there are no other issues conflicting.
Re: Log Water level
Definitely not creating a siphon as the ato reservoir is below the tank and the hose output is about 8cm above water level so there's no way it could create a siphon and even if it did, that would result in water flowing down into the reservoir leaving a lower water level. My issue is that mater level is too high for some reason.
Here's my full code:
Thanks a lot,
Tom
Here's my full 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.SetTemperatureUnit( Celsius ); // set to Celsius Temperature
ReefAngel.Use2014Screen(); // Let's use 2014 Screen
ReefAngel.AddWaterLevelExpansion(); // Water Level Expansion Module
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port2Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port3Bit | Port5Bit | Port6Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = Port4Bit;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port3Bit | Port4Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 280 );
// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port2 );
ReefAngel.Relay.On( Port4 );
ReefAngel.Relay.On( Port5 );
////// Place additional initialization code below here
ReefAngel.CustomLabels[0]="Left Wavemaker";
ReefAngel.CustomLabels[1]="Right Wavemaker";
ReefAngel.CustomLabels[2]="Heater";
ReefAngel.CustomLabels[3]="Light";
ReefAngel.CustomLabels[4]="Skimmer";
ReefAngel.CustomLabels[5]="ATO";
ReefAngel.CustomLabels[6]="Unused";
ReefAngel.CustomLabels[7]="Unused";
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardHeater( Port3,240,250 );
ReefAngel.WaterLevelATO( Port6,60,88,92 );
////// Place your custom code below here
if (ReefAngel.WaterLevel.GetLevel() >= 100) ReefAngel.Relay.Off(Port6);
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "tom_swell" );
ReefAngel.ShowInterface();
}
Tom
Re: Log Water level
I don't see anything wrong with it.
Can we try something different?
Try this code instead:
Can we try something different?
Try this code instead:
Code: Select all
if (ReefAngel.WaterLevel.GetLevel() > 0 && ReefAngel.WaterLevel.GetLevel() <= 88)
ReefAngel.Relay.On(Port6);
if (ReefAngel.WaterLevel.GetLevel() >= 92)
ReefAngel.Relay.Off(Port6);
Roberto.
Re: Log Water level
Hi Roberto, does that just go where the old ATO code was or should it go in the custom code section? Thanks for all your help!