Professional Documents
Culture Documents
Group1 T4B SolarTrackerWithPlantWateringSystem
Group1 T4B SolarTrackerWithPlantWateringSystem
Group1 T4B SolarTrackerWithPlantWateringSystem
IN PARTIAL FULFILLMENT
OF THE FINAL REQUIREMENTS FOR THE COURSE
MICROCONTROLLER SYSTEMS (MICROSY)
01 JUNE 2018
ii
TABLE OF CONTENTS
Page
TITLE PAGE i
TABLE OF CONTENTS ii
LIST OF FIGURES iii
LIST OF TABLES iii
CHAPTER 1
Introduction 1
Objectives of the Study 6
Scope and Limitations 6
CHAPTER 2
Wiring Diagram 7
Schematic Diagram 8
Flowchart 9
Algorithm 10
CHAPTER 3
Hardware and Software Requirements 11
Block Diagram 16
CHAPTER 4 17
Conclusion 18
Recommendations 18
The Prototype 19
BILL OF MATERIALS 19
APPENDIX A: Arduino IDE Codes 21
APPENDIX B: Data Sheets 26
iii
LIST OF FIGURES
Figure
Title Page
No.
1 Wiring Diagram of the System 7
2 Block Diagram of the System 8
3 Flowchart Diagram of the System 9
4 Arduino IDE Software 16
5 Block Diagram of the System 17
LIST OF TABLES
Table
Title Page
No.
1 List of Hardware Components Used 11
2 Bill of Materials 20
Page |1
CHAPTER 1
Introduction
Renewable energy solutions are becoming popular since Fossil fuels are
non-renewable, that is, they draw on finite resources that will eventually dwindle,
becoming too expensive or too environmentally damaging to retrieve. In contrast,
the many types of renewable energy resources-such as wind and solar energy-are
constantly replenished and will never run out.
available in the night, and in some days, clouds and rains and other natural
conditions prevent the sun's powerful rays from reaching us. This means that it is
not always available. This is a why we cannot rely on solar energy alone.
Solar cells are devices that convert light energy directly into electrical
energy. In these cells, there are semiconductors (silicon alloys and other
materials). You may have seen small solar cells on calculators or some mobile
phones. Larger arrays of solar cells are used to power road signs, and even larger
arrays are used to power satellites in orbit around Earth. Solar cells are also
called photovoltaic cells or PV devices.
Solar panels are different to solar cells. Solar panels do not generate
electricity directly. Instead they heat up water directly. A pump pushes cold water
from a storage tank through pipes in the solar panel. The water is heated by heat
energy from the Sun and returns to the tank. They are often located on the roofs
of buildings where they can receive the most sunlight.”
Expensive Storage: The energy harnessed from the sun needs to be stored
in the batteries to make it available for use later at home or office. The cost
of these batteries may influence a buyer’s decision to go for solar power.
There are a number of things that solar power is used for, and as the technology
continues to move forward, even more of those things will come to light and it will
become a lot easier for us to snatch the power from the sun and use it to power
everything that we have. It is really smart and innovative to go out and invest in
these technologies as they continue to move forward and change the way that we
look at and embrace the world around us.
When solar panels are exposed to sunlight, the angle at which the sun’s
rays meet the surface of the solar panel (known as the “angle of incidence”)
determines how well the panel can convert the incoming light into electricity. The
narrower the angle of incidence, the more energy a photovoltaic panel can
produce. Solar trackers help to minimize this angle by working to orient panels so
that light strikes them perpendicular to their surface.
There are two types of solar tracking systems: single-axis and dual-axis.
Considering all the benefits that this amazing invention can offer, the
proponents proposed a study “Arduino Solar Tracker with Plant Watering
System”. The Arduino Solar Tracker with Plant Watering System is a system
wherein the sun’s location will be determined by the solar panel connected
to the microcontroller which is the Arduino UNO. The solar tracker powered
by the Arduino UNO will track the position of the sun wherein the solar
energy absorbed by the panel will be used in turning ON the plant watering
system connected to it. Since there is an energy collected by the solar
panel, the plant watering system will not need a power supply for it to work.
Page |6
This project was planned and designed only for small scale automatic
watering system and solar tracking system that can save energy efficiently by
harvesting energy from the sun. This project utilize a two 1 watt, 5 volts solar panel
in series. This system can detect sunlight and follows the direction of the light
depending on its intensity. After the system tracks the sunlight, servo motor will act
or move according to the presence of the light. It also used a 6V rechargeable lead
– acid battery that serves as the main power supply of the system. This system
also include a water pump that will pump out water from the reservoir to the plant.
Due to system’s limitation, it has its own restriction. First the angle of
operation is only limited to below 180 degrees. Light above the range of 180
degrees vertically, can detect by the LDR but due to servo motor’s angle of
operation, the movement of the solar tracking is only limited below 180 degrees.
The capacity of the rechargeable battery is limited to only to small current. The
system is designed only for small-scale plant that should be watered in small
amount only.
Page |7
CHAPTER 2
Wiring Diagram
The figure shown below shows the connections of the components of the
Solar Tracker with the Plant Watering System to the microcontroller which is the
Arduino UNO that allows the system to be linked with each other.
Schematic Diagram
Flowchart
Algorithm
Step 1: Start
Step 2: LDR will try to detect the sunrays of the Sun to let the servo motor move
the Solar panel onto the direction of the sun’s rays.
Step 3: If there is sunlight, the Arduino Uno will compare the average amount of
light detected from the LDRs placed at the top with the ones at the bottom, and
the LDRs on the left side will be compared onto the LDRs on the right side.
Step 4: If avgtop<avgbot, then the servo motor moves in the vertical direction
(up). If avgleft>avgright, then the servo motor moves the solar panel to the
horizontal direction (left).
Step 5: While facing the direction of the sun’s rays, the solar panel will absorb
and convert the light energy collected into electrical energy to recharge the DC
battery.
Step 1: Arduino UNO analyzes the data sent by the soil moisture sensor and
records it in the laptop
Step2: If the soil moisture sensor senses that the humidity>30, then the relay will
be turned on.
Step 3: If the battery can now supply a water pump, then the water pump will be
turned on and the plant will be watered.
Step 4: After consuming the set operating period for the water pump, the process
will now repeat itself from the start.
P a g e | 11
CHAPTER 3
Microcontrol ATmega328P
ler – 8 bit AVR
family
microcontroller
Operating 5V
Voltage
Recommend 7-12V
ed Input
Voltage
Input 6-20V
Voltage
Limits
DC Current 40 mA
on I/O Pins
DC Current 50 mA
on 3.3V Pin
Flash 32 KB (0.5 KB
Memory is used for
Bootloader)
SRAM 2 KB
P a g e | 13
EEPROM 1 KB
Frequency 16 MHz
(Clock
Speed)
Horsepower: 1 - 3 HP
Maximum Head: 15 to 50 m
Water
Discharge Outlet Size: 1 - 2in
Pump
Motor Phase: Single Phase
Maximum 4.0V±8%
Power
Solar Panel
Voltage(Vmp)
Maximum 100.0mA±8%
Power
Current(Imp)
Maximum 0.4W±8%
Power(Ppm)
Plastic
-
Tubing
Pan/Tilt
(with Servo -
Motor)
Resistor 100kΩ
Plant
The software used in this project is an Arduino IDE software wherein the
codes for both the solar tracker and the plant watering system was incorporated in
order to create the system as a whole.
Block Diagram
The figure below presents the system’s block diagram for further
understanding and analysis of how the system works.
CHAPTER 4
Conclusion
Based from the objectives and the data and results obtained from the
project itself, the proponents has concluded the following:
dry, the water pump will release water, and if the sensor detected that the
soil is still wet, it will not release any water.
Recommendation
After meeting the desired system’s output, the project design still has a lot
to improve at. It is suggested that, for further design improvements;
The Prototype
The output hardware of the solar tracker with the plant watering system is
shown below.
P a g e | 19
BILL OF MATERIALS
Light Dependent
8 10 80
Resistor
Relay Module 1 80 80
APPENDIX
P a g e | 21
APPENDIX A
P a g e | 22
#include <Servo.h>
//defining Servos
Servo servohori;
int servoh = 0;
int servohLimitHigh = 160;
int servohLimitLow = 20;
Servo servoverti;
int servov = 0;
int servovLimitHigh = 160;
int servovLimitLow = 20;
//Assigning LDRs
int ldrtopl = 2; //top left LDR green
int ldrtopr = 1; //top right LDR yellow
int ldrbotl = 3; // bottom left LDR blue
int ldrbotr = 0; // bottom right LDR orange
//define relay
int waterPump = 3;
void setup ()
{
servohori.attach(10);
servohori.write(0);
servoverti.attach(9);
P a g e | 23
servoverti.write(0);
pinMode(waterPump, OUTPUT);
delay(500);
}
void loop()
{
servoh = servohori.read();
servov = servoverti.read();
//capturing analog values of each LDR
int topl = analogRead(ldrtopl);
int topr = analogRead(ldrtopr);
int botl = analogRead(ldrbotl);
int botr = analogRead(ldrbotr);
// calculating average
int avgtop = (topl + topr) / 2; //average of top LDRs
int avgbot = (botl + botr) / 2; //average of bottom LDRs
int avgleft = (topl + botl) / 2; //average of left LDRs
int avgright = (topr + botr) / 2; //average of right LDRs
int humidityRow = analogRead(A4);
int humidityReal = map(humidityRow, 1023, 0, 0, 100);
}
delay(8);
}
else if (avgbot < avgtop)
{
servoverti.write(servov -1);
if (servov < servovLimitLow)
{
servov = servovLimitLow;
}
delay(8);
}
else
{
servoverti.write(servov);
}
servohori.write(servoh -1);
if (servoh < servohLimitLow)
{
servoh = servohLimitLow;
}
delay(8);
}
else
{
servohori.write(servoh);
}
delay(50);
Serial.println(humidityReal);
delay(100);
if(humidityReal > 30)
{
digitalWrite(waterPump, HIGH);
Serial.println("off");
}
else {
digitalWrite(waterPump, LOW);
Serial.println("on");
}
}
P a g e | 26
APPENDIX B