Saturday, April 5, 2014

Greenhouse project - The Build

After hearing about some amazing Ikea Hacks, I decided I wanted to try one of my own. I bought a greenhouse (Socker) and two LED light strips (Ledburg) as a starting point.

The light strips were quite long, so I divided them into 3 and wired them together so I could place them side by side and mount them on aluminum angle.

6 lights total, mounted in 2 groups of 3 at the top of the greenhouse
To turn the lights on and off, I used a relay module to switch the load side (after the AC/DC converter). For safety I put the relay module and connections inside a box, which had the added advantage of being a nice place to mount my electronics later.

The grey electronics box (grey) holds my relay modules, but also provides a solid mounting point for my Arduino and camera 
Because I don't like wasting power, I salvaged an IR sensor from my Roomba robot, and connected it reverse biased in order to detect how much ambient light was around. This way I could switch the lights on when they were needed, and off during the day.

Of course any respectable greenhouse needs data collection abilities, so I used the SHT15 temperature/humidity sensor, which I have used in previous projects and has given me great results. It has an on-board processor which digitizes the sensor data and sends it over a 2 wire connection. I was able to find Arduino sketch examples to base my data collection software from.

The SHT15 is also mounted to the side of the electronics box and measures ambient temperature and humidity
To display my data, I connected an 2x16 character LCD display, that tells me the light value (L) ranging from 0-1027, the temperature (T) in degrees celsius and relative humidity (H) in %.

The 16x2 character LCD display on the outside of my greenhouse


But what really sets this greenhouse apart from others is its scientific abilities. I have a LinkSprite serial camera mounted inside to take a photo every minute. This will allow me to observe long term growth trends visually and compare to the data (temperature, light and humidity) to find the optimal plant growing conditions. These photos are logged to an SD file as .jpg images, which I can convert into a time lapse on my computer. On my LCD character display, the number of photos taken is shown in the top left, and in the top right are the number of bits remaing to be transferred in the current photo over the serial connection (in Hex).

Once I put some plants in it, the whole thing looks like a bit like a cyborg greenhouse. I have 3 plants, so now I can watch them race and see what grows the fastest.


From the side (top photo) and from the top (bottom photo) my cyborg greenhouse now has 3 plants which are racing to see which is fastest to grow. I will not be putting my bets on the cactus.
So what are the results? I took data and made a time lapse from the first 4 days of operation. First is the temperature and humidity result. The temperature seems pretty constant, varying only a couple of degrees, probably due to the heat in the environment. Humidity doesn't change much either.

Temperature and humidity over 4 days in my greenhouse
The timelapse consisted of 5700 photos, and took up 875 MB on my SD card. This means I should be able to capture somewhere around 2 months worth of photos if I continue to capture them every minute on my 16 GB card. I am thinking that increasing the interval between photos to every minute or so might be more appropriate for filming the growth of cacti however, so this might require a bit of tweaking.



A couple other notes about my design, for anyone looking to do something similar:
  • The program size is about 25 KB, which fits on a Duemilanove. A large portion of this was the SD FAT library I used. 
  • I used all the pins on the Duemileanove except A5
  • I used 4 libraries: SoftwareSerialLiquidCrystalSDFat and LinkSpriteCam (which is a library I wrote myself to control the camera). 

No comments:

Post a Comment