Growing Microgreens in Space
by Benjamin_Geils in Circuits > Arduino
1548 Views, 12 Favorites, 0 Comments
Growing Microgreens in Space
I am entering this project in the High School group for the Growing Beyond Earth contest. My project grows microgreens on mats that could be pre-loaded with seeds before they are sent into space. It uses an Arduino board with a DHt11 temperature and humidity sensor on it that is set at an optimal level for microgreens. Microgreens are a very healthy addition to a diet because they are more densely packed with nutrients than the full-grown version and take less time to grow. This box can also be used to start seedlings that will be moved to a larger area to grow full size. Overall, this project ended up costing around $200 and a lot of time, mainly because I had to figure out the basics of how to write code for an Arduino.
Supplies
Materials:
- 5x corrugated plastic sheets
- 12inx24inx1/8 in polycarbonate sheet
- High temp hot glue sticks
- 3D printer filament
- Arduino UNO
- Arduino Power Cord
- Grow Lights
- Fan
- Relay Board
- Breadboard
- Breadboard Jumper Cables
- DHT11 Temperature and Humidity sensor
- Indoor Timer
Tools:
- X-acto knife
- High temp hot glue gun
- 3D printer
- Band saw
- Computer
- Soldering Iron
- Sandpaper
YouTube Video
Cut Out the Pieces
Cut out a 68x50 cm piece from one of the corrugated boards. This will be the largest single piece in this project and the backbone of the box. Cut through one layer of the board 28cm from an end and that will make the bottom. Then cut two 28x40 cm pieces for the sides and two 28x50 cm pieces for the top and shelf. I used hot glue to attach the bottom to the sides and the clips to connect the rest of the pieces. For the shelf, glue the 28x50 cm shelf 20cm from the bottom of the box (the middle). Clips
Downloads
Make the Drawers
Cut a piece of corrugated plastic sheet 50x32cm and measure 5cm in from the 32 and cut halfway through the board to serve as the back of the drawer. Then, cut two 28x5cm strips and glue them on the sides. Cut a 50x15cm piece of polycarbonate sheet with the band saw. Once it is cut, you can sand it and glue it on the front. Repeat the process for a second drawer.
Attach the Lights and Fans
For this project, I wanted to make sure the plants had plenty of light, so I decided to put two light bars for each drawer. The lights are attached using the double-sided tape that comes with them onto the upper panel of each drawer. They are spaced 15cm apart, which gives the plants equal light no matter where it is. The fans are mounted on the right outside wall of the box. I used a compass to mark the circle vent and then cut it out with the X-acto knife. To make the holes for the screws, I used a propane torch to heat up one of the screws and was able to easily push it through the corrugated board wherever there was a screw hole. After that, I screwed the fan on and connected the wires.
Tip: I ended up using an analog timer for the lights
Setting Up the Electronics
This step is definitely the most difficult part of this project. You have to upload the code into your Arduino and use the jumper wires to connect the Arduino to the relay and breadboard. The DHT11 sensor should be glued inside the box on the top shelf because that is the one that would get the warmest. The video here helped me to get all the electronics connected where they needed to be.
Downloads
Coding the Arduino
// // FILE: dht11_test.ino // AUTHOR: Rob Tillaart // VERSION: 0.1.00 // PURPOSE: DHT library test sketch for DHT11 && Arduino // URL: // // Released to the public domain //
#include
dht DHT;
#define DHT11_PIN 0 int fan = 1; int heater = 2; int led = 3; int i = 0; int ten = 4; int one = 0;
void setup() { pinMode(fan, OUTPUT); pinMode(heater, OUTPUT); pinMode(led, OUTPUT); }
void loop() { digitalWrite(led,HIGH); delay(5000); digitalWrite(led,LOW); delay(500); // READ DATA int chk = DHT.read11(DHT11_PIN); int theHumidity = DHT.humidity; int theTemperature = DHT.temperature; //int theHumidity = DHT.humidity; //int theTemperature = DHT.temperature; ten=1; one=1; //=====CHECK WHAT VALUES WE HAVE==== if (theHumidity==40) { ten=4;one=0; } if (theHumidity==41) { ten=4;one=1; } if (theHumidity==42) { ten=4;one=2; } if (theHumidity==43) { ten=4;one=3; } if (theHumidity==44) { ten=4;one=4; } if (theHumidity==45) { ten=4;one=5; } if (theHumidity==46) { ten=4;one=6; } if (theHumidity==47) { ten=4;one=7; } if (theHumidity==48) { ten=4;one=8; } if (theHumidity==49) { ten=4;one=9; } if (theHumidity==50) { ten=5;one=0; } if (theHumidity==51) { ten=5;one=1; } if (theHumidity==52) { ten=5;one=2; } if (theHumidity==53) { ten=5;one=3; } if (theHumidity==54) { ten=5;one=4; } if (theHumidity==55) { ten=5;one=5; } if (theHumidity==56) { ten=5;one=6; } if (theHumidity==57) { ten=5;one=7; } if (theHumidity==58) { ten=5;one=8; } if (theHumidity==59) { ten=5;one=9; } if (theHumidity==60) { ten=6;one=0; } if (theHumidity==61) { ten=6;one=1; } if (theHumidity==62) { ten=6;one=2; } if (theHumidity==63) { ten=6;one=3; } if (theHumidity==64) { ten=6;one=4; } if (theHumidity==65) { ten=6;one=5; } if (theHumidity==66) { ten=6;one=6; } if (theHumidity==67) { ten=6;one=7; } if (theHumidity==68) { ten=6;one=8; } if (theHumidity==69) { ten=6;one=9; } if (theHumidity==70) { ten=7;one=0; } if (theHumidity==71) { ten=7;one=1; } if (theHumidity==72) { ten=7;one=2; } if (theHumidity==73) { ten=7;one=3; } if (theHumidity==74) { ten=7;one=4; } if (theHumidity==75) { ten=7;one=5; } if (theHumidity==76) { ten=7;one=6; } if (theHumidity==77) { ten=7;one=7; } if (theHumidity==78) { ten=7;one=8; } if (theHumidity==79) { ten=7;one=9; } if (theHumidity>79) { ten=8;one=0; } while (ten>0) { digitalWrite(led,HIGH); delay(500); digitalWrite(led,LOW); delay(500); ten--; } digitalWrite(led,LOW); delay(2000); while (one>0) { digitalWrite(led,HIGH); delay(500); digitalWrite(led,LOW); delay(500); one--; } digitalWrite(led,LOW); delay(3000); digitalWrite(led,HIGH); delay(3000); digitalWrite(led,LOW); delay(500); ten=1; one=1; //=====CHECK WHAT TEMPERATURE VALUES WE HAVE==== if (theTemperature==10) { ten=1;one=0; } if (theTemperature==11) { ten=1;one=1; } if (theTemperature==12) { ten=1;one=2; } if (theTemperature==13) { ten=1;one=3; } if (theTemperature==14) { ten=1;one=4; } if (theTemperature==15) { ten=1;one=5; } if (theTemperature==16) { ten=1;one=6; } if (theTemperature==17) { ten=1;one=7; } if (theTemperature==18) { ten=1;one=8; } if (theTemperature==19) { ten=1;one=9; } if (theTemperature==20) { ten=2;one=0; } if (theTemperature==21) { ten=2;one=1; } if (theTemperature==22) { ten=2;one=2; } if (theTemperature==23) { ten=2;one=3; } if (theTemperature==24) { ten=2;one=4; } if (theTemperature==25) { ten=2;one=5; } if (theTemperature==26) { ten=2;one=6; } if (theTemperature==27) { ten=2;one=7; } if (theTemperature==28) { ten=2;one=8; } if (theTemperature==29) { ten=2;one=9; } while (ten>0) { digitalWrite(led,HIGH); delay(500); digitalWrite(led,LOW); delay(500); ten--; } digitalWrite(led,LOW); delay(2000); while (one>0) { digitalWrite(led,HIGH); delay(500); digitalWrite(led,LOW); delay(500); one--; } //============END CHECK VALUES digitalWrite(led,LOW); delay(5000); //if (DHT.humidity>55) { if (theHumidity>65) { digitalWrite(fan,LOW); } else { digitalWrite(fan,HIGH); } //if (DHT.temperature>22) { if (theTemperature>22) { digitalWrite(fan,LOW); } else { digitalWrite(fan,HIGH); }
i=0; while (i<10) { digitalWrite(led,HIGH); delay(1000); digitalWrite(led,LOW); delay(1000); i++; } } // // END OF FILE //
Putting Electronics in Box
This is the final step for this project. Print the box and lid using the link I attached with a 3D printer. Use the double-sided tape to secure the components into the box. The 3D printed box can be glued to the back of the box and the lid can snap on. Connect the fan wires to the relay, plug in the Arduino board, and the code will start running automatically.