New System

New members questions
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Where do I put this code?
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

Where your current WaterLevelATO function is. You'll want to put the if statement above it and the } below...
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Like this?


// Specific functions that use Internal Memory values
ReefAngel.Wavemaker(Port5,60);
ReefAngel.Wavemaker(Port6,120);
ReefAngel.StandardHeater(Port7,757,763);
// ReefAngel.StandardLights(Port8,17,0,13,0);
if ( (hour()>=2) && (hour()<4) ) {
ReefAngel.WaterLevelATO(Port8,60,70,75); // 60 seconds timeout, turn on at 70% and turn off at 75%}
ReefAngel.PWM.SetDaylight(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
ReefAngel.PWM.SetActinic(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

The only thing you need to do different is put the } on the next line...

The way it is now, it's commented out by the //

And remember you may have to adjust the levels and timeout based on the new scheduling.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Like this then?

// Specific functions that use Internal Memory values
ReefAngel.Wavemaker(Port5,60);
ReefAngel.Wavemaker(Port6,120);
ReefAngel.StandardHeater(Port7,757,763);
// ReefAngel.StandardLights(Port8,17,0,13,0);
if ( (hour()>=2) && (hour()<4) ) {
ReefAngel.WaterLevelATO(Port8,360,70,75); // 360 seconds timeout, turn on at 70% and turn off at 75%
}
ReefAngel.PWM.SetDaylight(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
ReefAngel.PWM.SetActinic(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

Yep looks good. Try it out. Lets see how it goes.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

I have a couple questions.
1) Since I have made this change 2 new items show on my LCD screen. DP 42 and AP 42. What is that for?
2) Can I change the salinity LCD color? It looks gold and is hard to see.

Now for a problem I have encountered. I can not get the "in water calibration to stabilize. The out of water works perfectly. I pull the PVC out of the water it stabilizes very quickly. When I put the PVC back in the water the first 3 numbers stabilize pretty quickly, but the fourth digit changes so rapidly up and down. I have a hard time seeing it. I actually thought it was stable until I put on my reading glasses.

Below is the current code I am using. Thanks for your help!

#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 <AI.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <Salinity.h>
#include <PH.h>
#include <WaterLevel.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.WaterChangePorts= Port1Bit | Port2Bit | Port3Bit | Port5Bit | Port6Bit;

// Ports that are always on
ReefAngel.Relay.On(Port1);
ReefAngel.Relay.On(Port2);
ReefAngel.Relay.On(Port3);
ReefAngel.Relay.On(Port4);
////// Place additional initialization code below here


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

void loop()
{
// Specific functions that use Internal Memory values
ReefAngel.Wavemaker(Port5,60);
ReefAngel.Wavemaker(Port6,120);
ReefAngel.StandardHeater(Port7,757,763);
// ReefAngel.StandardLights(Port8,17,0,13,0);
if ( (hour()>=2) && (hour()<5) ) {
ReefAngel.WaterLevelATO(Port8,420,70,75); // 420 seconds timeout, turn on at 70% and turn off at 75%
}
ReefAngel.PWM.SetDaylight( MoonPhase() );
ReefAngel.PWM.SetActinic( MoonPhase() );
////// Place your custom code below here


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

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


void DrawCustomMain()
{
int x,y;
char text[10];
// Parameters
#if defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 14, ReefAngel.Params,
ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue() );
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 14, ReefAngel.Params );
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
pingSerial();

// Salinity
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,15,54, "SAL:" );
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,39,54, ReefAngel.Params.Salinity );
pingSerial();

// Water Level
ReefAngel.LCD.DrawText( COLOR_DARKGOLDENROD,DefaultBGColor,75,75, "WL:" );
ReefAngel.LCD.DrawText( COLOR_DARKGOLDENROD,DefaultBGColor,99,75, ReefAngel.WaterLevel.GetLevel() );
pingSerial();

// Main Relay Box
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox( 12, 95, TempRelay );
pingSerial();

// Date and Time
ReefAngel.LCD.DrawDate( 6, 122 );
pingSerial();
}

void DrawCustomGraph()
{
}
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

The dp/ap is the pwm ports that it looks like you are using as moonlights. That is the dimming percentage. Ap is actinic port and dp is daylight port

As far as changing the color, the only way to do that is to write a custom display. Maybe you could redefine the color used. I'll let someone more familiar with that part of the library.

As far as the water level, this sounds like an issue I had. What is the calibration number when out of the water? It should be around 900...

What operating system are you using? I had to modify my waterlevel files in the library to use long instead of int. let's do some troubleshooting and I can give you the replacement files...

After you check the water level out of the water try blowing in the pvc...does the number stay 3 digits? Does it looks like it is bouncing back to 0, going up and resetting etc? If so then you might have the same issue I did.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Change this:

Code: Select all

ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,39,54, ReefAngel.Params.Salinity );
To this:

Code: Select all

ReefAngel.LCD.DrawText( COLOR_BLACK,DefaultBGColor,39,54, ReefAngel.Params.Salinity );
Yes, the calibration is fast and the last digit will change rapidly, but you can accept it anyway. It will never stay put in a single number. We are scaling down the resolution too, anyway. We only use 0-100% and the calibration is way more than that.
Roberto.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

Sorry, didn't see you already had a custom main. Try doing the calibration again and let us know...
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

The number is 935 when out of the water. When I blow in it it goes to 2000+. Thats the same number I get when I put the PVC back in the water to calibrate. After a few days my water level percentge is different even though the water level is the same.
Thanks for the help with the font color.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Did you seal the pipe?
Roberto.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Yes I used teflon tape.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

What I have noticed is. If the sensor times out. Even though I reset the ATO. The water level is screwed up. I have to do a calibration. As long as the ATO pump isnt timed out. The water level works fine. Is that something that can be fixed?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Have you tried sealing the pipe with pvc solvent?
Roberto.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

No but I will this weekend and see if that helps.
Post Reply