Pages: 1 2 3 [4] 5 6 ... 9   Go Down
Author Topic: Billie's Hydroponic Controller  (Read 57888 times)
0 Members and 2 Guests are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Belgium
Offline Offline
Jr. Member
**
Karma: 11
Posts: 93
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cool! smiley
My setup is currently running...












« Last Edit: May 16, 2013, 04:24:48 am by BillieBricks » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Quote
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'

Quote
Logged

Belgium
Offline Offline
Jr. Member
**
Karma: 11
Posts: 93
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

You are missing the EEPROMEx library...
« Last Edit: June 07, 2013, 01:10:57 am by BillieBricks » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Belgium
Offline Offline
Jr. Member
**
Karma: 11
Posts: 93
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!... smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: June 07, 2013, 10:02:41 am by Antennas » Logged

Belgium
Offline Offline
Jr. Member
**
Karma: 11
Posts: 93
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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. smiley
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 76
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello Billie,

Really nice project smiley 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
Logged

Belgium
Offline Offline
Jr. Member
**
Karma: 11
Posts: 93
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-wink
Logged

Melbourne, Australia
Offline Offline
God Member
*****
Karma: 8
Posts: 567
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?

Logged

Windows serial port monitor: Tellurium | Arduino serial port debugging library: DBG | Cusom LCD char generator | Technical questions will only be answered in forum threads

Belgium
Offline Offline
Jr. Member
**
Karma: 11
Posts: 93
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello aarondc,

Thanks for the nice comment smiley-wink
To answer your first question...I make my own nutrient mix with the help of HydroBuddy. This program makes all sort of calculations and returns me a list of Macro and Micro nutrients and their weight in grams needed to make a predefined amount of nutrient mix...
If you understand Dutch, I've made a basic usage tutorial here
I have all sorts of recipes in HydroBuddie's database. So I can make a nutrient mix for almost every crop you can imagine...

You probably have some experience with hydroponics...Because of your second question smiley-wink
Yes, singular nutrients (macro or micro) can get depleted. To measure one single substance one would need fairly expensive probes and that's beyond my hobby budget smiley-wink
You could measure the EC value of a mix, but that still wouldn't tell you which substance is getting low. I do measure the EC value (with a pen for the moment, but I'm working on a improved version of my controller), but this is to know how much concentration of nutrients are in my 200L tank...
To make sure I always have the right amount of singular nutrients in my tank (read: the recipe is still as it should be...) I do a nutrient change every 14 to 30 days. The waste goes to my conifers and grapevines...They also like the readily available nutrients smiley-wink
« Last Edit: June 22, 2013, 04:50:59 am by BillieBricks » Logged

Melbourne, Australia
Offline Offline
God Member
*****
Karma: 8
Posts: 567
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks again.

I know nothing of hydroponics, but I worked for a year in a lab developing a LIMS that extracted mass spectrometer data from plant, soil and water samples for determining optimum custom-made fertilizer (chelates?) for farmers and the like.

I was wondering if you could (or would) measure discrete elements - the lab worked on 3 macro (N,P,K) and 14 micro, from memory, including things like copper and cobalt, etc. It was fascinating. N,P,K ratios were critical, but the micro elements could have a major impact on yield and plant health as well. And each crop type was different.

When I looked at sensors for those sorts of things, you are right, they were off the scale in terms of costs vs what a hobbyist would spend on a discrete component. Crazy.

I had to google EC value - but of course that makes sense. Electrolytes. Nice.

Thanks for the hydrobuddy link too - that's great.

I have no garden here, nice sunny back yard but the garden space is full of bark and succulents, in a rental, so when I saw your project I immediately thought - hey, fresh veges!! I will be looking at this more closely in the coming weeks.
Logged

Windows serial port monitor: Tellurium | Arduino serial port debugging library: DBG | Cusom LCD char generator | Technical questions will only be answered in forum threads

Offline Offline
Jr. Member
**
Karma: 0
Posts: 76
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Billie,

Thanks for the quick reply :-)

Is the pH Meter all the time into the water to measure the pH?

I had some information which sad that letting the ph probe all the time in the liquid will cause damage?

Perhaps this is wrong I only want to confirm it.

And second question : basically I only need one ph Probe and two peristaltic Pumps to setup a pH measure and adjustment station?
I have a Arduino UNO Board with max. 5V on the Digital Output with max. 30mA

I have found those two things now: http://www.aliexpress.com/item/Free-shipping-6V-DC-DIY-Dosing-pump-Peristaltic-dosing-Head-For-Aquarium-Lab-Analytical-water/1003369174.html
http://www.aliexpress.com/item/PH-Electrode-Probe-BNC-Connector-for-Aquarium-PH-Controller-Meter-Sensor-NI5L/938643629.html

Do I can connect them directly to the board or do I need a extra power supply ?

And as I have rad you divided the code so I can just take the part that fits?

And last but not least  smiley-mr-green : Why do you use a DC 9V plug for your arduino ? I thought 5V is max

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 smiley-wink
« Last Edit: June 22, 2013, 08:56:14 am by Tonno » Logged

Pages: 1 2 3 [4] 5 6 ... 9   Go Up
Jump to: