Moisture sensor with arduino and LCD display in proteus simulation

Moisture sensor with arduino and LCD display in proteus simulation

In this article we will learn how to interface arduino with moisture sensor and LCD display in proteus simulation.
In the last post we will learn how to interface arduino with LEDs through IR remote control in proteus simulation. You can visit our website,
I hope you appreciate my work, let’s discuss about today’s project.

What is soil moisture sensor?

Soil moisture sensors measure the volumetric water content in soil. Since the direct gravimetric measurement of free soil moisture requires removing, drying, and weighing of a sample, soil moisture sensors measure the volumetric water content indirectly by using some other property of the soil, such as electrical resistance, dielectric constant, or interaction with neutrons, as a proxy for the moisture content.

Components which we use in this project are listed below:

  1. Moisture sensor module
  2. Arduino nano
  3. Inductor 270mH
  4. Capacitor 100uF
  5. Resistor variable 1K
  6. LCD display

Diagram of this project is below:

Moisture sensor with arduino and LCD display in proteus simulation
Moisture sensor with arduino and LCD display in proteus simulation

Construction of Moisture sensor with arduino and LCD display in proteus simulation:

  • Connect the VCC point of moisture sensor with 5V of arduino nano
  • Connect the GND point of moisture sensor with the GND
  • Connect A0 pin of moisture sensor with the one side of inductor
  • Connect the other side of inductor with the +ve side of capacitor
  • Connect the –ve side of capacitor with the GND
  • Connect the junction of inductor and capacitor with the A5 pin of arduino
  • Connect the test pin of soil moisture sensor with the out pin of resistor variable
  • Connect the +ve point of variable with the +ve point
  • Connect the –ve point of variable with the GND
  • Connect the one side of RV2 with +ve point
  • Connect the other side of RV2 with the GND
  • Connect the VDD point of LCD with the +ve point of RV2
  • Connect the VEE point of LCD with the out pin of RV2
  • Connect the VSS & RW point of LCD with the –ve side of RV2
  • Connect the RS point of LCD with the D7 point of arduino
  • Connect the E point of LCD with the D6 point of arduino
  • Connect the D5 point of arduino with the D4 point of LCD
  • Connect the D4 point of arduino with the D5 point of LCD
  • Connect the D3 point of arduino with the D6 point of LCD
  • Connect the D2 point of arduino with the D7 point of LCD

Working of Moisture sensor with arduino and LCD display in proteus simulation:

A moisture sensor, when combined with an Arduino and an LCD display, can be used to create a simple project that measures and displays the moisture level of soil or any other material you want to monitor. This type of project is commonly used in gardening and agriculture to ensure that plants receive the appropriate amount of water.

Applications of Moisture sensor with arduino and LCD display in proteus simulation:

  1. Gardening and Agriculture
  2. Indoor Plant Care
  3. Environmental Monitoring
  4. Greenhouse Control
  5. Smart Irrigation Systems

Advantages of Moisture sensor with arduino and LCD display in proteus simulation:

  1. Real-Time Monitoring
  2. Automation
  3. Conservation of Resources
  4. Data Logging
  5. Customization

Program code of this project is below:

#include <LiquidCrystal.h>

 

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(7, 6, 5, 4,3, 2);

 

int SensorPin = A5;

 

void setup() {

// set up the LCD’s number of columns and rows:

lcd.begin(20, 4);

// Print a message to the LCD.

lcd.setCursor(1,0);

lcd.print(“www.Projectiot123.com”);

lcd.setCursor(1,1);

lcd.print(“soil moistur level”);

lcd.setCursor(0,2);

lcd.print(“Analog Value: “);

lcd.setCursor(0,3);

lcd.print(“Voltage: “);

 

}

 

void loop() {

 

int SensorValue = analogRead(SensorPin);

float SensorVolts = analogRead(SensorPin)*0.0048828125;

 

lcd.setCursor(14, 2);

lcd.print(SensorValue);

lcd.setCursor(9, 3);

lcd.print(SensorVolts);

lcd.print(” V”);

delay(1000);

 

//  sensorValue = analogRead(sensorPin);

//  lcd.setCursor(4,2);

//  lcd.print(sensorValue);

//  delay(1000);

 

}