Billie's Hydroponic Controller

kripthor:
Its pretty awesome!
And the PH reader is really accessible, I had trouble finding one when I was doing something similar.

Great work!

Thanks! :slight_smile:

mikegreen:
Any chance we could get the code on github or such?

It already is on github --> link :wink:

Hello Billie

Thanks for your reply on PM
As asked, I'll switch to the forum.
I'll be ordering the hardware today.
Question - is this what I need?

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

And my second question - will this board allow me to expand to an internet and/or SMS (cellphone text) connectivity at some time in the future ?

Thanks in advance, apologies on basic questions as I'm a complete beginner at this

Mike

The kit is ok, but there's a chance that the sd reader doesn't work. You'll have to ask the seller.
Network functionality will be a problem because of conflicting pins ( ie pin 10 & 4) between the ethernet card and the tft shield... You could try and resolder some pins and try to recode everything, but that's beyond my expertise. Another option is to use a seperate arduino to connect to the network :wink:

Let me know how your build continues...

Ah, OK, glad I asked you first Billie :slight_smile:

Can you suggest a bundled kit of components that would be suitable for your software (Arduino + Touch Screen Display + SD Card Reader)?

I found this on e-bay too....

http://www.ebay.com/itm/3-2-TFT-LCD-Shield-Touch-Screen-w-TF-SD-Reader-for-Arduino-Mega-2560-A080-/251117559109?pt=LH_DefaultDomain_0&hash=item3a77c5dd45#ht_6683wt_1029

and this....

And as you mentioned it, it may be that my application does not require the SD Card Module.... have you found being able to store and replay the data is of value, particulalarly for a non-experimenter like me?

And yes, as a future add on, a dedicated Arduino Ethernet shield would be a much more flexible solution.

Thanks again !

Mikefrancis:
Ah, OK, glad I asked you first Billie :slight_smile:

