plants growing in the greenhouse
Spiral design by the 7th grade science class, and a basil table in the background

Hydroponics is growing plants without soil. Instead, they are placed in a spongey case or nutrient-free pebbles and fed directly by water. Growers need to be careful that the water has just the right balance of nutrients. Middle and high-school science students do nutrient and pH testing multiple times each week to ensure that the plants stay healthy!

One of the interesting challenges faced in the greenhouse is where to put things; it is a very tall room without a lot of floor space. To address this, the seventh grade science classes each prototyped and built their own concepts for "vertical" hydroponics. The spiral design in the picture is one of the class's full-scale prototypes.

Between the Commons greenhouse and the microfarm, an early goal will be to grow on site all of the lettuce for the salad bar at lunch, year round!

Solar Chimneys

bottom louver
Low louver on the east chimney

Solar chimneys are a form of passive ventilation. Instead of fans, they use hot air and vents to push and pull air around between rooms. There are two solar chimneys in the greenhouse: one on the east (near the project space and CMEE) and one on the west (near the workshop and BCCE). Each one has a vent at the top and bottom, called "louvers," and four vents into the different floors, controlled by vents which we call "dampers."

Opening and closing the vents is done from the control room. The louvers are controlled via the white light switch squares. On each, the leftmost button closes the lover and the next opens it. The right two buttons aren't used. If the light is on underneath the switch, the louver is closed. The light on the left was removed because of a fried relay inside the control box. The dampers are opened and closed using the toggle switches on the top row.

bottom louver
Solar Chimney control box

Unfortunately, the solar chimney controls are not yet integrated into the website. Any experiments involving the solar chimneys need to include careful, manual tracking of when each louver and damper is open. Or, using the same code as the Temperature and Humidity Sensors (see below), someone could build their own "sensor" for the control box pretty easily!

The motors which power the louvers are powered by the outlet where the control box is plugged in. The dampers are powered by the solar-charged battery in the corner of the control room. One issue with the dampers is that they are powered-open and spring-closed. That means that as long as the vent is open, the motor is exerting energy just to hold it open! (But that energy is completely off the grid)

Numbered red wires from the control box run through conduits up to the louvers and dampers
One of the damper actuators
The inside of the control box uses four commercial window controllers

Temperature and Humidity Sensors

sensor hub
Arduino circuit controlling the sensors
A DHC22 temperature/humidity sensor
A temperature/humidity sensor with wires and fancy sunlight shield

There are seven custom-installed temperature/humidity sensors in the greenhouse. Four are in the solar chimneys (top and bottom each side). The other three are at table height, mezzanine height, and ceiling height. It should be easy to install more (up to 16 total); keep reading for details.

The sensors themselves are called DHT22s. They come with code that will allow an Arduino to read data from them. (An arduino is like a tiny programmable circuit and computer for hobbyists). The picture on the right shows a DHT22 after it has had wires soldered on and been stuck inside one of the PVC sunlight shields (can you guess why they need to be sheilded?)

How they're wired:

The Arduino Uno has only 14 digital data pins for communication. When using ethernet (which we need to send data back over the internet), two of those pins become unavailable. That leaves only 12 slots for sensors, but we want to be able to install more than that in the long run. The solution is to use multiplexers. A multiplexer is like a switch on a train track. This circuit uses two 8:1 multiplexers, giving us a total of 16 possible routes. It is possible to "fan out" multiplexers one after the other. With 9 of them, we would have 64 different "tracks." Because of the way binary numbers work, it takes 3 wires to specify which of the 8 tracks you want on a single multiplexer (they are 000, 001, 010, 011, 100, 101, 110, and 111). Likewise, it takes 4 bits to specify which of 16 tracks you want. Add in one shared wire for communication, and you can talk to 16 sensors with just 5 wires!

A spliced-open ethernet cable
A sensor being spliced into the ethernet cable.

This circuit was built using ethernet cables, because they come with 8 small colored wires inside: Blue, White-Blue, Green, White-Green, Orange, White-Orange, Brown, White-Brown. Keep in mind that the use of ethernet cables has nothing to do with whether they are connected to the internet! Any bundle of small wires would have worked. To keep the sensors from getting in each others way, they each need their own dedicated data wire. They also each need two power wires, but that can be shared. Because of the way the multiplexers work, it was convenient to bundle together 4 groups of 4 data lines. Only 3 are used so far, so there are 3 ethernet cables carrying data back from the sensors to the arduino.

The following table shows the job of the wire colors inside each cable correspond. The four cables are named alpha, bravo, charlie, and delta (because other convenient letters and numbers had run out)

These tables do not need to make sense to everyone, only those who plan to install new sensors or change the existing setup

Mux Pin Tape Cable Name Wire Color Sensor Location
A0 black Alpha brown East Low Louver (near Workshop)
A1 green green East High Louver (near BCCE)
A2 orange orange -
A3 (none) white-green -
A4 black Bravo brown West Low Louver (near Project Room)
A5 green green West High Louver (near CMEE)
A6 orange orange -
A7 (none) white-green -
B0 black Charlie brown Center Greenhouse Low
B1 green green Cetner Greenhouse Mid (Mezzanine floor)
B2 orange orange Center Greenhouse High (above Mezzanine)
B3 (none) white-green -
B4 black Delta brown -
B5 green green -
B6 orange orange -
B7 (none) white-green -
+5V red all four blue N/A
Ground (black wire) all four white-blue N/A

The next table shows the function of each pin of the Arduino

Arduino Pin Function
2 Data (to/from all DHT sensors)
3 (not) enable "B" Mux
4 (not) enable "A" Mux
5 Mux selection bit 0
6 Mux selection bit 1
7 Mux selection bit 2
8 Red LED (error)
9 Green LED (server connection)