Building and Creating an Indoor Plant-Care System

by noyaarav in Living > Life Hacks

69 Views, 1 Favorites, 0 Comments

Building and Creating an Indoor Plant-Care System

tempImageK4BoDG.jpg

Welcome to the Plant-Care System project! This comprehensive guide will walk you through creating an intelligent plant monitoring and care system. This project combines hardware and software to automate plant care, ensuring your plants receive the optimal conditions for growth.

By the end of this guide, you will have a fully functional plant-care system that can monitor environmental conditions, log data for analysis, and automate care tasks such as watering and lighting. Let's get started on this exciting journey to create a smarter way to care for your plants!

Here is a link to a video fully describing the system and its functionality: https://drive.google.com/file/d/1Olfpx7ve-IT3-vYND8_gT_AxlabPyn4j/view?usp=share_link

Supplies

  • ESP32 microcontroller
  • Soil moisture sensor
  • Water level sensor
  • LED strip (individually addressable)
  • Servo motor
  • Breadboard and jumper wires
  • Power supply

Install Blynk App

  • Download and install the Blynk app on your smartphone.
  • Create a Blynk account if you don’t have one.

Create a New Blynk Project

  • Open the Blynk app and create a new project.
  • Select ESP32 as the device and WiFi as the connection type.
  • Copy the Auth Token provided by Blynk and paste it into your Arduino code.

Add Widgets to the Dashboard and Configure Them

IMG_5833.png
  • Add a Gauge widget for soil moisture and link it to Virtual Pin V1.
  • Add a Gauge widget for water level and link it to Virtual Pin V4.
  • Add a Button widget for manual watering and link it to Virtual Pin V3.
  • Add a Button widget for manual LED control and link it to Virtual Pin V5.
  • Add a Button widget for mode selection (manual/automatic) and link it to Virtual Pin V2.

Create a Make.com Account

  • Go to Make.com and sign up for an account if you don’t have one.

Create a New Scenario:

  • From the dashboard, click on "Create a new scenario".

Add a Webhook Module

Screenshot 2024-07-31 at 19.38.45.png
  • Search for "Webhook" and select "Custom Webhook".
  • Click "Add" to create a new Webhook.
  • Name your webhook (e.g., "PlantMonitorDataWebhook") and copy the provided Webhook URL.

Configure the Webhook Module

  • Set the Webhook to capture all necessary fields.

Add a Telegram Bot Module

Screenshot 2024-07-31 at 19.39.39.png
Screenshot 2024-07-31 at 19.40.23.png
  • Search for "Telegram" and select the appropriate action (e.g., "Send a message").
  • Connect your Telegram account and configure the message content based on the incoming data.

Save and Test the Scenario

  • Run the scenario once to ensure it is set up correctly.
  • Verify that the data is correctly logged and notifications are sent as expected.

Writing the Code

46326109-6134-455f-91a5-01825ab40c91.jpg
  • Set Up the Development Environment:
  • Install Arduino IDE.
  • Install necessary libraries in Arduino IDE: Blynk, FastLED, ESP32Servo, and HTTPClient.


  • Write the Code:
  • Define WiFi credentials and Blynk credentials.
  • Set up pin definitions for soil moisture sensor, water level sensor, LED strip, and servo motor.
  • Implement functions to read sensor data, control the LED strip, and water the plant.
  • Implement Blynk virtual pin handlers for mode selection and manual control.
  • Ensure the code periodically reads sensor data, updates the Blynk dashboard, and performs actions based on sensor readings and mode.


Upload the Code

tempImagevMGSis.jpg
  • Connect the ESP32 to your computer via USB.
  • Select the correct board and port in Arduino IDE.
  • Upload the code to the ESP32.

Physically Building the System

Gather Components:

  • ESP32 microcontroller
  • Soil moisture sensor
  • Water level sensor
  • LED strip (individually addressable)
  • Servo motor
  • Breadboard and jumper wires
  • Power supply


Connect the Components

tempImageKuXEp2.jpg
tempImageOBKvTQ.jpg
tempImageOMpUx6.jpg
tempImagetm3I7a.jpg
tempImageVK2vZo.jpg
  • Soil Moisture Sensor:
  • Connect the VCC pin to the 3.3V pin on the ESP32.
  • Connect the GND pin to the GND pin on the ESP32.
  • Connect the signal pin to an analog pin (e.g., GPIO 35) on the ESP32.
  • Water Level Sensor:
  • Connect the VCC pin to the 3.3V pin on the ESP32.
  • Connect the GND pin to the GND pin on the ESP32.
  • Connect the signal pin to an analog pin (e.g., GPIO 34) on the ESP32.
  • LED Strip:
  • Connect the power and ground lines to the appropriate power supply (e.g., 5V and GND).
  • Connect the data line to a digital pin (e.g., GPIO 26) on the ESP32.
  • Servo Motor:
  • Connect the VCC pin to the 3V pin on the ESP32 (or an external 5V power source).
  • Connect the GND pin to the GND pin on the ESP32.
  • Connect the control signal pin to a PWM-capable pin (e.g., GPIO 33) on the ESP32.


Power Up the System

F7ZQVT8LZ9UY06H.jpg
  • Connect the ESP32 to a power source.
  • Ensure all sensors and components are properly powered.

Test the System

F0NUEUFLZ9UY04E.jpg
  • Verify that the ESP32 connects to WiFi and the Blynk app.
  • Check that sensor data is read correctly and displayed on the Blynk dashboard.
  • Test the manual control features and automatic mode functionality.

Summary

By following these steps, you will successfully build and create the plant-care system, complete with code implementation, Blynk dashboard, Make.com scenario for data logging and notifications, and physical assembly of the system with sensors and components. Enjoy!!