The Why:
After much searching I have seen a lot of the raspberry Pi builds that have been shared around and are kept updated. But I haven't seen any up to date threads for arduino controllers. So I figure I would track my project as it goes and try to build something that is fairly modular. I'll start tracking all of the hardware that I'm using and will post up code as I go.
My Background:
I am an IT Specialist within a large corporation but my degree is in Software Engineering. I started courses in 2003 and learned un-managed C++ 6.0 well before I touched any C# managed code. My position within the company I work for has left me many a opportunity to write software to perform and track things that they didn't want to put additional funds into. I have also done a bit of moon lighting including building a web applications server side for a smaller PC game.
Current Goals:
As I am using OOP for this I will post up the cpp and header files as I go. I imagine due to limited memory on the Arduino Pro Mini I'm using there may be a diminishing return on making a class for everything. But I guess that will need to be a bit of a learning curve. Later on I may have to upgrade to a better controller, but for now I'm using what I have on hand.
After much searching I have seen a lot of the raspberry Pi builds that have been shared around and are kept updated. But I haven't seen any up to date threads for arduino controllers. So I figure I would track my project as it goes and try to build something that is fairly modular. I'll start tracking all of the hardware that I'm using and will post up code as I go.
My Background:
I am an IT Specialist within a large corporation but my degree is in Software Engineering. I started courses in 2003 and learned un-managed C++ 6.0 well before I touched any C# managed code. My position within the company I work for has left me many a opportunity to write software to perform and track things that they didn't want to put additional funds into. I have also done a bit of moon lighting including building a web applications server side for a smaller PC game.
Current Goals:
- Temperature Probe sensor (already Have)
- Tracks the tank temperature for trending temp/time curve.
- 2x Relay controlled Tank Heater (ordered)
- alternate between heaters and trend temps to bring keep the temperature as stable as possible.
- Room Heat/humidity Sensor (already Have)
- Used to track the trending temp/time curve based on room temp and humidity
- Relay control for blue/white channels (already Have)
- Allow for controlling the on and off time based on a weekly schedule.
- Alternate Mode setup for introducing new corals.
- 2x Relay controlled powerheads (ordered)
- Used for alternating the powerheads on a set schedule. Simulates more of a tide event without a constant off on which would burn it out.
- ATO pump (need to order)
- normal water top off
- Buoyancy meter (need to order)
- Used for determining when the water salinity needs to adjusted by additional water from the ATO reservoir.
- Relay for pump (need to order)
- To be used for shutting off the pump if the water level gets to low.
- As well as a turning it off for water changes if needed.
- Screen output (already Have)
- To scroll the time and sensor levels.
- Webserver (already Have)
- Allows for monitoring and changing settings
- WiFi (already Have)
- Remote Access
- SD Card (already Have)
- Allows for keeping track of the data from the sensors
- Allows for loading of preset conditions
- (TBD) To hold the webpage information so it doesn't have to use up valuable space.
- Timer Module (already Have)
- Just for making sure that the time is accurate.
- Dosing Pumps (need to order)
- Dosing. Because that is what we do. We Dose and we know things.
- Time lapse camera (already Have)
- To allow for visual tracking of the corals.
- Later I may employ a second arduino board to do image recognition to see if I can determine coral health. This is a long term project of mine. If I can train the system to tell the difference between healthy and unhealthy I can know way ahead of time if there are things wrong in the tank. A canary in the mine so to say.
As I am using OOP for this I will post up the cpp and header files as I go. I imagine due to limited memory on the Arduino Pro Mini I'm using there may be a diminishing return on making a class for everything. But I guess that will need to be a bit of a learning curve. Later on I may have to upgrade to a better controller, but for now I'm using what I have on hand.