DIY Plant Moisture Sensor


This project will calculate the water content of soil around a plant by measuring the dielectric constant (the soil's ability to transmit electricity) and will alert you with a red LED when the plant needs more water or a blue one when it has too much.

Step 1: Materials
You will need to gather these things in order to build this project:


*red-red-brown

Step 2: Create Sensor Prongs

You will need to repeat this step twice (once for each prong):

  1. Begin to tighten the nut around the bolt
  2. Slide the end of the long jumper cable between the nut and the head of the bolt.
  3. Finish tightening the nut until you are unable to pull out the jumper cable

Step 3: Create the Circuit


Follow the schematic or the breadboard image - whichever one works better for you. The wires labeled "out" are the two prongs you just created.

Step 4: Upload Code

Copy and paste this code into the Arduino IDE:
int moistPin = 0;
int moistVal = 0;
int tooDry = 150; //set low parameter for plant
int tooWet = 400; //set high parameter for plant
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  moistVal = analogRead(moistPin);
  Serial.println(moistVal);
  int percent = 2.718282 * 2.718282 * (.008985 * moistVal + 0.207762); //calculate percent for probes about 1 - 1.5 inches apart
  Serial.print(percent);
  Serial.println("% Moisture ");
  if (moistVal <= tooDry) {
    digitalWrite(4, HIGH); //Red LED
    digitalWrite(3, LOW);
    digitalWrite(2, LOW);
  }
  else if (moistVal >= tooWet) {
    digitalWrite(4, LOW);
    digitalWrite(3, HIGH); //Blue LED
    digitalWrite(2, LOW);
  }
  else {
    digitalWrite(4, LOW);
    digitalWrite(3, LOW);
    digitalWrite(2, HIGH); //Green LED
  }
  delay(250);
}

Step 5: Place Sensor Prongs



  1. Insert the prongs you made about 1" to 1.5" apart in soil close to the plant you want to monitor.
  2. Give the plant a healthy amount of water and open the serial monitor
  3. It should give you readings around 25 - 30% if you gave it the right amount of water
  4. If not, try moving the prongs around to get it right (or you just added too much water)

Further Notes:

If this is going outside you will want to put your circuit inside of a Tupperware or other waterproof container to protect it from the elements. Then drill some holes for the sensor wires to come through and add a battery box to power it. Mine is not going outside though, and will be fine without a container.

Popular posts from this blog

Arduino LED Temperature Indicator

Rubber Band Gatling Gun Turret (Arduino)