Advance Solar Tracking and Automatic Sprinkler Irrigation Science Project

by ROBO HUB in Circuits > Arduino

3846 Views, 6 Favorites, 0 Comments

Advance Solar Tracking and Automatic Sprinkler Irrigation Science Project

8j_gQ1LZAVM-HD.jpg

Hi readers, good to see you here! In this article we will see how to make this amazing advance solar tracking and automatic sprinkler irrigation project.

If you are willing to look for some ideas for your upcoming science projects this is one of the best idea which you can try.

Now we will see how to build this and the how actually does this works, I will split this into 2 steps.

First is how advance solar tracking works and second is how automatic sprinkler works.

Working of advance solar tracker

In our project we are using light dependent resistor or in short LDR.

LDR can sense the light by detecting the photons, these are used in our project to guide a servo motor that moves the solar panel.

By these principle, our solar panel will be directed towards the movement of the sunlight.

Why solar tracker is necessary?

In short the answer is to increase the efficiency or in other words effective utilization of solar power, in other way if the solar panels are constant there will be incomplete usage of sun energy.

This is because as we know the earth rotates around the sun hence the intensity of sunlight hitting the solar panel varies from time to time.

LDR gives a solution to all these problems as these constantly receive photons from sunlight and guide the servos, we have made a mechanism in such a way that solar panels rotate to some degree in Realtime!

How Automatic Sprinkler Works?

There are lots of way to perform sprinkler irrigation method, but our main focus is minimizing number of complex parts for the purpose.

So, we have made 3d printed sprinkler that sprinkles water 360 degrees, and it is very easy to assemble.

This will receive water from small dc water pump that will be immersed in the water source, more about this in the upcoming steps.


Thank You NextPCB:


This project is successfully completed because of the help and support from NextPCB. NextPCB is one of the most experienced PCB manufacturers in Global, has specialized in the PCB and assembly industry for over 15 years. Not only could NextPCB provide the most innovative printed circuit boards and assembly technologies in the highest quality standards, the fastest delivery turnaround as fast as 24 hours.


Guys if you have a PCB project, please visit their website and get exciting discounts and coupons.


Only 0$ for 5-10pcs PCB Prototypes:Nextpcb.com/pcbprototype


4-layer PCB price reduction up to 40%: Nextpcb.com/4-layer-pcb


Register and get $100 from NextPCB: Nextpcb.com/coupon


CLICK HERE to know more

Supplies

vlcsnap-error964.png

Materials required to build this project

From the visual we can see list of all materials used to build this project

·      Solar panels 5v, 100Ma

·      Dc water pump and small hose

·      Arduino Nano

·      Programming cable

·      Micro servo

·      OTG if your uploading program through phone

·      LDR sensor x 3

·      Wires, Empty PCB

·      Lithium ion battery

·      Switch

·      Tip32C

·      Cutting mat and empty plastic container

·      Water bottle with water for testing

·      Your favorite plants!

·      3D printed parts for solar tracking movement

Build Tracking Part for Tracker

vlcsnap-error744.png
vlcsnap-error611.png
vlcsnap-error870.png

We will begin with attaching solar panels to the 3d printed frames.

Please note that you need to take of proper size of solar panel so that it matches size of my 3d printed frame.

If you have different size solar panle, you can alter the frame, but I recommend to use my size, you can find links to all to components in the video description.


If your solar panels does not comes with pre-soldered wires, solder them first and start to assemble.

The above image shows assembly process of solar panel with 3d printed part.

Now you can add hinges that will be attached to horns of micro servo.

Before adding servo horns link attachment just manually pull the solar tracker mechanism to check if it works.

Use a drop of superglue to keep the micro servo in place.

The process is very easy and you can do this without any issues.



 

Adding LDR to the 3d Printed Part

vlcsnap-error054.png
vlcsnap-error925.png
vlcsnap-error141.png
vlcsnap-error441.png

The process is very easy and you can do this without any issues.

Now we will add LDR to the 3d printed part

Below image the process of adding LDR to the slots provided on a 3d printed part


After this is done we can solder the wires on a LDR, you can refer the circuit diagram for this project from above.

Solder wires to legs of LDR, we are using multiple LDR to increase the sensitivity of sensor, so even for normal light conditions these work too.

Add this to the system as shown in the image above.

Use hot glue to couple this up with the side part of the solar panel.

Other end of wires from LDR will be connect to female type pins.

So that we will not have any loose connections since it is a moving part.

This is done to simplify the wiring system in our project as I have made a PCB for this circuit.

Now connect these pin directly to the circuit we made.

You can find more details of this circuit on the description of video.

 

Arduino Code for Advance Solar Tracking and Irrigation

vlcsnap-error948.png

Circuit for this project Full Project details- https://www.techboystoys.com/

After these we can add Arduino to our main PCB board.

