Go Down

Topic: Automated greenhouse project (Read 8719 times) previous topic - next topic


I am a biology/chemistry teacher and have no experience with electronics but our school received a grant to start a control systems class.  Our capstone project for the year is to automate at least one system on our two greenhouses.  The systems we are looking at are: a watering system (probably up to four separate watering lines), fans, a heater, and a retractible shade cloth.  I know we will need soil humidity/conductivity sensors, temperatures sensors, possibly light intensity sensors. It was also requested that we create a robocalling backup should any of the systems fail.  I have purchased nothing and am comparing Arduino, Click PLC's, and Digibees and I am open to any suggestions.  The two best online video's/projects I have found are:

I mostly need help right now knowing which system would work best for us, what sensors are compatible and necessary, and any other hardware or systems that we may need.  Any help would be wonderful so I can get a purchase order in to our administrator and get the ball rolling.

The primary greenhouse is about 3500 cubic feet (~8' x 15' x 30') and the other is a little smaller.


Vegetronix sell some very nice looking soil moisture sensor probes. They aren't cheap, but would save quite a bit of work creating your own. Being a cheapskate I preferred to make my own resistive sensor using a couple of stainless steel skewers, and that's working fine but took quite a lot of trial and error to figure out how to get a reliable and consistent moisture reading.

If you want to control a number of watering systems you can either use a common supply with a separate solenoid valve for each outlet, or a pump for each output. I found a supply of small, cheap immersible pumps that will run off anything from 3V-12V and they're working well for me so far, so that's the approach I'd recommend, but I've seen the solenoid valve approach work well too.

I used an H-bridge driver shield to run the pump just because I had some available, but this has limited me to two pumps per shield. You really only need a relay per pump and there are relay shields around that support four or more relays on a single shield. This would probably be better for you.

You will need to decide whether your fans and heater will be mains powered or low voltage DC. Low voltage DC will be much easier and safer to implement but mains voltage units will make it easier and cheaper to achieve higher power levels. If you're using mains voltages you would really want to use a commercial switch to control them from the Arduino, and they aren't cheap.

Opening and closing a sunshade is no harder than controlling any other motorised actuator and the main challenge would be in the hardware selection and assembly for the actuator. For example, you might use a geared motor to turn a pulley to pull a string to raise and lower the blind.

What you're describing so far could be done on a UNO or similar. If you have ambition to scale this up a lot then Mega based Arduinos have more pins and more memory. Personally, I think I'd prefer to see multiple autonomous Arduinos each controlling one subsystem, rather than one huge one controlling everything. This way you can get one system started and then take on additional projects to add new features without compromising the stuff you have already got working. If you choose something like a UNO as your standard platform, that also lends itself to use a wide array of standard shields for add-on features and sensors, as well as being handy for things like robotics if you decide to expand this interest into other areas.

If it's practical to incorporate a PC into your solution, I'd suggest that rather than design your Arduino(s) to be standalone, you design it to make status information available at a PC which can act as a central controlling and monitoring station. This could be connected using a simple USB cable, or any of a variety of serial or wireless solutions. From the PC you can do long-term collection of measurements and status information (want to provide reports on water consumption through the year?), publish anything that looks interesting on a local web site, and even enable configuration and control via the web site of you like. It also makes alarming via email, SMS and so on much easier if you want that sort of thing. You can do a lot of this locally on an Arduino if you really want, but using a PC makes it much easier, more flexible, more powerful.


For the sensors i really would look at the Dallas 1Wire stuff.


PeterH has covered it all really. A few additional points - if you're going to use arduino, stick with the Uno if possible: it'll cover your initial needs, your students are bound to destroy some and the Mega is pricy.

While you're developing, consider a method of logging; when the prototype is in place and runs for a while and then crashes, it'll be useful for debugging purposes to have some record of what was happening. If you don't go the PC route for this, an SD shield will let you write logging data to an SD card - plenty of capacity for telemetry.

I assume you're already considering some starter kits - I'd expect the class to start with flashing a led and working piece by piece towards the greenhouse controller. It'll also enable your educating yourself to the point of being able to help debug student's efforts. For a classroom situation, for cost reasons, it may make more sense to buy discrete components.

Consider some kind of greenhouse simulator, even if you're just using potentiometers and leds. That way you can test for a variety of conditions more quickly and ensure that the controller acts correctly without having to go to the greenhouse and wait for conditions to be right. Over time, you might be able to develop this into a complex project in its own right, with a web page controlling it and/or standard scripts that run the prototype controller through a set of scenarios and reporting on its performance.


For the watering system I think the separate solenoid approach would work best for us.  I am thinking of using the DHT11 or DHT22 temperature and humidity sensors with one (or more) inside and outside to be able to make adjustments according to the difference between the sensors.  The Vegetronics soil sensor is a good idea and I will probably put one for each watering line so the plants can be watered differently.  I am planning on getting classroom kits and using LED's to simulate some of our activities ithe greenhouse but the kits seem to focus on building the circuit boards (bread boards).  Would the student need to build their own relay boards for the greenhouse would it be better to purchase these separately.  I plan on having and LCD screen in the circuit box to make on aite adjustments, probably using toggle switches but I would like to have a wireless router providing feedack to a classroom computer for students to monitor the greenhouse and make adjustments.  Also, we are working on robotics using the C++ language, but I have been told that industrial PLC systems use ladder logic more frequently.  Am I hindering my students by focusing too much on C or C++ programming?

Go Up