Page 1 of 1

Multi tank temp control

Posted: Mon Aug 01, 2016 4:38 pm
by jjdezek
I just set up a biocube next to my 210 and want to run a temp probe to it and be able to control the temps of both tanks with my reefangel. Can I program one heater to one temp probe and another heater to a second temp probe? If I do this I will need another Relay box.

Re: Multi tank temp control

Posted: Tue Aug 02, 2016 3:04 am
by cosmith71
I do the same thing with a small freshwater tank. Here's the code I use. Replace the labels with your own ports.

Code: Select all

// Freshwater tank heater control
  if (ReefAngel.Params.Temp[T2_PROBE] <= 770 && ReefAngel.Params.Temp[T2_PROBE] > 0) ReefAngel.Relay.On(BettaHeater);  // If sensor 2 temperature <= LowTemp - turn on heater
  if (ReefAngel.Params.Temp[T2_PROBE] >= 780) ReefAngel.Relay.Off(BettaHeater);  // If sensor 2 temperature >= HighTemp - turn off heater

Re: Multi tank temp control

Posted: Fri Aug 12, 2016 11:55 am
by jjdezek
I have my codes programmed so I can change it through internal memory.

Re: Multi tank temp control

Posted: Sun Aug 14, 2016 6:42 am
by jjdezek
Can I program it to run 2 different tanks with the coding for internal memory?

Re: Multi tank temp control

Posted: Sun Aug 14, 2016 6:44 am
by cosmith71
If you use a custom memory location, then yes. But not with the preset memory locations.

Re: Multi tank temp control

Posted: Sun Aug 14, 2016 12:54 pm
by jjdezek
How would I go about doing that?

Re: Multi tank temp control

Posted: Sun Aug 14, 2016 1:21 pm
by cosmith71
You would need something like this up in the globals area (where all the #includes live).

Code: Select all

// Define memory locations for temp values
// Integers take two locations each.  Locations 100-199 are available.
#define Mem_I_LowTemp        100    // Low temperature stored in memory locations 100 and 101
#define Mem_I_HighTemp       102    // High temperature stored in locations 102 and 103
Then change the heater code to this:

Code: Select all

// Freshwater tank heater control
  if (ReefAngel.Params.Temp[T2_PROBE] <= Mem_I_LowTemp && ReefAngel.Params.Temp[T2_PROBE] > 0) ReefAngel.Relay.On(BettaHeater);  // If sensor 2 temperature <= LowTemp - turn on heater
  if (ReefAngel.Params.Temp[T2_PROBE] >= Mem_I_HighTemp) ReefAngel.Relay.Off(BettaHeater);  // If sensor 2 temperature >= HighTemp - turn off heater
Then, in the RA Status app (not sure if you can use the U-App or not, haven't tried it), pull up the menu, go to Memory, hit the down arrow, and scroll up to Custom location. Put your low temperature in location 100 (be sure to select Int) and your high temperature in location 102. VERY IMPORTANT! Make sure you enter in the temperature as 3 digits. I.e., 800 for 80 degrees, 790 for 79 degrees, 789 for 78.9 degrees, etc.

--Colin