Billie's Hydroponic Controller

:slight_smile: Good job Billie... I love it.

Now, I got a screen like that you used it, any recommendation before to start working with it or information that can help me?

Looks Really Cool. I tried to download the code but could not. I tried on a mac using safari, chrome, firefox and on windows using i.e.. All with save target or save file as, or download file as.
Is there anywhere else you can post the code?

Also your temp humidity problem should be easy to fix by turning the fans on and off a few degrees apart instead of using one set point.
ex

float SetpointTwo;

if (CurrentTemp > Setpoint)
{
// Turn On Fans;
}

SetPointTwo = Setpoint - 3;

if (CurrentTemp < SetpointTwo)
{
//Turn Off Fans;
}

Fany_CA:
:slight_smile: Good job Billie... I love it.

Now, I got a screen like that you used it, any recommendation before to start working with it or information that can help me?

Thx! The first thing I do with everything I order is check if it works. Try the examples that are in the UTFT library from Henning's site...If you get the examples to work i'd try to get the touch function to work, again with the library you find at Henning's site and go from there...

Germ:
Looks Really Cool. I tried to download the code but could not. I tried on a mac using safari, chrome, firefox and on windows using i.e.. All with save target or save file as, or download file as.
Is there anywhere else you can post the code?

Also your temp humidity problem should be easy to fix by turning the fans on and off a few degrees apart instead of using one set point.
ex

float SetpointTwo;

if (CurrentTemp > Setpoint)
{
// Turn On Fans;
}

SetPointTwo = Setpoint - 3;

if (CurrentTemp < SetpointTwo)
{
//Turn Off Fans;
}

Sometimes you can download it from the forum and sometimes you can't. I suspect it has something to do with the download quota that the forum uses...
I'll try to post the code on github or something...

Also thanks for thinking with me. I already thought of using a Hystery with the setpoint. Just like I did with the pH algorithm... This way one can also set the hystery instead of hard-coding it.

With kind regards,

Billie

I've made a repository @Github for those of you that can't download the code... :wink:
Have fun!! And don't forget, if you improve on the code post it back so everyone can benefit from it :wink:

Looks like this would fit the bill!

http://www.ebay.com.au/itm/SainSmart-Mega2560-3-2-LCD-TFT-Touch-Screen-SD-Reader-4-Arduino-UNO-R3-Robot-/261094891095?pt=AU_B_I_Electrical_Test_Equipment&hash=item3cca77de57&_uhb=1#ht_8924wt_1031

Love your work by the way. Has inspired me.
Going to modify your code to work with a flood and drain system.
Might be a stupid question but what is the thread size/type on the solenoid valves ?
I bought the ones you linked to but am having trouble sourcing the right type of connecters for plumbing into a garden hose.

Thanks in advance

mlmunro:
Might be a stupid question but what is the thread size/type on the solenoid valves ?
I bought the ones you linked to but am having trouble sourcing the right type of connecters for plumbing into a garden hose.

No stupid question :wink:
Actually I don't know. Took the part with me to a plumbing store and asked for connectors and tubing that would fit the part :wink:
I'll check later on this evening and see if I can measure it with my calliper...

Today I had the time to measure the thread of the solenoid valve. Inside of the thread is 19.54mm and outside of the thread is 20.56mm. Hopefully you have enough information with this... :wink:

Excellent. Thanks. Have found all the right bits. Now just need to find some time to put it all together. :slight_smile:

Cool! :slight_smile:
My setup is currently running...

Hi Billie, I have been following for a while and love your work.It's taken me a while but i am starting to get all the pieces but i am a little stuck on the code side and was wondering if you could help me out?? I tried searching but i cant make seance of it.

