New Reef Angel owner questions

Post Reply
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

New Reef Angel owner questions

Post by Cruzer »

Hello all,

Recieved my Reef Angel today and am trying to get my head wraped around it.
- With the wave maker function can I have one pump run for like an hour then have it shut off and run a second pump for an hour? Looks like I can only specify seconds. The pumps I have at the moment are not going to do well powering on and off in short timeframes to make waves, but I would still like to have a change of flow every hour or so.
- I have not been able to get the WiFi to work, I doubt it is a problem with the product though. I try and set it up with the installer and the blue lights continue to blink. Dont think my router is letting it connect.
- I have some confusion with the Reef Angel client and the generator software. I have been reading everything that I can find including all the tutorials and will figure it out at some point.

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

Re: New Reef Angel owner questions

Post by rimai »

Yes, we can change the pumps to behave in the exact way you mentioned.
Let's first start by getting you feet wet.
Have you been able to generate any code and upload to the controller yet?
The wifi can be configured easily with this utility:
https://github.com/davemolton/Graphical-Wifi-Utility
Roberto.
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New Reef Angel owner questions

Post by binder »

I agree. Start small. Generating code and uploading to the controller is the best place to start with. Start off with something simple with the controller to make sure you get the feel for it. We can always add in elaborate stuff later on once we know you understand how to do it.

curt
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

I think I am going to reload the basic (simple) demo code back in until I get a better idea what I am doing. I have been messing with stuff and have figured out enough to mess things up lol. I have tried the WiFi utility and it is not working for me, but it might my network that is kicking it back. I am going to put some thought into what I really need and what I want and post that up later. Certainly do not expect you guys to write the code for me just point me in the right direction. The help and support that I have seen here was the deciding factor in my purchase.
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New Reef Angel owner questions

Post by binder »

Feel free to ask questions about your setup. Everybody will do what they can to help out as best as we can.

curt
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

I got the WiFi module to hook up to my network. Will work on getting it to work with the Iphone app and or client later.
Noob question, Ho wdo I use the development files? I see in the client I think that is shows what version I have and it is not showing any. Do I download a list of them to my computer then pick and choose from them to use?
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

So this is what I am looking at ending up with. The actual outlet numbers do not matter to me.

Outlet 1 – Float switch low Dosing/ATO If PH >9.5 then stop (Kalk) stop when upper float switch activated
Outlet 2 – Float switch low Dosing/ATO If PH>9.5 then start (RODI) stop when upper float switch activated
Outlet 3 - Heater on 78 off 80
Outlet 4 – PH1 on 60 min then off
Outlet 5 – PH2 off then on 60 min
Outlet 6 – Lights on 1 pm off 10 pm
Outlet 7 – Lights on 2 PM off 11 PM
Outlet 8 – Skimmer off if high float switch (2) activated

I would like to use one ATO switch to maintain the normal low and correct level, would probably like to put in a time each hour to have the dosing pumps run if the float is low, and have a time out if they reservoir is empty.
Would like to have a urgent high level switch to turn off the skimmer. My current tank is a Solana All In One type set up and if the filter media gets clogged then the level in the back sump goes up. If that happens then the water level that the skimmer is in will rise and the skimmer will over flow.

So, these are the ideas of how I would like to use the controller. Do you see any problems with being able to code this all in? I do not think it is nearly as complicated as others are doing.

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

Re: New Reef Angel owner questions

Post by rimai »

Piece of cake.
I'll put something together tomorrow. :)
Roberto.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

Thanks, No need to rush, I can plunder along and figure it out. Your guys support is fantastic though.
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: New Reef Angel owner questions

Post by binder »

Oh he will have code to test out real quick. He's like a "ninja" when it comes to doing that. :)

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

Re: New Reef Angel owner questions

Post by rimai »

Here is what you have to do:
1. Open ReefAngel_Features.h file on notepad. The file is located on "Documents\Arduino\libraries\ReefAngel_Features" folder.
2. Delete the contents of the file and paste this:

Code: Select all

// AutoGenerated file by RAGen (v1.1.0.127), (11/19/2011 09:01)

