# Learn Embedded Programming [Step by Step]

## Soil Moisture Meter Project Using Microcontroller

 Microcontroller Based Soil Moisture Meter

## Grove - Moisture Sensor :

Basically grove moisture sensor is used to measuring the moisture of the soil. It also can be used as water sensor. We can water  plants according to its humidity by using the sensor .  Look at the sensor pictures and its pin out.

 Soil Moisture Meter Project Using Microcontroller

## Basic Concepts:

The Moisture sensor will be connected with a pic microcntroller and a LCD display will also be connected with microcontroller . Moisture sensor will provide voltage into microcontroller's RA1 pin(ADC) according to the humidity of soil . It will provide reading from (0-721). After calculating the percentage and soil condition , the microcontroller sends out that data to the LCD Display . That's the basic concept .

## ADC(Analog to Digital Converter ) :

We need a basic knowledge about ADC . Let's  take a look at here :

Basically ADC is like as voltage divider . According to voltage It produce output
bit 5 : VCFG0: Voltage Reference Configuration bit (VREF- source)
1 = VREF- (AN2)
0 = VSS or 0 volt

bit 4 :VCFG0: Voltage Reference Configuration bit (VREF+ source)
1 = VREF+ (AN3)
0 = VDD or 5volt

We will set  VCFG0[bit 5]=0and VCFG0[bit4]=0 . So we will get highest value 5volt[1023] and lowest value 0volt[0].The ADCON1 is a 10 bit register that means  2 to the power 10  is it's highest counting capacity and result is 1024 . So this register can count from 0 to 1023 . When 0 volt , we get reading at RA1 pin  0 .When 5 volt , we get reading at RA1 pin 1023. It means 5volt equivalent to 1023 .

As we know in water the sensor provide 722 data and  absolutely it should be 100% .
So     ""        1     ""      (100/744) %

## MikroC Source Code :

``````

sbit LCD_RS at LATB7_bit;
sbit LCD_EN at LATB6_bit;
sbit LCD_D4 at LATB5_bit;
sbit LCD_D5 at LATB4_bit;
sbit LCD_D6 at LATB3_bit;
sbit LCD_D7 at LATB2_bit;
sbit LCD_RS_Direction at TRISB7_bit;
sbit LCD_EN_Direction at TRISB6_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB2_bit;
// End LCD module connections
double source=0;
int view=0;
char txt[6];
void main() {
ADCON1=0x0D;         // Configure RE1 pin as input
CMCON=7;
TRISC.F4=0;
Lcd_Init();            // Initialize LCD
Lcd_Cmd(_LCD_CLEAR);        // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF);     // Cursor off

while(1){
source=100*source;
source=source/744;
inttostr(source,txt);
if(source>96){
source=100;
}
if(source>83){
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,3, "Water!!");
Lcd_Out(2,1, "Hum:");
Lcd_Out(2,5,txt);
Lcd_Chr(2,11,0x25);
Lcd_Chr(2,12,' ');
Lcd_Chr(2,13,' ');
Lcd_Chr(2,14,' ');
Lcd_Chr(2,15,' ');
Lcd_Chr(2,16,' ');
delay_ms(1000);
}
else if(source>40&&source<=83){
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,3, "Humid Soil");
Lcd_Out(2,1, "Hum:");
Lcd_Out(2,5,txt);
Lcd_Chr(2,11,0x25);
Lcd_Chr(2,12,' ');
Lcd_Chr(2,13,' ');
Lcd_Chr(2,14,' ');
Lcd_Chr(2,15,' ');
Lcd_Chr(2,16,' ');
PORTC.f4=0; //motor off
delay_ms(1000);
} else{
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,3, "Dry Soil");
Lcd_Out(2,1, "Hum:");
Lcd_Out(2,5,txt);
Lcd_Chr(2,11,0x25);
Lcd_Chr(2,12,' ');
Lcd_Chr(2,13,' ');
Lcd_Chr(2,14,' ');
Lcd_Chr(2,15,' ');
Lcd_Chr(2,16,' ');
PORTC.f4=1;  // motor on
delay_ms(1000);
PORTC.f4=1;
}
}
}

``````

## Circuit :

 Microcontroller Based Soil Moisture Meter circuit

## Result:

 Soil Moisture Meter Project Using Microcontroller

## Thank You!

1. i woul like to know the model no of sensor to implemntit into proteus

1. It's a groove soil moisture sensor. As far as I concern It's not available in proteus. It's just a sensor gives you voltage in a range of 0 to 5 volt.

2. please if you Can give me The reference of Soil Humidity sensor

1. You may search online. It's a groove soil moisture sensor.

3. link not working, can you fix this?

1. Link had been updated. Sorry for late replay. I couldn't have replied since it was a problem with my template. Thank you.

