Must-haves for EASY DIY controller?

Wow, I get stuck at work for 48 hrs and this board exploads. I can't remember all 2 pages and I had so many posts highlighted for response but I'll hit the big topics off the top of my head.

First off since I keep seeing it thrown around and I didn't get an answer and please forgive the bolds, but i'm totally lost in the sauce

What is ATO? (currently in my line of work it stands for Authority to Operate lol so forgive me when that term is thrown around and I'm going cross eyed.

PS - I agree, with various combinations of the four included functions, we should be able to cover just about all of the "scheduler" situations described in the last few days. The only problem I can think of is if power goes out - you aren't guaranteed that things will restart in the correct state.

For instance, if you use the alarmRepeat function to turn lights on at 8 AM, and use another instance of it to turn lights off at 5 PM, imagine if your power goes out at noon. When power resumes, the lights will be off (I'm assuming that default status for relay control will be "off").

Actually, this raises a bigger question. How are we storing state information when the power goes out? How are we storing user-configured settings when the power goes out?

Umm.. I had addressed this with my sketch. Please look at the void setup () during the initialization of the hydra it will do an INDEPTH check of the alarms to see what the exact state is. After it gets past the initialization it goes into simple mode (has x time passed) So I'm a little miffed that we're still debating this when I've tossed it out there. It's not a hard concept.. power is lost on the hydra, it shuts down.. when power is finally regained, it will automatically default to the state it SHOULD be in given that time of day. This will work for heaters/lights etc. If yo'uve got something that is a measured dosage, don't implement that type of alarm for that I/O pin.

Then you have a two things controlling the relays your loop and the alarm - it may get awkward for debugging.

This might work rather than have alarms that turn the light on and off. Create a new function that takes the start time and the stop time. It would then create both alarms which use the same function and then calls the procedure to update the lights.

PHP:
#define START_TIME 8,30,0
#define STOP_TIME 17,45,0

LightsOnOff(void)
{
  if ((CurrentTime > Start) && (CurrentTime < Stop))
    lightson
  else
    lightsoff
}
SetAnOnOffAlarm(StartA, StartB. SarttC, StopA, StopB, StopC, function)
{
  Alarm.alarmRepeat(StartA,StartB,StartC, function); 
  Alarm.alarmRepeat(StopA,StopB,StopC,function);
  function();
}
main
{
  SetAnOnOffAlarm(START_TIME,STOP_TIME,LightsOnOff)
  while(1)
    ;
}


the code is simple, it doesn't account for if your OFF time is before your on time.

For exe. ON TIME: 1700 OFF TIME:0800
your if/else statement will ALWAYS return an OFF. Yes it's all well and good if you have a NORMAL alarm, but we need to account for those instances where users want that functionality, (I.E Moonlight)


It seems there's alot of good ideas for the functionality of the schedualing, and I do feel this should be implemented in the Core code. (or even offloaded to the slave) I'm going to spend some time playing w/ that new library that was addressed.

as far as multiple controls. I think it would be pretty easy to set an array with a number of alarms and call them depending on a variable that corresponds to your port. (Alarm_ON[5] = GPIO5 ) That's ultimately what I will be going for i'm just addressing the general problems, of power outages, and inverted alarms, and time wraping (going from 2359 -001)

I know I'm forgetting somethings. and I apologize if th is comes across scatted, i've been up for 48 hrs and am ready for bed.
 
ATO = auto top off (its a way of keeping the tank full without actually filling the tank. This helps maintain salinity by keeping a constant level in the tank and provides less work by only having to fill a resovior every so often)
 
It seems like consensus is that whatever gets missed during a power outage is simply missed, but it might be possible to make up tasks that may have been missed. If we setup a matrix with tasks that need to be completed, including times, we can simply set tasks that have been completed for the day as true, and continue where we left off. On boot up, some code could run to see what was the last task run, find out what the next task that has to run is, and run the tasks in between. I'm not sure if anyone want to actually implement this, but I just wanted to throw it out there. I didn't test that logic out very much as it's kind of late and I don't think my brain is working very well right now, but just wanted to see what you guys thought, and if that's even plausible.
 
Hmm... got quiet all of a sudden LOL.
I have decided to do something different with Mine when I build it...
No LCD, too many issues with contrast. I want something that I can glance at from across the room no matter if the sun is coming in the window, lights on, off etc and be able to read it... SO, I am getting a Futaba NA204SD02 Vacuum Fluorescent Display. Same interface, directly emulates the LCD controller, and only difference is it requires 250ma instead of 5... so an external regulator and I'll be set!
 
I looked on google and saw the manufacturer's spec page for that display but can't find anywhere it's being sold. where are you getting it and what's it cost?

Have you played with display and contrast settings on a normal LCD? If you tie both of those lines to I/O pins you can vary brightness and contrast in software, so you can have the display react to different conditions.
 
I was able to find some of these Futaba VFD's on eBay for $35 + $20 shipping here. Seems cool, but I will probably be going with an LCD to begin with since they're a quarter of the price.
 
I looked on google and saw the manufacturer's spec page for that display but can't find anywhere it's being sold. where are you getting it and what's it cost?

Have you played with display and contrast settings on a normal LCD? If you tie both of those lines to I/O pins you can vary brightness and contrast in software, so you can have the display react to different conditions.

They are all over Ebay, but I am getting a free sample from Futaba.
Digikey has them for about 100 bucks (Yikes!)
 
A little sneak peak at the gauges in the network app for Hydra:
gauges.png


I'm just about done putting together my temp probes, just need to waterproof a few and put the in the right places. I'll post a live link soon :)
 
Hello everyone,

i just finished reading through the thread and i wanna start building the controller. Do you guys think the hardware is finalized or not yet?

I ll be paying a lot on shipping cause i live overseas, so i just wanna make sure nothing else needs to be changed so that i can start ordering.
 
They think it is ready, but I don't believe anyone has tested the final board. I think you want to wait a little longer at least for the board. Parts are fairly well picked out.
 
Fishman is correct. We believe the current rev of the hardware will produce a working controller that you can actually use. None of us have built the current rev, but it's very close to the prototypes we did have working, save for a few part substitutions and some changes in the silkscreen layers. The BOM is updated so picking parts should be straightforward.

That said it's certainly not "public release" and may change further. I think the risk of a critical change happening is fairly low, but it's definitely not a final version.
 
Back
Top