Can you suggest a bundled kit of components that would be suitable for your software (Arduino + Touch Screen Display + SD Card Reader?

I can only advise you the parts I used, because that's what I got. But if you are willing to forfait the sd card, then the kit will do :wink:

Hi Billie,

great work. I was wondering if you ever consider an RFM12B to talk to a Raspbbery PI. A little like it works with openenergymonitor.
I've ordered a kit from sainsmart in order to make a setup like yours, and gonna try to integrate with emoncms or something like it, so it's possible to check what's happening via web. This would allow a graphical logging solution and interface with SMS gateways in order to receive alarms if something goes wrong. Second step would be to control (adjust) the system from a webpage so one doesn't have to be onsite to make an important change if needed.

If someone wants to participate or have interesting ideas to complement just let me know.

-----> Waiting by the door for my kit to arrive :roll_eyes:

Tiago

Hello,

Never used a Pi or an RFM12B before, but am working on a 'networked' version... I'm currently busy developing a PCB so all parts fit together as a shield...
Access through the Internet is the next logical step. :wink:

With kind regards

Hi Billie,

Very very interesting project you've got here.
I'm also working on one of my own, to control EC, PH and measure humidity and temperature.

I'm trying to test your code, so i'm using arduino 1.0, all the libraries needed (including eeprom and extended eeprom) but i'm facing the same problem DerekPDX had (posted on 30th january).

Do you have an idea about how i can manage this issue?

Many thanks

Hello,

I've figured out why you get the error.
There's been a couple of changes in the library...The current version uses EEPROMEx.h as filename whereas the old library used EEPROMex.h. Change that in the code (#include <EEPROMEx.h>) and the first compile errors disappear.
Next you'll have to edit the EEPROMEx.h file...Change #include <EEPROM.h> into #include <avr\EEPROM.h> and this makes the rest of the compile errors go away...
There's also an #include <avr/EEPROM.h>, but I think this is an error and should be #include <avr\EEPROM.h>. If anyone can collaborate?

Hi Billie,

so I got my sainsmart kit today (the one with the mega2560, the tft shield and the tft itself.

First of all (and after paying more money for customs and customs service that for the kit+shipping itself) I was quite pleased with the overall quality of the product.

I also stumble in that problem with EEPROM.h. What I did was to remove the line that includes EEPROM.h inside the EEPROMEx.h. It was a matter of error/try so I can't have any valid input on why it works (maybe I'll get to that latter If I have the time to do further testing).

I can also confirm that the SDcard slot on the sainsmart TFT works "out of the box" with your sketch, so cheers for the sainsmart guys.

I'm going to setup some probes and make some lab tests in order to get everything working before I'll go live.

The only issue I have is sometimes the "buttons" don't work. Then I wait 10 seconds and try again. Sometimes it works, sometimes it doesn't and I have to wait a bit more. It's very strange. It happens for instance on pH Settings page 2 with the back button (lower left) and soothing ON/OFF button. Is there something you experienced yourself?

best regards,
Tiago

Hi Billie,
Thank you for the fast reply, the code works perfectly now (on arduino 1.0 and 1.0.5).
I've PMed you to talk about my project without getting off topic here.
Charlie.

tmarquespt:
The only issue I have is sometimes the "buttons" don't work. Then I wait 10 seconds and try again. Sometimes it works, sometimes it doesn't and I have to wait a bit more.

Hello Tiago,

The buttons react slowly. That's because of the 'delays' that are still in there. Just keep pressing the button until you enter a new window and everything is ok :wink:

cybergogo:
Hi Billie,
Thank you for the fast reply, the code works perfectly now (on arduino 1.0 and 1.0.5).
I've PMed you to talk about my project without getting off topic here.
Charlie.

Charlie,

Glad to see you getting it to work :slight_smile:
Hope to see a movie when you get everything up and running :wink:

With kind regards,

Billie

Hi Billie,

On PH Settings, the setpoint and hysteris appear both as "NAN".

what am I missing here?

thanks,
Tiago

Tiago,

Can you elaborate a bit further? NAN = Not a number?? Or what?
Do you get errors during compiling?

With kind regards,

Billie

Hi Billie,

this is what I mean.

right now the probe is disconnected, but with the probe the behavior is the same. I'm using your unmodified sketch (other than the pin for LDR)

+/- buttons on setpoint and hist don't work. Maybe because of this NAN issue.

any hints?

regards,
Tiago

anh... just hit me... I had a problem with eepromex.h and eeprom.h
made some changes to eepromex.h and probably that's where my problem lies.

gonna clean up the eepromex library.

First of all...Cool to see the controller being of use to someone :wink:

tmarquespt:
anh... just hit me... I had a problem with eepromex.h and eeprom.h
made some changes to eepromex.h and probably that's where my problem lies.

gonna clean up the eepromex library.

That could be it...When you enter the pH adjustment screen the program reads the values for setpoint and hysteris from eeprom...
You could also try and whipe the values stored in eeprom. I faintly remember having problems in the beginning because wrong values stored in eeprom...

Real neat controller Billie!!

Great work on setting up your hydro setup. It's amazing how many plants you have squeezed into that space. It's great to see other projects and share the knowledge. Looks like there are a few people interested in controlling their own food production.

I just have one constructive feedback on the plant physiology side of things. If your able, you should really incorporate EC/CF control. Although pH controls nutrient uptake, nutrient availability is equally important. EC is a great tool for controlling, among others, such things as internode stretching, hardiness and taste. You can also control visual aspects such as cracking/splitting with EC control (particularly important with tomatoes). I think you'll have better control of plant size, especially during seasonal changes (i.e. winter vs summer ).

I'm making a similar controller using a mega connected to a raspberry pi with a 10 inch touch screen controlled by a website.

Anyway, that's my 2c worth, I look forward to your future releases!

Regards,
Damian

@Billie

Spot On!
clearing the eeprom has done it :slight_smile: Wouldn't have thought of that.

thanks,
Tiago

Hi Billie, now that it's setup, the issues begin :slight_smile:

Regarding the LDR in you sketch you have int lightSensor = 60; I can't get any readings on light (it's only bouncing between 24,25,26) no matter the actual light condition. I know the LDR works because if I set the lightsensor to pin 14 it gives me a range 250~32000 (32000 with the phone led flash next to the ldr). Any hints?

Also would love to know if you have any newer version as this is already a couple months old and you probably have tweaked it already for some issues encountered along the way.

I'm going to kickstart my NFT test project

best regards,
Tiago