Aeroponics First Planting Progress Day 2

Posted by admin on August 19, 2009
Aeroponics Plant Progress

Getting up this morning, we noticed that the plants seemed to be loosing turgidity–firmness. Lots of things can cause this but we also noticed that the root chamber was completely socked in with fog. This leads us to believe that the timing on the fog is too aggressive so we attempted to tune it back a lot.

Once we began perusing the code for the Arduino we found an embarrassing mistake. Integers in programming computers are generally 4 bytes long. On the Arduino they are not 4 bytes, they are 2 bytes. This means they can only hold positive numbers up to 32,768…in micro seconds that means I could only adjust the timing up to ~32 seconds before roll-over started making things not work.

The fix is to change all the variables to long, which on the Arduino are 4 bytes. Problem fixed and here is the code:

/*Initial program to control the timing of our aeroponics system.*/

int fogger_pin = 3;
int fan_pin = 2;
int fogger_on = 0; //Non-zero true.
int fan_on = 0; //Non-zero true.
long fan_on_time = 5000; //Fan on time in miliseconds.
long fogger_on_time = 15000; //Fogger on time in milliseconds.
long fogger_delay_time = 180000; //Time between foggings in milliseconds.
unsigned long current_off_time;
unsigned long current_on_time;

void setup(void){

Serial.begin(9600);
pinMode(fogger_pin, OUTPUT);
pinMode(fan_pin, OUTPUT);
current_off_time = millis();
}

void loop(){

if(fogger_on){
//Our foggers are on so we need to see if we need to
//turn on the fans, turn off the fans and foggers, or do nothing.
if(fan_on){
if(millis()-current_on_time>=fogger_on_time){
digitalWrite(fogger_pin, LOW);//Off.
digitalWrite(fan_pin, LOW);//Off.
fogger_on = fan_on = 0; //Off/False.
current_off_time = millis();
} //if(millis()-current_on_time>=fogger_on_time){
} else if(millis()-current_on_time>=fogger_on_time-fan_on_time){
digitalWrite(fan_pin, HIGH);//On.
fan_on = 1;//On/True;
}//if(fan_on)
} else { //foggers were off so we see if they need to be turned on.
//If our current off time is greater than fogger_delay time then
//we need to turn the fogger on.
if(millis()-current_off_time>=fogger_delay_time){
digitalWrite(fogger_pin, HIGH);//On.
fogger_on = 1;//On/True.
current_on_time = millis();
}//if(millis()-current_off_time>=fogger_delay_time){)
}//if(fogger_on)
}//void loop()

We changed the timing also:

  • Everything off for 180 seconds.
  • Foggers com on for 10 seconds.
  • Fan and foggers on for 5 seconds more seconds.
  • Repeat.

This leaves us with 3 minutes of down time and approximately 5 seconds of fog. Still far below the journal articles that indicate 7 seconds every 10 minutes but we would like to ease up to that huge differential.

Here are some pictures from 4pm when Stan got home:

sprout1

A sort of blurry close up of a couple peas and a string-bean.

sprout2

The string-beans aren’t doing so well but some of the peas are doing okay. We haven’t worked out the kinks yet so it’s too early to really say.

sprout3

From the backside you can see that some of the roots have wilted and withered. This is despite the change in the fogger time.

Based on all of this, we set the timing back to 60 seconds off time leaving everything else the same. We’ve done more research and we think that we may have put the plants in too early. Some sources suggest that you need much more extensive root development to work well with this sort of aeroponics system. We are looking into rooting some seeds and cuttings for another go with a more stable support structure than the filter cloth. We’ll keep you posted on our results and findings.

That’s all for today. Stay safe and sustainable!

P&S

Share This Post

No related posts.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

No comments yet.

Leave a comment

WP_Big_City

CommentLuv Enabled