Interactive Plant Mood Detector

by PJ2000 in Circuits > Arduino

5324 Views, 25 Favorites, 0 Comments

Interactive Plant Mood Detector

FullSizeRender.jpg
IMG_3576.JPG

The Plant mood detector is an interactive robot, that communicates between a plants and we humans, telling the mood of the plant! We often tend to over-water or under-water our plants, making the plant sad . So, how do we know whether a plant is happy or not? Solving this problem, I present 'THE INTERACTIVE PLANT MOOD DETECTOR', providing everybody with a green thumb, whether a professional gardner or just a novice.

The interactive plant mood detector display the mood of the plant on it's LED display in the form of emojis, making it simple and interesting for children or a novice to water his/her plants. It gathers sensor value from the precise soil moisture sensor and converts these signals into emotions such as - Happy, Irritated, Grumpy, or Sad.

This device is equipped with a soil moisture sensor which detects and differentiates soil moisture conditions and the micro controller used is Arduino Uno and is powered using a 9V battery. The LED display is a custom display made of eight independent LED's meant to display the different emotions.It was a short project and took a few days calibrate and completing it.

Hope you like it

NOTE- The video will we upload as soon as possible.

Materials and Parts

All the material and parts required for the project are listed below along with their respective links.

Electronic components

1) Soil moisture sensor x1

http://www.amazon.in/Soil-Moisture-Sensor-Module-K...

2) LED's x8

http://www.amazon.in/Light-Emitting-Diode-Round-Pi...

3) Arduino UNO x1

http://www.amazon.in/Arduino-Uno-USB-Cable-Rees52-...

4) Jumper wires x20

http://www.amazon.in/Jumper-Wire-male-female-Pcs/d...

5) Resistor - 1k ohms or 1000 ohms x1

TOOLS

1) Soldering iron

2) Wire stripper

3) Cutter

SOFTWARE

1) Arduino IDE

MISC.

1) Perforated board

2) Solder wire

3) MDF board

4) Double sided tape

TEST #1 Sensor Values

IMG_3471.JPG
IMG_3469.JPG
very dry.png

This experiment/test was conducted to find out accurate values given by the sensor in different soil conditions (very dry, normal, and wet) for different plants. To test the different values, I prepared four samples of soils (as shown in the picture), each of them having different moisture content as per required by my plant. The first sample,labelled as 'very dry' , was dry soil which wasn't water for the past 2 weeks. The second sample had very little water and the third had the right amount of water for my plant ( this system is calibrated according to my Jade plant ), whereas the fourth sample was flooded with water.

PROCEDURE TO TEST THE SENSOR-

1) Upload the example analoginOut Serial from the Arduino IDE to your Arduino board.

Files > Examples > Analog > AnaloginOut Serial

2) connect the sensor to the Arduino following the instructions-

Sensor - Arduino

Ac - A0

Vcc - 5v

GND - GND

3) Open the serial monitor and note the values in different samples

MY OBSERVATION
S.no SAMPLE MINIMUM MAXIMUM VALUES USED

1) Wet 157 212 0 < value < 250

2) Normal 338 463 350 < value < 500

3) Dry 631 720 500 < value < 800

4) Very Dry 956 1008 800 < value

TEST #2 Sensor Values With LED Panel (emotions)

IMG_3476.JPG
IMG_3475.JPG
IMG_3477.JPG
IMG_3478.JPG

This test was conducted to test whether the sensor values were correctly calibrated with the different emotions in the LED panel. The sensor values are calibrated in such a way that in 'normal' conditions display a happy face with a smile, in 'dry' conditions an irritated face, in a 'very dry' situation a sad face and a grumpy face in a flooded state.

When sensor values are between 0 and 250 ---- grumpy face

When sensor values are between 350 and 500 ---- happy face with a smile

When sensor values are between 500 and 800 ---- irritated face

When sensor values are greater than 800 ---- sad face

Calibration

Since each plant has different requirement of water, each plant has to be calibrated differently. The samples prepared by me to test the sensor values, were according to the requirements of my Jade plant (Crassula ovata). Jade plant, as compared to other plants, require less moisture hence the code is calibrated accordingly. To calibrate the program, perform the experiment no.1 . Then take about 25 values from the serial monitor and calculate the mean by dividing the sum of the readings by no. of readings -

sum of all readings / no. of readings.

This mean will give an idea of the range required for the specific conditions. Next upload the code with the approximate ranges, and test again with the samples. If the results are satisfactory, that is , if you think that the water content in the soil ( as per your knowledge) is matching the condition/emotion given by the module, then proceed to the next step. If not, then try adjusting the sensor values about the mean value, in reference to the amount of water in the soil.

LED Display

IMG_3487.JPG
IMG_3484.JPG
IMG_3486.JPG
IMG_3483.JPG
IMG_3485.JPG
FullSizeRender.jpg
IMG_3489.JPG

For the this project I required a display of not more than eight LED's, so I decided to build it, except for buying one. On a piece of PCB of the suitable size, place all the eight LED's in 4x2 format ( 2 rows and 4 columns ), with the positive terminal facing outside. Cut all the negative terminals to 3 mm in length and bend inwards. Solder all the bent points together in a single line, thereby making the ground common for all LED's. For the positive terminal, you could either use separate header pins for each LED or just solder from the base. I have soldered from the base and directly connected it to the jumper wires.

Connections

IMG_3496.JPG
IMG_9623.JPG
IMG_9625.JPG

The following connections are to be made in order to make this project work-

LED'S - ARDUINO

LED1 - PIN2

LED2 - PIN3

LED3 - PIN4

LED4 - PIN5

LED5 - PIN6

LED6 - PIN7

LED7 - PIN8

LED8 - PIN9

GND(all) > Resistor (1000 ohms) > GND arduino

SENSOR CONTROL MODULE - ARDUINO

Vcc - 5v

GND - GND

AC - A0

SENSOR CONTROL MODULE - SENSOR INPUT

positive(+) - positive(+)

negative(-) - negative(-)

Getting the Mount Ready

IMG_3494.JPG
IMG_3493.JPG
IMG_9621.JPG
IMG_9620.JPG

To make the mount, I have used MDF board of 2mm thickness. The mount can be customised as per liking or convenience. I tried making two different types of mounts, the first one horizontal, with the LED's hidden under paper. This method did not give me the desired outcome because of -

1. Space management of components was not proper ( my arduino was floating in air ).

2. The lights from the LED's were blurred by the paper, making the emotion unclear.

So, I decided to change the orientation of the mount. I made it vertical with eight holes of the LED display. The dimensions of the board are 12.2x8 cm. To make the splash proof case I used a plastic chocolate box. It has been cut from the bottom for the sensor to pass.

For a better look and presentation, I covered the mdd board with a thick paper, and decorated it with two eyes made from used medicine wrappers caps:-

https://www.instructables.com/id/DIY-Recycled-Goog...

Uploading the Code

The code is attached below in the file. The code is explained where ever required and is pretty self explanatory and easy to interpret.

Before uploading make sure the correct COM port and board are selected and your Arduino is in sync with the IDE to avoid any error

Other Possibilities....

DIY and Open source is all about imagination. Since Imagination can be endless, the improvements are also endless. This robot can be equipped with a DHT 11 or 12( Temperature and Humidity sensor) along with the soil moisture sensor or a sensor to detect the Ph value of the soil can be interfaced. A sensor to detect different nutrients in soil and gases in the surrounding atmosphere can be added as well. Even a LDR can be added to measure the light intensity