How to Build a Plant Monitor With Arduino

Introduction: How to Build a Plant Monitor With Arduino

About: Arduino fan!

In this tutorial we will learn how to detect a soil moisture using a moisture sensor and flash a green LED if everything is ok and OLED Display and Visuino.

Watch the video.

Step 1: What You Will Need

Arduino UNO (or any other Arduino) Get it here

Soil moisture sensor module, Get it here

Jumper wires

Breadboard Get it here

OLED Display Get it here

1X Red LED, 1X Green LED Get them here

Visuino program: Download Visuino

Step 2: The Circuit

  • Connect OLED Display pin[VCC] to Arduino pin[5V]
  • Connect OLED Display pin[GND] to Arduino pin[GND]
  • Connect OLED Display pin[SDA] to Arduino pin[SDA]
  • Connect OLED Display pin[SCL] to Arduino pin[SCL]
  • Connect Arduino 5V to piezo buzzer module pin VCC
  • Connect Arduino GND to Green LED negative Pin
  • Connect Arduino GND to Red LED negative Pin
  • Connect Arduino Digital Pin 3 to Green LED negative Pin
  • Connect Arduino Digital Pin 2 to Red LED negative Pin
  • Connect Arduino 5V to moisture sensor module pin VCC
  • Connect Arduino GND to moisture sensor module pin GND
  • Connect Arduino analog pin 0 to moisture sensor module pin A0

Step 3: Start Visuino, and Select the Arduino UNO Board Type

To start programming the Arduino, you will need to have the Arduino IDE installed from here: https://www.arduino.cc/.

Please be aware that there are some critical bugs in Arduino IDE 1.6.6. Make sure that you install 1.6.7 or higher, otherwise this Instructable will not work! If you have not done follow the steps in this Instructable to setup the Arduino IDE to program Arduino UNO! The Visuino: https://www.visuino.eu also needs to be installed. Start Visuino as shown in the first picture Click on the "Tools" button on the Arduino component (Picture 1) in Visuino When the dialog appears, select "Arduino UNO" as shown on Picture 2

Step 4: In Visuino ADD and Set Components

Add "OLED Display" component

Add 2X "Compare Analog Value" component

  • Double click on the DisplayOLED1 and in the elements window drag Text Field to the left, then in the properties window set size to 3
    Close the elements window
  • Select CompareValue1 and in the properties window set "Compare Type" to ctBiggerOrEqual and Value to 0.7 <<this is the sensitivity value, you can change it if you want
  • Select CompareValue2 and in the properties window set "Compare Type" to ctSmaller and Value to 0.7 << this is the sensitivity value, you can change it if you want

Step 5: In Visuino Connect Components

  • Connect Arduino analog pin 0 to CompareValue1 pin In, CompareValue2 pin In, DisplayOLED1>Text Field1 Pin In
  • Connect CompareValue1 Pin Out to Arduino digital pin 2
  • Connect CompareValue2 Pin Out to Arduino digital pin 3
  • DisplayOLED1 pin I2C Out to Arduino board I2C pin In

Step 6: Generate, Compile, and Upload the Arduino Code

In Visuino, at the bottom click on the "Build" Tab, make sure the correct port is selected, then click on the "Compile/Build and Upload" button.

Step 7: Play

If you power the Arduino UNO module, and the LED should flash (red not enough water,green enough water) and the OLED Display will show the moisture level
Congratulations! You have completed your project with Visuino. Also attached is the Visuino project, that I created for this Instructable, you can download it here and open it in Visuino: https://www.visuino.eu

Be the First to Share

    Recommendations

    • First Time Author Contest

      First Time Author Contest
    • Maps Challenge

      Maps Challenge
    • Metal Contest

      Metal Contest

    3 Comments

    0
    diy_bloke
    diy_bloke

    1 year ago

    Well done but allow me some comment on the soilmoisture tester: it will decay very fast due to electrolyses.
    Also when you use the Analog out of that module, the entire module becomes unnecessary. The analog out connects directly to the sensor so it is simpler to connect the sensor directly to an analog input of the arduino.
    To prevent electrolysis you may want to use a fet or transistor to switch on the power to that sensor only briefly

    0
    RonFrtek
    RonFrtek

    Reply 8 months ago

    You are right about that! Thank you for the comment.

    0
    RonFrtek
    RonFrtek

    Reply 1 year ago

    You are right about that! I will test the inductive sensor in the following days.
    Thank you for commenting