4. i use MPlab for coding this but it dont have inttostr fuction? what can i replace it with? or

1. Try to reach guys using MPLab. I guess there might have been an alternative. Thank you.

5. If i wanted to use the PIC16F877A microcontroller as a replacement what changes would you advice especially on the code? thanks in advance

1. If you pins as same as mine. it should work.

6. Hey there, You have done a fantastic job. I will certainly digg it and personally suggest to my friends. I’m confident they’ll be benefited from this website.
C Programming Courses in Chennai

1. Thank you so much for encouraging me!

7. CAN I HAVE THIS PROJECT WITH PIC16F877A

8. can i have this project in pic16f877a

1. Absolutely. You can.

9. can i get the schematics for the project soil moisture meter using pic18

1. I have given proteus circuit and some instructions. It might have worked.

10. Very Informative,Thanks for sharing
Environmental Consultant Oakland

11. what sthe differece between pic16f877a and pic
18f2550

1. difference?

2. This is just two microcontrollers from the same vendor.

3. i did the same experience with pic18f2550..but i dodnt see any think at lcd..whers the probleme?

4. It's supposed to work. It worked fine when I tried in real life.

12. Hello There. I found your blog using msn. This is an extremely well written article. I will be sure to bookmark it and return to read more of your useful information. Thanks for the post. I’ll certainly comeback. בדיקת חומציות

13. Goodness, this is truly intriguing perusing. I am happy I discovered this and got the chance to peruse it. Awesome employment on this substance. I like it.
Online Web Hosting Services

14. Really I enjoy your site with effective and useful information. It is included very nice post with a lot of our resources.thanks for share. i enjoy this post. soil thermal conductivity testing

16. I was more than happy to uncover this great site. I need to thank you for your time due to this fantastic read!!
I definitely enjoyed every bit of it and I have you bookmarked to see new information on your blog.
WordPress Chat Plugin

17. Your blog is very useful for those who are searching for this kind of information, this information is a solution for those who are confused about it. Thanks for sharing this blog with us.test & tag adelaide

18. Cold cache: OK so Cloudinary was 5x faster than CloudFront….because Cloudinary doesn’t really have a cold cache? Because there is no expiration on the files (unless you get Cloudinary’s premium tier).

Hot cache: I guess this is the metric that really kolkata ff matters, since it’s the most common case that a CDN is going to contain the file. And boy did Cloudinary impress. By compressing the file from ~700 KB down to 36 KB, Cloudinary beat CloudFront by 3x.

19. LottoAgent has been around since 2012. The company obtained a license from the Government of Curacao. The website employs a Comodo SSL certificate to maximize user safety. It also complies with security standards related to transactions and credit card payments.LottoAgent has been around since 2012. The company obtained a license from the Government of Curacao. The website employs a kolkata ff Comodo SSL certificate to maximize user safety. It also complies with security standards related to transactions and credit card payments.

20. Amazing, what are creative technology. Technology has really changed the world, the data seems to be very interesting. I ill share this with my engineering friends and I am sure they will thank me later. I was actually looking for cheap windows vps hosting, kindly help to find that.

21. Moisture sensor will be connected with a pic microcntroller Buy Custom Essays and a LCD display will also be connected with microcontroller .

Ain't getting any visitors!

## Tags

: (1) 18F2550 (1) 36KHz (3) and (1) arduino (1) Based (1) battery (1) Bipolar (1) Blinking (1) blinks (1) Bluetooth (1) button (1) circuit (1) clock (1) control (1) Db9 (1) DC Motor (2) digital (2) display (2) DS1307 (1) electronic (1) flash (1) flashing (1) HC-06 (1) home (1) how (1) How to (10) i2c tutorial (1) in (1) indicator (1) interface (8) interfacing (3) Interrupt (3) Introduction (1) IR Receiver (4) key pad (1) keyboard (1) keypad (1) lavel (1) Lcd 16x2 (2) lcd 2x16 (2) led (1) lm35 (2) LPG (1) machine (1) make (1) making (1) matrix (1) max232 (1) meter (2) microchip (4) microchips (3) mikroC (5) musical (1) NEC Protocol (4) pcb (5) PIC (3) pic controller (11) pic proteus (1) Pic Tutorial (12) pic18 (2) pic18f2550 (11) picRFモジュール (1) proteus (6) push (1) push button (1) PWM (1) real (1) Rs 232 (1) Rs232 (1) scroll (1) scrolling (1) Serial Port (1) simulation (2) step by step (7) step bystep (1) text (2) time (1) timer (4) timer0 (4) tone (1) tutorial (2) Unipolar (1) USB (1) usb 1.0 (1) USB HID (1) using (9) voltmeter (1) voting (1) with (2) work (1)

## Traffic Feed

Live Traffic Feed
Visitor Tracking