Arduino Powered Mushroom Environment Control

Arduino Mushroom Environment Control

This is my first Arduino project aimed at helping me with my other hobby which is growing oyster and shiitake mushrooms indoors.
In a nutshell, the controller takes in two temperature readings, 1 Humidity reading and 1 Co2 reading and triggers a set of four relays connected to mains power.
Intended to be connected to the mains are two heating pads, a sonic humidifier and an air pump (although the choice isn’t limited to these of course).

Step 1: Items

Here is the list of items I used for the project. 

MAIN:
-Arduino.
-LCD Keypad shield.
– 7-12 volt power supply.
– USB cable (socket that connects to USB on Arduino).
-Box To house the whole thing.
-Veraboard/breadboard.
– 4x solid state 5v- 240v relays.
– Mains Power board with four sockets.
– Wires.
– Jiffy box to house inline socket/screws to connect Sensors.

SENSORS:
-Thermistors 10k   x2
-Resistor 10k  x2
-HS1100 humidity reader
– 555 timer (cmos type)
– resistors: 576k, 49.9k, 1k and 909k
– Veraboard/breadboard
– Jiffy Box
– Digital divide by ten Chip
-MG811 C02 sensor (I got a breakout board with op-amp amplifier built in. You can make it yourself, it is a high precision op amp set up as non-inverting with gain around 10).
– Jiffy Box

ENVIRONMENTAL CONTROLLERS
– 2 x heating pads
– Sonic Humidifier
– Aquarium Tubing
– Air Pump (aquarium)
– Plastic lunchbox (airtight)
– HEPA Filter for Vacuum cleaner.
– Plastic tub
– Aquarium Air pump
– Aquarium Tubing
– Plastic Lunchbox (airtight)
– HEPA Filter for Vacuum cleaner

EXTRAS:
– Hot Glue gun
– Soldering Iron
– Screwdrivers
– Multimeter
– Drill
– Home brew larger.

Arduino Mushroom Environment Control

Step 2: Thermistors

Solder two wires to each thermistor.
On a breadboard solder on a 10k ohm resistor, one end will connect to the Arduino ground, the other to Analog input 1  and to one of the thermistor wires.
The other end of the thermistor wire connects to +5v from the Arduino.
Do this for another Thermistor and connect it to Analog input 2 instead.

Basically it is a voltage divider with the thermistor defining the Voltage going to the Arduino analog input. One analog divider for each thermistor.

I added the circuitry in a separate jiffy box where the thermistor leads could be screwed into inline screws protruding from the box.

To test this sensor, use a multimeter to look at the voltage change as you put your finger on the Thermistor.

Step 3: Humidity Reader

The humidity sensor is a variable capacitor which changes linearly with the relative humidity.
The datasheet shows how to hook up the sensor using a 555 timer (must use CMOS type).
I used this circuit to send data pulses to the Arduino. At first I found the pulses were too close together and did not give high enough discrimination, so at the output of the 555 I put a digital divide by ten chip. This made it so the pulses wavelength was in the hundreds of microseconds rather than the tens of microseconds.
Please find attached the datasheet which has the circuit diagram using the 555 timer. 

I used the same style inline screws as described with the Thermistor step as a go between for this sensor and the Arduino.

To Test this, hook up the output to a speaker supply power (6volts will do) and breath on the sensor, you should hear a drop in frequency.

HS1101-HS1100.pdf(595×841) 518 KB

Step 4: Co2 Sensor

Initially I had ordered an MG811 Co2 sensor by itself, after setting it up I couldn’t make it work properly so I ordered one already on a board with an op amp amplifier built in.
I later found that the power supply I was running it with was faulty and the heating element in the Co2 sensor was running on overdrive.
Arduino Mushroom Environment Control circuit

Basically the circuit has the sensor hooked up to a non-inverting op-amp with roughly a gain of ten, and the heating element is supplied by a 6 volt voltage regulator. The set up is shown on the datasheet attached with pinouts of the sensor which is self explanatory, what isn’t self explanatory is the graph on the datasheet which gives a totally inacurate picture of the expected output of the sensor. 

Give it a test by placing a Multimeter on the sensor and breathing on it, it should change reading.

MG811Datasheet.pdf(595×842) 146 KB

Step 5: Connect the Arduino

In this step I connected the Arduino to the go between board.
The Keypad shield goes just on top of the Arduino.
Solder onto the shield the separate Thermistor voltage dividers inputs to Analog 1 and Analog 2, Analog 3 takes in the Co2 input.
Solder to digital 2 the Humidity input.

Solder on the power supply, I recommend 7 volts supply as the C02 reader needs 6 volts at least. I soldered the power supply onto the go between board and then soldered from there to the Arduino.

Leave a Comment

Your email address will not be published. Required fields are marked *