***Updated March 13, 2015***
No, not like that. I got your attention though!
Hi! Thanks for checking out my Instructable! This project is being submitted for the Exploration contest, and as such I would like to do a little pandering before we begin. Feel free to skip below to the project introduction;
This project is a number of firsts for me, I am a first year Engineering student and I have been playing around with the Arduino microcontroller for about six months trying to teach myself programming and automation. This project is the culmination of what I have taught myself so far. This is the first time I have completely designed and built an entire system and compiled the code myself. Likewise, this is the first time my program actually performed as anticipated (which makes me ecstatic!). I have also never submitted a project to Instructables, making yet another first, so please be kind (and vote for me!).
Lastly I would like to thank my wife and dad for their financial support with the project, as well as Out-Grow.com for supplying the substrate and mushroom spawn. They are an awesome company, and very helpful. I highly recommend anyone interested in growing their own edible mushrooms contact Mike, the owner. He is extremely helpful and knowledgeable, and just a plain nice guy :)
My aim with this project is to develop an environmentally controlled, automated container to grow edible mushrooms. An ultrasonic mist generator will maintain a minimum of 80% humidity, and will switch on whenever the relative humidity falls below this threshold, measured by a DHT11 sensor. Soil temperature will be maintained with a seedling heat pad, controlled by a ds19b20 waterproof digital temperature sensor. The entire system is controlled by an Arduino UNO with an LCD screen providing real time readings, and powered by a standard 110v outlet.
I have decided to grow Oyster mushrooms because of their forgiving nature, and pending the success of my experiment, will test different strains for viability.
This is not a beginner project and I will have to assume that some things are known throughout the build. I will try to be as thorough as possible, but feel free to ask for clarification in the comments. The build did evolve throughout the process as I discovered and addressed issues. These modifications will be added in to their appropriate sections so forgive me if some pictures are missing details.
Finally, because this project is being submitted for the Exploration contest, I will be updating it regularly with the results of my experiment. The first 7 steps are the enclosure assembly, with the actual experiment beginning on step 8. I would not be offended if you skipped the build process and jumped to the interesting part (but then you'll miss out on all my bad jokes).
**********WARNING: This project requires use of dangerous equipment, as ALWAYS use caution and common sense when working with power tools or electricity!************
Step 1: Gather Materials
There are two main groups of components for this project
Grow Box (all pieces 1/8" thick acrylic):
(1) 24 1/4" x 12 1/4"
(2) 24 1/4" x 5"
(2) 12" x 5"
(2) 4" circles
(1) 24" x 12"
(2) 24 1/4" x 5"
(2) 12" x 5"
(2) Plastic screws w/ collars
(1) 1/2" D x 4" H cylinder
(1) 1/2" x 1/2" x 6" square tube
(1) Set hinges
(2) 110v Relays
DHT11 Temperature/Humidity sensor
DS18b20 Waterproof digital temperature sensor
9" x 19 1/2" Water resistant seedling heat mat
Mini ultrasonic mist generator (with power supply)
16x2 Character LCD display
Surge protector power strip
9v Power supply
Lots of 22g solid core wire
You will also need:
A bowl, approximately 4" H by 6"D
Power drill w/ various bits
A Dremel w/ cutting wheels
Hot glue gun
Sandpaper and/or files
Computer (how else would you program an Arduino?)
More than a little bit of audacity
Step 2: Assemble the Top
First we are going to assemble the top of our enclosure. Creating the air vents in this step requires drilling through the acrylic, which in my experience takes a little finesse. I have learned through trial and (much) error that by using a punch first to tap the position of the hole, then drilling a small hole, larger bits will have less tendency to crack the acrylic as they pass through. Drilling speed is also crucial, fast enough to warm the bit, not so fast the plastic melts. Finally, set your driver's torque less than halfway, that way the drill stops before cracking the acrylic. Back off if the bit catches. Use light pressure and let the bit do the work.
Of course, there is always the option of purchasing the correct drill bits for acrylic, but for this project they were prohibitively expensive. You work with what you've got...
1. Take the two 4" circle and find their center. I found the easiest way to do this is to place it on a piece of graph paper.
2. Use the above drilling method to drill out the center holes, just big enough for our plastic screw's collar.
3. Drill four 3/8" holes in a circular pattern 3/4" from the top of the circle, 1/2" apart.
4. Repeat this hole pattern on the two 12" x 5" clear acrylic pieces.
5. Apply a small amount of acrylic cement inside of the screw collars, and attach one to each side to allow vent rotation.
1. Use a right angle to position the first two side pieces, be sure the vent is facing out.
2. Apply glue and allow a few minutes to set up
3. Position this corner on to the top and glue in to place. This will ensure that you end up with a squared-up lid.
4. Glue the remaining sides in to place, be sure you know which way will be "up" when you are finished.
5. Run a bead of acrylic cement along each seam inside of the enclosure lid.
6. Set aside to cure.
Step 3: Assemble the Base
Assembling the base follows much of the same procedure from the previous step with the exception that the base is positioned 2 1/2" from the bottom on the inside of the side pieces, and we need to cut a slot for the LCD screen.
1. Use calipers or other measuring device to mark the dimensions of your LCD screen and cut the rough shape with a dremel
2. Clean up the edges with sand paper or a file, allowing for a tight fit of the screen. Drill a small hole below this slot, slightly larger than the potentiometer's knob.
3. Score each side piece along the center line, through the protective covering, to use as a guide for positioning the base.
4. Mark the position of each component and their respective access points in the base, drill the appropriate holes.
5. Use the method from the previous step to assemble the first two sides.
6. Position the base along the center line and glue in place.
7. Complete assembly as before, and run a bead along each seam.
*Note! During assembly, in all my wisdom, I forgot to drill an access hole for the power supply. If you attempt to recreate this project, I recommend keeping in mind that you'll need to plug it in!
**Second Note, partway through assembly, I decided to use the power switch from a surge protector, I had to go back after the fact to cut out a slot for this, so be sure to know how you'll power it before you start.
Step 4: Prepping the Arduino
I recommend uploading the Arduino sketch before installing the electronic components. It isn't necessary, but it'll make your life easier. There are also a few libraries you will need to install to be sure the sensors interact correctly. You'll need the OneWire and ds18b20 libraries to communicate with the digital temperature sensor, and the DHT Sensor and Dallas Temperature libraries to interface with the humidity sensor. You will also need the LCD library, but this one is included in the Arduino IDE. If anyone needs more information on how to install these libraries a quick Googling should do the trick, but I'd be happy to help, feel free to ask in the comments below.
Once they are all installed, just upload the sketch to the Arduino and you're ready to move on!
Step 5: Installing the Electronics
In my opinion, this was the easy part. I wanted to have everything be semi-permanent in case I decide to break the project down (or if my experiment is a bust), and I wanted a non-conductive adhesive, so I settled on hot glue. This worked out pretty well for my purposes and kept things looking (relatively) clean.
Ripping apart the Surge Protector:
1. Remove all screws you can see
2. Go to freakin' town ripping that bad boy apart, just be sure to keep the circuit board and power switch in tact. Feel free to chop off the copper plug leads, we won't need these, but leave some wire to solder to later.
3. Break the connection for the On/Off switch, and the connections going from the circuit board to the outlet plug and run the cord through the hole on the back. (The one I forgot to drill earlier.)
4. Resolder the power cord to the circuit board, and attach some wire to the switch connections.
5. Realize you forgot to cut a slot for the power switch, and return to step 3...
6. Hot glue the power switch in place and solder the leads to the surge protector.
7. (Optional) I decided to wire a fuse into my project in the off chance my surge protector fails. I went with a 10 amp fuse (my other choice at the time was 650 milliamps) but since my project involves water and I only want to protect against shorts, I figured it'll do.
Placing the rest:
This is really up to you. There's plenty of room on the underside, my only recommendation is that you try to keep the wires carrying 110v away from the signal wires to the Arduino as much as possible, as they have potential to cause interference and false readings.
Step 6: Wiring It All Up!
I tried to make a schematic that was possible to follow, but again, first year engineering student... I'll do my best to explain everything. To try and keep things as tidy as possible, I opted to make a breakout cable for the 5v and Ground connections to the Arduino. To do this, I bent the pins together on a 6-pin header, and soldered a length of solid core wire to the end.
1. With the power cord running through the hole leading to the topside, separate the power cord into two wires and cut one wire just long enough to reach the normally open (NO) connection on one relay. Strip the end and make the connection.
2. With the remaining length of wire, hook up the center contact on the relay.
1. Solder some wire onto the prongs of the power converter, repeat from above.
1. This one's easy, just solder some extra wire to the prongs on a 9v DC converter. Make sure your power tip is center positive so you don't fry your Arduino.
Give it power!:
1. OK, maybe don't power it yet, but solder all the ends together, none of the components are not polarized, so their orientation doesn't matter.
Connections to the Arduino:
I'm hoping my schematic makes sense and this section is redundant, but I'm putting it here anyway... Most components connected to the Arduino are clearly labeled with 5v, Ground and Signal pins, so I won't waste much time telling you to connect ground to ground and such, but I'll detail where each signal pin is connected to the Arduino. The big exception being the LCD screen, its pins are not labeled other than 1-16, so I will go over ground and 5v connections.
Temperature: Pin 8
*5v and signal must be shorted with a 4.7k pull-up resistor.
Humidity: Pin 9
Relay 1 (Mist): Pin 6
Relay 2 (Heat): Pin 7
LCD 1: Ground
LCD 2: 5v
LCD 3: Potentiometer center pin
*The potentiometer's other pins are 5v and ground, it doesn't matter which is which.
LCD 4: Pin 12
LCD 5: Ground
LCD 6 Pin 11
LCD 7-10: Not used
LCD 11: Pin 5
LCD 12: Pin 4
LCD 13 Pin 3
LCD 14: Pin 2
Optional connections for back lighting:
LCD 15: 5v
LCD 16: Ground
Step 7: Finishing Touches
There you have it! All that's left to do is put some water in a bowl, place the mist generator in the water and plug it in!
When you flip the switch, you may not be able to read the LCD screen at first, just turn the potentiometer's knob until you can read the characters.
Up Next! :
The Experiment begins!
Stay tuned as I attempt to actually grow something inside of my automated mushroom farm!
Step 8: The Experiment Begins!
...Sorry to get your hopes up but as of Sunday, January 25, I haven't begun the actual experiment...
The substrate and mushroom spawn will be here soon so check back for updates! I'll be posting my progress a minimum of once a week.
Thanks for reading!
***Update January 30, 2015***
The mushrooms should be here the beginning of next week but in the meantime I wanted to document my progress so far:
I have updated the Arduino sketch to reflect some changes. After testing my system by leaving it running for some time I discovered that because the mist generator uses no heat, the mist settles making the sensor read changes much slower than I had anticipated. By the time the sensor registered 80% and shuts off the relay, the humidity continues to rise past 95% (The sensor's max reading). Because of this, I have added a delay which should raise humidity more slowly.
I am also having issues with he LCD screen. After some time running, and a few cycles of relays opening and closing, the LCD begins to display random characters. After much research, I added two capacitors to the power rails of the screen, one 100uF and one .01uF to try and curb RF noise and voltage fluctuations. Unfortunately I have not solved the issue... Luckily, the system functions with or without the LCD, and the serial monitor continues to read correct values, so for now I will move ahead and just reset the system periodically.
***Update February 2, 2015***
The mushrooms came today! Let's get right to it!
- Completed grow container
- Sterilized hay substrate
- Mushroom spawn
- Razor blade
- Powder free gloves
Disinfect everything, We want our grow bow to be as sterile as possible.
Cut some of the plastic in the rough shape of the box and gently press in to place. Cut a slot to slide the mister's power cord, and small holes for the temperature and humidity sensors.
Carefully full the box with the sterile hay, press down lightly but don't pack it. Be sure to bury the temperature sensor about halfway into the hay. Dig out a space in the center big enough for the bowl.
Sterilize the bowl and place it into the indentation. Now just trim up the excess plastic and we're all set to move the entire enclosure to its forever home!
We're all done! Now just fill the bowl with filtered water from the tap. A Britta should work, just enough to get rid of contaminants, but we want the minerals in the water.
Everything is on and powered up! I'll be continuing to post updates as new steps each week to document the growth (if any).
Stay tuned for more! (And don't forget to vote for me!)
Step 9: Week 1
***Update February 8, 2015***
What a difference a week makes!
So far, so good, my enclosure seems to be working as planned with the exception of needing to be reset each morning to be able to read the LCD due to the issues noted in the previous updates.
In future iterations of this project, I think my enclosure could use additional airflow (I may decide to add a circulating fan in the near future...) and I feel it could be much larger, maybe even 3-4 times. The mist generator hasn't been triggered since day one, and humidity has maintained a level above the readable threshold for the sensor. With more area and airflow, I believe the environment could be more efficiently maintained.
Step 10: Week 4
***Updated February 25, 2015***
I know I promised much more frequent updates, but school has taken priority unfortunately...
Anyhow, my experiment is moving along, although not necessarily in the direction I had anticipated. Since my last update I have added a small vent fan to circulate more air, and promptly disconnected it as it was drying out the enclosure too quickly. This was especially disappointing due to the fact that cutting an inch-and-a-half hole in an existing acrylic box isn't exactly easy, nor is connecting a fan to the underside of an enclosure which can't be turned over... I have a feeling that if my grow box were considerably larger I would have had more success with this modification.
I have also come across the issue of fruit flies invading my experiment. I noticed a few a couple of days ago, and they have since bred like... well, fruit flies. I have added fly paper to the inside of the enclosure, with some cider vinegar and a drop of dishsoap placed outside the container near any entrance points. This seems to be curbing their reproduction, but their numbers have yet to significantly diminish.
I have also noticed that some spots within the container seem to be more beneficial to the growth of the mushroom spawn. More experimentation will be needed to explain this phenomenon.
The growth of the mycelium has visibly slowed, but by looking at the sides of the water dish for the mist generator, I can tell that their growth has mainly moved below the soil line. I feel this is also due in part to opening and closing the lid to address issues as they arise. The spawn seems to be fairly delicate at this stage and I'm afraid that every time I attempt to fix a problem, I create another...
Such is the nature of experimentation, eh?
Step 11: This Is the End...
***Updated March 13, 2015***
Unfortunately, my experiment has failed... My humidity sensor has stopped reading integers and now displays only "nan" ("not a number"). This has caused the mist generator to behave erratically, and I woke up one morning to find nearly a liter of water had been atomized into the grow box. This did have the benefit of drowning out all the fruit flies invading the container, but saturated the substrate and caused water to drip down a poorly sealed point and cause just enough moisture to trip the surge protector.
With no effective way to replace the sensor or fully dry the system without removing the mushroom spawn, I have decided to call T.O.D. on my Mushroom Farm. I tried to salvage the experiment in the final days, but constant opening and closing of the lid caused additional contaminants and the substrate has begun to mold. (Hey, at least there's some fungus...)
If this experiment were to be replicated, higher quality sensors and components would be necessary. If the box had been around 3x larger, I feel I would have been able to ventilate more effectively with a slower fluctuation in over all relative humidity. This would also have the benefit of circulating the humid air, preventing fluctuations within the growing chamber.
I did learn quite a bit throughout this experiment. I taught myself some new coding techniques, learned some of the nuances of capacitors, and can now make (an admittedly amateur) wiring diagram. I hope to be able to give it another try in the future, but for now education and finances will postpone any further experimentation.
Thank you to everyone who has followed me this far, and thanks again to everyone who made it possible to give it a shot. I hope you learned something too, or at least enjoyed my bad jokes!
And vote for me! The contest is still going!
Third Prize in the
Explore Science Contest