/*
 * Copyright 2010-11 Curt Binder
 *
 * Licensed under the Apache License, Version 2.0 (the "License")
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


#ifndef __REEFANGEL_FEATURES_H__
#define __REEFANGEL_FEATURES_H__


#define DateTimeSetup
#define VersionMenu
#define ATOSetup
#define StandardLightSetup


#endif  // __REEFANGEL_FEATURES_H__
3. Save
4. Close notepad
5. Open Arduino
6. Paste the below code. It is your internal memory settings. This file only needs to be uploaded once in the lifetime of the controller.

Code: Select all

// Autogenerated file by RAGen (v1.1.0.127), (11/19/2011 09:05)
// Memory_111911_0905.pde
//
// This file sets the default values to the Internal Memory
//


#include <ReefAngel_Features.h>
#include <ReefAngel_Globals.h>
#include <Time.h>
#include <OneWire.h>
#include <Phillips6610LCDInv.h>
#include <avr/pgmspace.h>
#include <ReefAngel_EEPROM.h>


Phillips6610LCDInv e;

void setup()
{
    e.lcd_init();
    e.lcd_clear(COLOR_WHITE,0,0,132,132);
    e.lcd_BacklightOn();

    InternalMemory.MHOnHour_write(8);
    InternalMemory.MHOnMinute_write(0);
    InternalMemory.MHOffHour_write(15);
    InternalMemory.MHOffMinute_write(0);
    InternalMemory.MHDelay_write(5);
    InternalMemory.StdLightsOnHour_write(13);
    InternalMemory.StdLightsOnMinute_write(0);
    InternalMemory.StdLightsOffHour_write(22);
    InternalMemory.StdLightsOffMinute_write(0);
    InternalMemory.DP1OnHour_write(20);
    InternalMemory.DP1OnMinute_write(0);
    InternalMemory.DP2OnHour_write(22);
    InternalMemory.DP2OnMinute_write(30);
    InternalMemory.DP1Timer_write(10);
    InternalMemory.DP2Timer_write(10);
    InternalMemory.DP1RepeatInterval_write(60);
    InternalMemory.DP2RepeatInterval_write(60);
    InternalMemory.ATOTimeout_write(60);
    InternalMemory.ATOHighTimeout_write(60);
    InternalMemory.ATOHourInterval_write(0);
    InternalMemory.ATOHighHourInterval_write(0);
    InternalMemory.FeedingTimer_write(900);
    InternalMemory.LCDTimer_write(600);
    InternalMemory.LEDPWMActinic_write(50);
    InternalMemory.LEDPWMDaylight_write(50);
    InternalMemory.WM1Timer_write(200);
    InternalMemory.WM2Timer_write(354);
    InternalMemory.HeaterTempOn_write(780);
    InternalMemory.HeaterTempOff_write(800);
    InternalMemory.ChillerTempOn_write(810);
    InternalMemory.ChillerTempOff_write(785);
    InternalMemory.OverheatTemp_write(1500);
    InternalMemory.PHMax_write(840);
    InternalMemory.PHMin_write(550);
}

void loop()
{
    // display the values
    char buf[128];
    sprintf(buf, "MH %2d:%02d-%2d:%02d,%d", InternalMemory.MHOnHour_read(), InternalMemory.MHOnMinute_read(),
                                         InternalMemory.MHOffHour_read(), InternalMemory.MHOffMinute_read(),
                                         InternalMemory.MHDelay_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW, buf);
    sprintf(buf, "Std %2d:%02d-%2d:%02d", InternalMemory.StdLightsOnHour_read(), InternalMemory.StdLightsOnMinute_read(),
                                          InternalMemory.StdLightsOffHour_read(), InternalMemory.StdLightsOffMinute_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, buf);
    sprintf(buf, "LED A: %d%% D: %d%%", InternalMemory.LEDPWMActinic_read(), InternalMemory.LEDPWMDaylight_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*3, buf);
    sprintf(buf, "WM1: %ds", InternalMemory.WM1Timer_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*4, buf);
    sprintf(buf, "WM2: %ds", InternalMemory.WM2Timer_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, buf);
    sprintf(buf, "F: %ds", InternalMemory.FeedingTimer_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*6, buf);
    sprintf(buf, "S: %ds", InternalMemory.LCDTimer_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*7, buf);
    sprintf(buf, "H On: %d -> %d", InternalMemory.HeaterTempOn_read(), InternalMemory.HeaterTempOff_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*9, buf);
    sprintf(buf, "C On: %d -> %d", InternalMemory.ChillerTempOn_read(), InternalMemory.ChillerTempOff_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*10, buf);
    sprintf(buf, "PH %d - %d", InternalMemory.PHMax_read(), InternalMemory.PHMin_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*11, buf);

    delay(10000);
    e.lcd_clear(COLOR_WHITE,0,0,132,132);

    sprintf(buf, "OH: %dF", InternalMemory.OverheatTemp_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW, buf);
    sprintf(buf, "ATO L: %ds (%dh)", InternalMemory.ATOTimeout_read(), InternalMemory.ATOHourInterval_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, buf);
    sprintf(buf, "ATO H: %ds (%dh)", InternalMemory.ATOHighTimeout_read(), InternalMemory.ATOHighHourInterval_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*3, buf);

    sprintf(buf, "DP1: %2d:%02d", InternalMemory.DP1OnHour_read(), InternalMemory.DP1OnMinute_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, buf);
    sprintf(buf, "     %ds", InternalMemory.DP1Timer_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*6, buf);
    sprintf(buf, "DP2: %2d:%02d", InternalMemory.DP2OnHour_read(), InternalMemory.DP2OnMinute_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*7, buf);
    sprintf(buf, "     %ds", InternalMemory.DP2Timer_read());
    e.lcd_draw_text(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*8, buf);

    delay(10000);
    e.lcd_clear(COLOR_WHITE,0,0,132,132);
}
7. Click "Upload" button on Arduino.
8. After the code has been uploaded, you will see several numbers in the screen. At this point, you know the settings have been stored in the memory.
9. Delete everything on Arduino and paste your PDE code. This is the code you will be using and updating from now on.

Code: Select all

#include <ReefAngel_Features.h>
#include <ReefAngel_Globals.h>
#include <ReefAngel_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <ReefAngel_EEPROM.h>
#include <ReefAngel_NokiaLCD.h>
#include <ReefAngel_ATO.h>
#include <ReefAngel_Joystick.h>
#include <ReefAngel_LED.h>
#include <ReefAngel_TempSensor.h>
#include <ReefAngel_Relay.h>
#include <ReefAngel_PWM.h>
#include <ReefAngel_Timer.h>
#include <ReefAngel_Memory.h>
#include <ReefAngel.h>

void setup()
{
  ReefAngel.Init();  
}

void loop()
{
  ReefAngel.StandardATO(Port1);
  ReefAngel.StandardATO(Port2);
  ReefAngel.StandardHeater(Port3);
  if (ReefAngel.HighATO.IsActive()) ReefAngel.Relay.Off(Port4); else ReefAngel.Relay.On(Port4);
  if(hour()%2==0) ReefAngel.Relay.On(Port5); else ReefAngel.Relay.Off(Port5);
  if(hour()%2==1) ReefAngel.Relay.On(Port6); else ReefAngel.Relay.Off(Port6);
  ReefAngel.StandardLights(Port7);
  ReefAngel.StandardLights(Port8,InternalMemory.StdLightsOnHour_read()+1,InternalMemory.StdLightsOnMinute_read(),InternalMemory.StdLightsOffHour_read()+1,InternalMemory.StdLightsOffMinute_read());
   ReefAngel.ShowInterface();
}
10. Hit the "Save" button on Arduino and type a name for your PDE file.
11. Now, hit the "Upload" button.
12. That's it.

Note: the pH reading and disabling of Kalk is still not implemented.
I'd like you to test things out first to make sure your functions are working.
Then, if everything is smooth, we work on the Kalk.
Let me know how it goes.
Roberto.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

Thank you very much. I will try this later today.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

When I try to upload to the board it looks like it is loading but when it finishes it says "Problem uploading to board. See (then the web site for trouble shooting).
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New Reef Angel owner questions

Post by rimai »

Were you able to upload any code in the past?
Roberto.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

Yes I was able to upload the simple demo files.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

Is it okay to have the PH probe and temp probe connected the the controller when I upload to it? My computer is fairly close and I am just plugging the cable to the controller while it is still hooked up to the sensors.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

Okay got it to all load this morning without errors. Not sure what I did different but it loaded this time.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

Well, trying to switch over all my stuff to the controller. Having some issues, the lights are not on the scedule correctly. When I first pluged them in I wanted to be sure I had the right outlets and such and turned the lights on via the control display. After both sets of light came on I could not turn them back off again. I let them run and at the time scheduled, when the main lights would come on, my acintics were turned off. Not sure what is going on. Need to learn this stuff so I can fiddle and not keep posting, what is probably very simple issues. Also, the two power heads that were scheduled to run, 1 power head for an hour then turn off and have the second power head run for an hour then turn off is not working. The forst power head was running fine then when it should have shut off, the second one turned on and they both ran. I think I would like to take out the code for the alternating powerheads and just run one for now until i get the hang of this.

Thank you for the help so far. Sorry to be a pain.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New Reef Angel owner questions

Post by rimai »

I forgot to mention something very important.
Apologies.
I changed ports around
Port1: ATO
Port2: ATO
Port3: Heater
Port4: Skimmer
Port5: Powerhead
Port6: Powerhead
Port7: Lights
Port8: Lights 1hour later than port 7
Roberto.
Cruzer
Posts: 39
Joined: Sun Nov 06, 2011 10:14 pm

Re: New Reef Angel owner questions

Post by Cruzer »

Thank you roberto that might make a difference.
Post Reply