In file included from sketch_may23a.cpp:43:
C:\Users\Ashley Harwood\Desktop\arduino-1.0\libraries\EEPROMEx/EEPROMEx.h:23:20: error: EEPROM.h: No such file or directory
sketch_may23a:45: error: no matching function for call to 'ITDB02::ITDB02(int, int, int, int, int)'
C:\Users\Ashley Harwood\Desktop\arduino-1.0\libraries\ITDB02/ITDB02.h:18: note: candidates are: ITDB02::ITDB02(int, int, int, int, int, int, int, int, int, int, int, int)
C:\Users\Ashley Harwood\Desktop\arduino-1.0\libraries\ITDB02/ITDB02.h:15: note: ITDB02::ITDB02(const ITDB02&)
sketch_may23a.cpp: In function 'void graphSetup()':
sketch_may23a:157: error: no matching function for call to 'ITDB02::TouchInitial(int)'
C:\Users\Ashley Harwood\Desktop\arduino-1.0\libraries\ITDB02/ITDB02.h:30: note: candidates are: void ITDB02::TouchInitial()
sketch_may23a:158: error: 'class ITDB02' has no member named 'setPrecision'
sketch_may23a:158: error: 'PREC_HI' was not declared in this scope
sketch_may23a.cpp: In function 'void graphLoop()':
sketch_may23a:487: error: 'class ITDB02' has no member named 'dataAvailable'

Hello,

You are missing the EEPROMEx library...

Hi again, All fixed now after learning how to read the code it was easier to fix my mistakes :slight_smile:

I am having a devil of a time finding the EEPROM library. Also I can't get the sketch to compile as it says EEPROM not declared in this scope. Using 1.05 IDE.

Andrew

Antennas:
I am having a devil of a time finding the EEPROM library. Also I can't get the sketch to compile as it says EEPROM not declared in this scope. Using 1.05 IDE.

Andrew

Hi Andrew,

I haven't tested the code with the 1.05 IDE. I already mentioned that it will work with IDE version 1.0
Also the error you get would be the same one as other people here on this thread are having trouble with...Namely the EEPROMEx should also be installed. This is an extension to the EEPROM library which is already there... So please read the entire thread, because then you'll find the link to the EEPROMEx library...It's not that far away!... :wink:

I have the EEPROMex library installed. I will have to check to make sure it's in the right place or that it's named properly. Thanks.

So I found that the name of the library is EEPROMEx and as downloaded it was EEPROMex. So I changed the name in the code to the proper one but it still doesn't work. It says 'class EEPROMClass' has no member named 'readFloat'. This must be a library issue but unsure how to fix.
EDIT***
So I copied the files from github EEPROMBackupVar.h and EEPROMVar.h into the EEPROMEx folder and it worked after that. I had tried to add the EEPROM.h but I had to remove it to make it work.

So it seems to be functioning so far.

Andrew

That's very strange indeed. I have no such library installed... Probably the maker of the library upgraded the old one...
Still glad to hear that it's working now. :slight_smile:

Hello Billie,

Really nice project :slight_smile: that's exactly what I'm looking for

As I just started with all the arduino and the project is not really a beginner project I'm not sure about to handle things.

Can you explain me how to measure the ph plus the more important thing is to adjust it automatically if it goes over or under the set point ?

What will I need for this ?

Greetings

Hello Tonno,

Reading the pH is fairly simple as the Phidgets 1130 outputs an analog signal which can be converted to a pH. You just do an anologRead on the pin which connects to the Phidgets and run this calculation --> 0.0178 * sensorValue - 1.889
What outputs is the current pH value at a constant temperature of 25°C...

Dosing is not that easy. I work with a Setpoint and a Hysteris. The setpoint is the pH I would like to have and the hysteris is the amount the pH can deviate from this point.
Explaining how the code works is not that simple, but here goes...
I first check if the pH is above or below the setpoint. Then change a variable according to that so the program knows if it's a base or acid that needs to be added. Note: If your plants are healthy and absorbing nutrients the pH can only go up. That's because plants use the negative ions for nutrient absorption...
Let's assume the pH is above the setpoint. The program now checks if the pH is above the hysteris. If so, dosing will start (which is a small peristaltic pump) until the pH reaches the setpoint. If the setpoint is reached then dosing will stop and the variable is set to 0 again.
This repeats constantly...

I hope this helps :wink:

Great looking project, and some unusual measurements, Billie. Really appreciate you sharing so much detail and info from your project.

When it comes to plant "food", do you have different products (or chemical makeups) for different plants, or use a more generic style food?

In a closed water+nutrition loop (vs nature where it's pretty open), is it possible an element (say nitrogen) could become depleted and require an increase, or do you find this is not an issue?