Solar Energy Project

For our solar energy project (teamed up with Jesal) we chose to work on a solar powered watering plant system. The idea is to have two sensors plugged into the soil to keep track of how often the plant needs watering based on the parameters we are going to agree on. Once the plant needs watering, a water pump will then be triggered and the water could transfer to allow irrigation.

We firstly tried to allocate all the resources that we are going to need for the project as listed below:

Materials Needed

  • An enclosure (1)
  • PC Board (1)
  • 5VDC SPDT micro relay (1) **
  • Solar Panel (1)
  • Lithium-Ion Battery (1)
  • Toggle switch (1)
  • 10K resistor (1)
  • Size M coaxial DC power plug
  • Red and black 22AWG wire
  • 12AWG black wire
  • Electric water pump (1)
  • Water storage container w/ lid (1)
  • 8-32 x 2.5″ nuts and bolts (2)
  • 4-40 x 1″ nuts and bolts (8)
  • 4-40 x 3/8″ nut and bolt (1)
  • 1/4″ spacers (4)
  • Wire nut (1)
  • 3′ – 5′ plastic tubing (2)
  • #8 Terminal Ring (1)
  • House plant to water (1)

 

Making Our Own Water Pump

We then went on trying to make our own water pump. We had to improvise and so we found a canister for pills which could store the 3.7V motor inside as well as the 3D printed water turbine. Then we laser-cut an enclosing for the top part of the motor which will then be sealed with glue so that no water can intrude the wiring.

We tested the motor with a minimum voltage of 2.3 to see how well it can spin and the results where more than satisfying.

https://www.youtube.com/watch?v=t8xp4OZYJXQ&feature=youtu.be

This did not work as the enclosure did not provide enough suction for the water to be drawn in from our reservoir. We then bought a small water pump from Tinkersphere.

 

Battery

We used a 3.7V 650mAh battery that was able to produce the power we needed to power the water pump long enough for the water to be drawn into the plant’s soil.

 Sensors

​​​​

Code

This is the code we used for the Arduino. It was inspired by Randolfo’s version of the code.

 

// Analog input pin that the soil moisture sensor is attached to
const int analogInPin = A1;

// value read from the soil moisture sensor
int sensorValue = 0;

// if the readings from the soil sensor drop below this number, then turn on the pump
int dryValue = 700

void setup() {

pinMode(12, OUTPUT);

// initialize serial communications at 9600 bps:
Serial.begin(9600);
}

void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);

//Turns on the water pump if the soil is too dry
//Increasing the delay will increase the amount of water pumped
if(sensorValue < dryValue){
digitalWrite(12, HIGH);
delay(10000);
digitalWrite(12, LOW);
}

// print the sensor to the serial monitor:
Serial.print(“sensor = ” );
Serial.println(sensorValue);

//slow your roll – I mean… slow down the code a little
delay(100);
}

Finally, being able to make the pump work with the sensor and code all together we were able to demonstrate how the system worked on an actual plant as seen below:

 

Leave a Reply