Adruino Project - The Holiday Plant-Saver

  • Travel plans for the holidays?
    Worried what will happen to your plants while you’re gone?
    This will slove your problems...
  • Design Proposal

    People like buy plants, but many people don’t have time to water the plant, especially when they go out for travelling. And people don’t know when the plant is  thirstily, when should water it.
    This product will solve these problems.

     
  • Objective

    Provides water based on your plant’s current moisture level
    Detects temperature and humidity levels
    Conveniently sized holder for desk plants
    Reservoir capable of watering even thirsty plants for up to two weeks.
    The project is based on Arduino.

     
  • Components

    Arduino Uno      X 1
    Soil Moisture Sensor     X 1
    Temperature Sensor      X 1
    5 V Relay                         X 1
    Pump                               X 1
    7/16 Inch pipe                 X 1
    10 K Potentiometer        X 1
    1602 LCD                         X 1
    Jump Wire                       X 10+
    2 L Bottle                         X 1
    Plant                                 X 1
    Blue Foam                       X 1
    Paperboard                     X 1

     
  •  
     
     
     
     
     
     
     
     
     
     
    Block Diagram
  • The Soil Moisture Senser will check the soil humidity every second. The number from senser is 0 - 1000, corresponding  moistly soil and dry soil. If put the senser in water, the number is about 0-100; if put the sener in comlete sand, the number will be about 900-1000. After testing, when the number is 500, it means the plant's soil is too dry to die.
    The LCD screen appear the current temperature and soil humidity. When the soil humidity number more than 500, the pump will work water plant for 5 second,  If the soil is not moisture enough, it will water again until humidity number less than 500.
  •  
     
     
     
     
     
     
     
     
     
    Arduino Connection
  • The Circuit
  • Post
  • Video
  • Code
     
    int pump_relay=13;
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(12,11,10,5,4,3,2);  
    void setup()
    {
     lcd.begin(16,2);
     lcd.print(“Initialising….”);
     pinMode(pump_relay,OUTPUT);
     Serial.begin(9600);
    }
    void loop()
    {
     {
    //getting the voltage reading from the temperature sensor
    int reading = analogRead(A1);  
    float voltage = reading * 5.0;
    voltage /= 1024.0; 
    float temperatureC = (voltage - 0.5) * 100 ;  
    Serial.print(temperatureC); Serial.println(“ degrees C”);
    float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
    Serial.print(temperatureF); Serial.println(“ degrees F”);
    delay(1000);                                   
    }
     int shidu= analogRead(A0);
     Serial.println(“ Soil Moisture”); Serial.println(shidu);
     delay(1);
     {
       if (shidu >500){
         digitalWrite(pump_relay,HIGH);
         delay(2000);
       }
       {
         if (shidu<=500){
           digitalWrite(pump_relay,LOW);
         }
       }
    }
    {
     lcd.clear();
     lcd.print(“Moisture:”);
     lcd.setCursor(10,0);
     lcd.print((float)analogRead(A0),1);
     lcd.setCursor(0,2); 
     lcd.print(“Temp:”);
     lcd.setCursor(5,2);
     lcd.print((float)analogRead(A1)*(5.0/1023.0*100),1);
     lcd.setCursor(9,2);
     lcd.print(“F”);
     lcd.setCursor(11,2);
     lcd.print(((float)analogRead(A1)*(5.0/1023.0*100)-32)/1.8,1);
     lcd.setCursor(15,2);
     lcd.print(“C”); 
    }
    delay(1000);
    }