You are on page 1of 4

Arduino Soil Moisture Sensor

***Edit***
Please use resistors when connecting the LEDs to your Arduino!
This Instructable is old. I have not had the time to update any of the information. You
will find a lot of GREAT information in the comments please read them after reading
the instructions.
Intro
In this instructable I will show you how to connect the an Arduino Nano and a
moisture sensor. The information will then be displayed with 5 LEDs. This is very
easy build and I would class it as a beginner project.

Step 1: Things You Will Need

1 - Breadboard (http://www.ebay.com/itm/171705651308?ssPageName=ST...
5 - LEDs
5 - 1k resistors
1 - Soil Moisture sensor kit
(http://www.ebay.com/itm/171705525756?ssPageName=ST...
1 - Arduino Nano (http://www.ebay.com/itm/171728876932?ssPageName=ST...
~8 - Assortment of jumpers.

Step 2: Arduino

The Code:

<p>/* </p><p>Innovativetom.com

Flower Pot Soil Mosture Sensor</p><p>A0 - Soil Mosture Sensor

D2:D6 - LEDS 1,2,3,4,5</p><p>LED1 - Green

LED2 - Green

LED3 - Green

LED4 - YELLOW

LED5 - RED</p><p>Connect the Soil Mosture Sensor to anolog input pin 0,

and your 5 led to digital out 2-6</p><p>*/


int led1 = 2;

int led2 = 3;

int led3 = 4;

int led4 = 5;

int led5 = 6;</p><p>int mostureSensor = 0;</p><p>void setup() {

// Serial Begin so we can see the data from the mosture sensor in our serial inp
ut window.

Serial.begin(9600);

// setting the led pins to outputs

pinMode(led1, OUTPUT);

pinMode(led2, OUTPUT);

pinMode(led3, OUTPUT);

pinMode(led4, OUTPUT);

pinMode(led5, OUTPUT);

}</p><p>// the loop routine runs over and over again forever:

void loop() {

// read the input on analog pin 0:

int sensorValue = analogRead(mostureSensor);

// print out the value you read:</p><p> Serial.println(sensorValue);

if (sensorValue >= 820)

digitalWrite(led1, HIGH);

digitalWrite(led2, HIGH);

digitalWrite(led3, HIGH);

digitalWrite(led4, HIGH);

digitalWrite(led5, LOW);

else if (sensorValue >= 615 && sensorValue < 820)

digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);

digitalWrite(led3, HIGH);

digitalWrite(led4, LOW);

digitalWrite(led5, LOW);

else if (sensorValue >= 410 && sensorValue < 615)

digitalWrite(led1, HIGH);

digitalWrite(led2, HIGH);

digitalWrite(led3, LOW);

digitalWrite(led4, LOW);

digitalWrite(led5, LOW);

else if (sensorValue >= 250 && sensorValue < 410)

digitalWrite(led1, HIGH);

digitalWrite(led2, LOW);

digitalWrite(led3, LOW);

digitalWrite(led4, LOW);

digitalWrite(led5, LOW);

else if (sensorValue >= 0 && sensorValue < 250)

digitalWrite(led1, LOW);

digitalWrite(led2, LOW);

digitalWrite(led3, LOW);

digitalWrite(led4, LOW);

digitalWrite(led5, LOW);

delay(1000); // delay 1 second between reads


}</p>

You might also like