You can use Arduino IDE on you computer or laptop to upload Arduino codes for the board.

Just upload this code to Arduino.


#include <Servo.h>


Servo horizontal; // horizontal servo

int servoh = 180;

int servohLimitHigh = 120;

int servohLimitLow = 5;

// 65 degrees MAX


Servo vertical; // vertical servo

int servov = 0;

int servovLimitHigh = 120;

int servovLimitLow = 5;


// LDR pin connections

// name = analogpin;

int ldrlt = A1; //LDR top left - BOTTOM LEFT <--- BDG

int ldrrt = A2; //LDR top rigt - BOTTOM RIGHT

int ldrld = A5; //LDR down left - TOP LEFT

int ldrrd = A3; //ldr down rigt - TOP RIGHT

int ldrmt = A4;



const int motorA = 7;




int pos = 0;

int pos2 = 0;

int oldvalue;

int oldvalue2;



void setup(){

horizontal.write(120);

horizontal.attach(6);

vertical.write(120);

vertical.attach(5);

pinMode(motorA, OUTPUT);


delay(2500);

}

void loop() {

int ldrStatus = digitalRead(ldrmt);

if (ldrStatus == HIGH) {

{digitalWrite(motorA, HIGH);

}}else{digitalWrite(motorA, LOW);


}


int lt = analogRead(ldrlt); // top left

int rt = analogRead(ldrrt); // top right

int ld = analogRead(ldrld); // down left

int rd = analogRead(ldrrd); // down right

int dtime = 10; int tol = 90; // dtime=diffirence time, tol=toleransi

int avt = (lt + rt) / 2; // average value top

int avd = (ld + rd) / 2; // average value down

int avl = (lt + ld) / 2; // average value left

int avr = (rt + rd) / 2; // average value right

int dvert = avt - avd; // check the diffirence of up and down

int dhoriz = avl - avr;// check the diffirence og left and rigt



if (-1*tol > dvert || dvert > tol)

{

if (avt > avd)

{

servov = ++servov;

if (servov > servovLimitHigh)

{servov = servovLimitHigh;}

}

else if (avt < avd)

{servov= --servov;

if (servov < servovLimitLow)

{ servov = servovLimitLow;}

}

vertical.write(servov);

}

if (-1*tol > dhoriz || dhoriz > tol) // check if the diffirence is in the tolerance else change horizontal angle

{

if (avl > avr)

{

servoh = --servoh;

if (servoh < servohLimitLow)

{

servoh = servohLimitLow;

}

}

else if (avl < avr)

{

servoh = ++servoh;

if (servoh > servohLimitHigh)

{

servoh = servohLimitHigh;

}

}

else if (avl = avr)

{

delay(10);

}

horizontal.write(servoh);

delay(dtime);

}

else{

oldvalue = horizontal.read();

oldvalue2 = vertical.read();


for (pos = oldvalue; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees

// in steps of 1 degree

horizontal.write(pos);

delay(15);

}

for (pos2 = oldvalue2; pos2 <= 0; pos2 += 1) { // goes from 0 degrees to 180 degrees

// in steps of 1 degree


vertical.write(pos2); // tell servo to go to position in variable 'pos'

delay(15);}


}}


If you are doing it through your phone all you need is an OTG cable.

You can use this code to upload in Your IDE.

After you upload the code to board add lithium ion battery pack with switch control to the main circuit.

Finishing Circuit

vlcsnap-error784.png

Now our project is almost ready. We will add plants and water flowing mechanism.

To do this we need to setup 3d printed sprinkler first.

Building Irrigation Components

vlcsnap-error846.png
vlcsnap-error848.png
vlcsnap-error041.png
vlcsnap-error714.png
vlcsnap-error834.png
vlcsnap-error621.png

To the hose connector part now you can add hose.

After you add those you can just check for its sealing/ waterproofing.

Just blow the air, now if everything is right the sprinkler head will start to rotate.

Now we can add this to our main base part/Base BOX where plants will be added.

Start by making a hole on corner of box cap/lid.

You ca use drill or hot end of soldering rod to make a hole.

Make sure not to use bigger size hole for this as we may have leakage later.

Add soil to the base and add some mini plants so that it looks like a garden.

Check these steps that helps you understand even more better.

You can refer below image for the steps, the size of bottle has to be bigger than size of water pump.

Better to use sealed bottle to avoid leakage.

Now we can connect hose to the other end of dc water pump.

Other end of water pump will be inserted inside water bottle.

Now our setup is ready, just switch on power supply and test your project.

Use your smartphone light to check movements from solar tracker.


Video of Advance Solar Tracking and Automatic Sprinkler Irrigation Science Project

Advance Solar Tracking and Automatic Sprinkler Irrigation Science Project

Now our project is ready to use, you can use this setup to water plants automatically on your garden.

I hope you liked this idea, if you have any questions you can comment us.