Moisture Control Unit - MCU

1,363

34

2

About: Work until you no longer have to introduce yourself.

Hey, Makers!

In this Instructables, you will see how to Interface Moisture sensor to your NodeMCU. And check the moisture value and the same to be displayed on the LCD.

We'll use Liquid Clear Crystal to display the moisture value. This 16x2 LCD is very popular and broadly used in electronics projects as they are good for displaying information like sensor data from your project, and also they are very cheap.

Step 1: All You Need

Here is the list of components required to get started with the Instructable,

Hardware Components

  • NodeMCU
  • Moisture sensor
  • 16x2 LCD
  • Breadboard
  • Jumper Wires
  • Micro USB Cable

Software Components

  • Arduino IDE (installed with esp8266)

Step 2: Description

This Moisture Sensor can be used for detecting the moisture of soil or judge if there is water around the sensor, let the plant in your garden able to reach out for human’s help when they are Dry.

This sensor is very easy to use, you can just simply insert in into the soil and read the data.

Step 3: #1 Circuit Conection

The wiring connections are made as follows:

Connect the two pins of the moisture sensor to the two pins on the Amplifier circuit using jumper wires.

Connect the Vcc from the Amplifier to the 3.3V pin on the NodeMCU.

Connect the GND pin to the ground (GND) pin on the NodeMCU.

Connect the Analog pin to the A0 pin on the NodeMCU.

Connect NodeMCU to PC via a USB cable.

After your completed with wiring connections, then insert the sensor into the soil or place it in anywhere you want

**In this Instructable I have used water for the Demonstration

Step 4: #2 Circuit Connection

Connecting LCD to I2C and then interfacing it to NodeMCU is very simple.

The LCD’s registers from D0 to D7 and Vcc, GND, RS, R/W pins will be connected to I2C.

GND pin of I2C is connected Ground pin (GND) of the NodeMCU.

VCC pin of I2C is connected Vin pin of the NodeMCU. (Because we need to supply 5v to LCD)

SDA pin of I2C is connected D4 of the NodeMCU.

SCL pin of I2C is connected D3 pin of the NodeMCU.

Before you get started with coding you need Arduino IDE.To download Arduino IDE and for NodeMCU setup, you can check my previous Instructable.

"Interfacing Servo Motor with NodeMCU"

Step 5: Overall Circuit

You need one paper cup with water to check if the circuit works.

Step 6: CODE

The first thing we need to do is to insert the Liquid Crystal Library.

To include Library file :
Sketch > Include Library > Manage Libraries > LiquidCrystal_I2C LCD

Download the "LCD_MCU_Moisture.ino" file and open it up in the Arduino IDE.

Then Create a new sketch and paste the code below in the Arduino IDE and hit Upload You can tinker with the code to make it more useful or just use it as it is.

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
int sense_Pin = 0; // Soil Sensor input at Analog PIN A0

int value= 0;

void setup() {

lcd.begin(16,2); lcd.init(); lcd.backlight();

}

void loop() {

lcd.setCursor(0, 0); lcd.print("MOISTURE : "); value= analogRead(sense_Pin); value= value/10; lcd.print(value); lcd.print("%"); if(value < 50) { lcd.setCursor(0, 1); lcd.print("The soil is WET"); } else { lcd.setCursor(0, 1); lcd.print("The soil is dry"); } delay(1000); }

Step 7: Preparing the Arduino IDE

After downloading the Arduino IDE navigate to

  1. File tab and then click on Preferences.
  2. In the additional Boards, Manager URLs add the following link (http://arduino.esp8266.com/stable/package_esp8266com_index.json)
  3. Click OK and then navigate to
  4. Tools - Boards - Boards Manager

In the search field type esp8266 > click the esp8266 by ESP8266 Community - Click Install Now you have setup the Arduino IDE to work along with the NodeMCU.

Step 8: Save * Compile * Upload

  1. Goto Tools
  2. Board > NodeMCU 1.0 (ESP - 12E Module)
  3. Port ( Choose the right Port )

**Make sure you have your NodeMCU model selected and the correct serial port ticked (see pics). Then just click the Upload button**

Ready To GO

Step 9: OUTPUT

That's all makers!

I hope you found this instructable most useful. You can contact me by leaving a comment. If you like this instructable probably you might like my next ones.

Thank You.

Share

    Recommendations

    • First Time Author

      First Time Author
    • PCB Contest

      PCB Contest
    • Make it Glow Contest 2018

      Make it Glow Contest 2018

    2 Discussions

    0
    None
    diy_bloke

    6 months ago

    Very good but the modulevis superfluous. You connect your Arduino to the analogue output of your module, but the analogue out is directly connected to the sensor itself, bijpassing the competitor on the module. The module is only necessary if you want to get a high low signal but in your car can also directly connect the sensor to an analogue pin of the arduino

    0
    None
    fred795

    1 year ago

    Very good