Automatic Plant Watering System

December 2024


In this project, I was tasked with creating a Automatic Plant Watering System (APWS) using Arduino hardware and Java. My goal was to use the Grove Board provided in the EECS 1011/1021 kit to communicate with the sensors, which included a moisture sensor for determining soil moisture levels, an LED which turns on when the pump runs, an OLED screen for displaying the soil moisture, and a stop button that shuts the program off if pressed.

Profile Picture
A prototype example of the APWS

Features

  • Uses an arduino kit and external moisture sensor to detect plant moisture levels
  • Automatically decides if the plant needs water based on detected moisture levels
  • Displays live moisture data on a graph on the computer monitor
  • Uses a water pump and water reservoir to adjust plant moisture levels accordingly
  • Also makes uses of external OLED display to display real-time moisture levels

Code

Download
Loading code...

Requirements

Hardware

  • Grove Beginner Kit For Arduino (see here) - This will be how the robot is controlled
  • Moisture sensor - This will give the robot moisture information
  • OLED display - This will display the moisture levels
  • Water pump - This will be used to water the plant
  • Water reservoir - This will hold the water for the pump
  • Jumper wires - These will connect everything
  • USB cable - This will be used to connect the Arduino to a computer for programming
  • Laptop - This will be used for programming the Arduino

Software

  • Any Java Compiler - This will be used to write and upload code to the Arduino
  • Maven Libraries (JSSC, Firmata4j, SLF4J)