Professional Documents
Culture Documents
ABSTRACT
investment for companies as well as for residential users. The solar panel
alone. Adding in other factors such as falling leaves, bird dropping, and water
– 30%. The efficiency of the PV panel depends on the amount of light that falls
on it, due to the azimuth angle of the solar panel, the deposition of dust on the PV
panel reduces the efficiency of the energy generated. To increase the efficiency
cleaning of solar panels we have designed and built a solar panel cleaning drone.
The panel detects the presence of an obstruction shading a cell and the concerned
person can actuate a cleaning mechanism that cleans off the obstruction and,
1
CHAPTER 1
INTRODUCTION
2
Now a day’s energy is generated from both renewable and non-renewable
resources. But the generation of electricity from a renewable resource is more
authentic and less harmful than the non-renewable resource. Solar energy is the
amplest source of renewable energy. Generation of electricity using sun energy
that is possible by the solar panels. Solar energy is the abundant renewable energy
on earth which doesn’t pollute the environment while producing the energy using
Solar Photo Voltaic (PV) panel. Efficiency of the PV panel depends on the
amount of light falls on it, due to the azimuth angle of solar panel, deposition of
dust on PV panel reduces the efficiency of the energy generated. But the
efficiency of solar panels is ostentatious by environmental effects like dust
accumulation, temperature and humidity. Therefore, it is essential to have regular
and proper cleaning of panel. In general cleaning is done by manually. This type
of cleaning is not uniform and has the following drawbacks like damage of panels,
injuries to people and movement difficulties. To increase the efficiency of the PV
panel, periodically it has to be cleaned. This paper proposes a solar panel cleaning
drone which periodically cleans PV panel, the surface of the panel is cleaned by
blowing air, spraying water on th panel. The disadvantages can be overcome by
using an solar panel cleaning drone for cleaning the solar panel. This will also
increase the efficiency. The vital role of the drone cleaner is cleaning the floating
solar panels where manual cleaning is highly impossible. The proposed robot is
controlled remotely by Internet of Things (IoT) which reduces the human effort
in the solar plant and can be remotely monitored.
3
CHAPTER 2
LITERATURE SURVEY
Yuliya Zatsarinnaya, Denis Amirov and Maksim Elaev developed “Solar Panel
Cleaning System Based on the Arduino Microcontroller” – 2020. The solution
of the problem provides for the adoption of hydroelectric power plants, which are
ubiquitous in Russia, and the construction of wind and solar power plants. One
of the problems with the deep penetration of solar energy into the Russian energy
system is the high cost of generating electricity at a renewable energy facility.
Solar module layouts in open areas lead to the contamination of surfaces that
receive emission. As a result, offering different designs for cleaning PV modules
is still relevant. In this paper, both schemes of solar panel cleaning systems that
have been considered are not only easy to assemble and, easy to control, but also
adaptable to operating conditions. Changing or adding links allows you to apply
the design at various scales, both in a private household and in a solar station. For
example, replacing the electric motor with a more powerful one, and replacing
the GT-2 belt with a wider width, can allow such a system to be used on several
panels, not just one. Effective use of decontamination systems promotes
widespread use of renewable energy sources. In conclusion, the energy stored
during the cleaning process must be greater than the energy required in order to
operate the electric motor. Ultimately, it is crucial that this condition is met.
4
any water to do the cleaning operation. Thus, wastage of water is avoided here.
And this feauture makes this system applicable in the desert areas and where no
water source is available. This proposed cleaning system is based on two steps
mechanisim where exhuast fans do the first part which is remove dust from the
surface though air blowing. The second part is done by wiper. This feature ensure
the safety of the panel because any type of scratch is not seen duting the
experimental tests. Experimentally the cleaning system is capable of serving its
purpose.
5
Nawat Ronnaronglit, Noppadol Maneerat developed a concept of “A
CLEANING ROBOT FOR SOLAR PANELS” – 2019. Developing the Solar
Panel Cleaning Robots can be used to work instead human especially it is not
necessary to have a supervisor for working control and reduce a risk of damage
from moving a robot. However, Solar Frames Connected Robot still has defect
which limited size of solar panel and not easy to move. This research aims to
design and develop the Solar Panel Cleaning Robots by studying Solar Panel
Cleaning Robots movement which work suitable in Thailand, Wireless Joystick,
Sensor Sonar using Gear Motor and ARDUINO microcontroller. The robot will
clean a solar cell by using a rotary brush with water spray to improve cleaning
system. Result of studying Solar Panel Cleaning Robots movement by using Gear
Motor can operate at a surface level of 0-30 degrees Celsius and cleaning system
by using rotary brush.
6
CHAPTER 3
METHODOLOGY
The expense of fuel is rising every day, thus many are turning to electric and solar
energy. Solar panels are installed on the roofs of many vehicles. For greater power
generation efficiency, solar panels should be cleaned every couple of days or
twice a week. It takes up to 2 litres of water to clean one solar panel plate, and
they want to clean it manually on the roof, which is time-consuming and
exhausting.
In the existing system, there is no proper system to clean the solar panels. Firstly,
in the case of residential use, solar panels are usually placed on the roof or terrace
to receive the maximum amount of sunlight. Because of this, cleaning these solar
panels would result in the homeowner climbing up onto the roof to clean the
panels, which can be hazardous. The other option would be to hire a company to
do it for them. The dust collects on the module's front surface, blocking the
incident light from the sun. It lowers the module's power-generating capacity. If
the module is not cleaned for a month, the power output drops by as much as
50%.
3.3 DISADVANTAGES:
The dust gets accumulated on the front surface of the module and
blocks the incident light from the sun.
The system reduces the power generation capacity of the module
7
3.4 OBJECTIVES OF THE PROJECT
To increase solar panel energy output in remote places at a cheap cost, and
without the use of physical labor.
The power output reduces by as much as by 50% if the module is not cleaned for
a month. To regularly clean the dust, a solar panel cleaning drone has been
designed, which senses the dust on the solar panel and also cleans the module
automatically. In terms of daily energy generation, the presented automatic
cleaning scheme provides about 30% more energy output when compared to the
dust-accumulated PV module. In this proposed system we have used a Dc fan and
water spraying motor. Both of them are connected to a motor controller. This
vacuum cleaner and water sprayer can be controlled using IoT. The concerned
person can ON/OFF the vacuum and water sprayer using android mobile. This
can be done with the help of IoT using a mobile application called Blynk. An
indication switch is connected to this system to intimate the state of the water
sprayer. When the water sprayer is on the Green led will glow and when the
sprayer is off the red led will glow.
3.6 ADVANTAGES:
8
3.7 BLOCK DIAGRAM:
3.7.1 TRANSMITTER UNIT:
VOLTAGE VOLTAGE
STEP DOWN BRIDGE CAPACITOR
REGULATORE REGULATOR
TRANSFORMER RECTIFIER 1000UF
7812 7805
SPRAYER CONTROL
FROM ANDROID APP
VACCUM CONTROL
FROM ANDROID APP
NODEMCU
WATER SPRAY
MOTOR DRIVER
MOTOR
RED LED
GREEN LED
SPI IOT
IOT BLYNK
MOBILE
APPLICATION
9
CHAPTER 4
SYSTEM IMPLEMENTATION
10
ESP-12 module of the ESP8266, which is a Wi-Fi SoC integrated witha
tensila Xtensa LX106 core, widely used in IoT applications. As Arduino cc
began developing new MCU boards based on non-AVR processors like the
ARM/SAM MCU and used in the Arduino Due, they needed to modify the
Arduino IDE so that it would be relatively easy to change the IDE to support
alternate toolchains to allow Arduino C/C++ to be compiled for these new
processors. They did this with the introduction of the Board Manager and the
SAM Core. A "core" is the collection of software components required by the
Board Manager and the Arduino IDE to compile an Arduino C/C++ source file
for the target MCU's machine language. Some ESP8266 enthusiasts developed
an Arduino core for the ESP8266 WiFi SoC, popularly called the "ESP8266 Core
for the Arduino IDE". This has become a leading software development platform
for the various ESP8266-based modules and development boards, including
NodeMCUs.
4.1.2 POWER SUPPLY UNIT
11
it is used to produce DC, a rectifier is used. A capacitor is used to smooth the
pulsating current from the rectifier. Some small periodic deviations from smooth
direct current will remain, which is known as ripple. These pulsations occur at a
frequency related to the AC power frequency (for example, a multiple of 50 or 60
Hz).
The voltage produced by an unregulated power supply will vary depending
on the load and on variations in the AC supply voltage. For critical electronics
applications a linear regulator will be used to stabilize and adjust the voltage. This
regulator will also greatly reduce the ripple and noise in the outputdirect current.
Linear regulators often provide current limiting, protecting the power supply and
attached circuit from over current.
Adjustable linear power supplies are common laboratory and service shop
test equipment, allowing the output voltage to be set over a wide range. For
example, a bench power supply used by circuit designers may be adjustable up to
30 volts and up to 5 amperes output. Some can be driven by an external signal,
for example, for applications requiring a pulsed output.
TRANSFORMER
Transformers waste very little power so the power out is (almost) equal to
the power in. Note that as voltage is stepped down current is stepped up.
The ratio of the number of turns on each coil, called the turn’s ratio,
determines the ratio of the voltages. A step-down transformer has a large
number of turns on its primary (input) coil which is connected to the high
voltage mains supply, and a small number of turns on its secondary (output) coil
to give a low output voltage.
13
The low voltage AC output is suitable for lamps, heaters and special AC motors.
It is not suitable for electronic circuits unless they include a rectifier and a
smoothing capacitor.
RECTIFIER:
The varying DC output is suitable for lamps, heaters and standard motors. It is
not suitable for electronic circuits unless they include a smoothing capacitor.
BRIDGE RECTIFIER:
A bridge rectifier can be made using four individual diodes, but it is also
available in special packages containing the four diodes required. It is called a
full-wave rectifier because it uses the entire AC wave (both positive and negative
sections). 1.4V is used up in the bridge rectifier because each diode uses 0.7V
14
when conducting and there are always two diodes conducting, as shown in the
diagram below. Bridge rectifiers are rated by the maximum current they can pass
and the maximum reverse voltage they can withstand (this must be at least three
times the supply RMS voltage so the rectifier can withstand the peak voltages).
Please see the Diodes page for more details, including pictures of ridge rectifiers.
15
current so the smoothing capacitor does not significantly discharge during the
gaps. Please see the Diodes page for some examples of rectifier diodes.
SMOOTHING:
Smoothing is performed by a large value electrolytic capacitor connected
across the DC supply to act as a reservoir, supplying current to the output when
the varying DC voltage from the rectifier is falling. The diagram shows the
unsmoothed varying DC (dotted line) and the smoothed DC (solid line). The
capacitor charges quickly near the peak of the varying DC, and then discharges
as it supplies current to the output.
The smooth DC output has a small ripple. It is suitable for most electronic
circuits.
REGULATOR:
Voltage regulator ICs are available with fixed (typically 5, 12 and 15V) or
variable output voltages. They are also rated by the maximum current they can
pass. Negative voltage regulators are available, mainly for use in dual supplies.
Most regulators include some automatic protection from excessive current
('overload protection') and overheating ('thermal protection').
17
can be used with external components to obtain adjustable voltages and current.
Many of the fixed voltage regulator ICs has 3 leads and look like power
transistors, such as the 7805 +5V 1A regulator shown on the right. They include
a hole for attaching a heat sink if necessary.
1. Positive regulator
1. input pin
2. ground pin
3. output pin
It regulates the positive voltage
2. Negative regulator
1. ground pin
2. input pin
3. output pin
18
The regulated DC output is very smooth with no ripple. It is suitable for all
electronic circuit.
The L293 and L293D are quadruple high-current half-H drivers. The L293 is
designed to provide bidirectional drive currents of up to 1 A at voltages from 4.5
V to 36 V. The L293D is designed to provide bidirectional drive currents of up to
600-mA at voltages from
4.5 V to 36 V. Both devices are designed to drive inductive loads such as relays,
solenoids, dc and bipolar stepping motors, as well as other high-current/high-
voltage loads in positivesupply applications. All inputs are TTL compatible. Each
output is a complete totem-pole drive circuit, with a Darlington transistor sink
and a pseudo-Darlington source. Drivers are enabled in pairs, with drivers 1 and
2 enabled by 1,2EN and drivers 3 and 4 enabled by 3,4EN. When an enable input
is high, the associated drivers are enabled, and their outputs are active and in
phase with their inputs. When the enable input is low, those drivers are disabled,
and their outputs are off and in the high-impedance state.
19
the fluid. The rotating assembly of blades and hub is known as an impeller, a
rotor, or a runner. Usually, it is contained within some form of housing or
case. This may direct the airflow or increase safety by preventing objects from
contacting the fan blades. Most fans are powered by electric motors, but other
sources of power may be used, including hydraulic motors and internal
combustion engines. Fans produce flows with high volume and low pressure
(although higher than ambient pressure), as opposed to compressors which
produce high pressures at a comparatively low volume. A fan blade will often
rotate when exposed to a fluid stream, and devices that take advantage of this,
such as a nemometers and wind turbines, often have designs similar to that of a
fan.
Typical applications include climate control and personal thermal comfort (e.g.,
an electric table or floor fan), vehicle and machinery cooling systems, ventilation,
fume extraction, winnowing (e.g., separating chaff of cereal grains), removing
dust (e.g. in a vacuum cleaner), drying (usually in combination with heat) and to
provide draft for a fire.
While fans are often used to cool people, they do not actually cool air (if anything,
electric fans warm it slightly due to the warming of their motors), but work
by evaporative cooling of sweat and increased heat convection into the
surrounding air due to the airflow from the fans. Thus, fans may become
ineffective at cooling the body if the surrounding air is near body temperature and
contains high humidity.
TYPES OF FANS
Axial-flow fans
Centrifugal fan
Cross-flow fan
20
AXIAL-FLOW FANS
Axial-flow fans have blades that force air to move parallel to the shaft
about which the blades rotate. This type of fan is used in a wide variety of
applications, ranging from small cooling fans for electronics to the giant fans used
in wind tunnels. Axial flow fans are applied in air conditioning and industrial
process applications. Standard axial flow fans have diameters from 300–400 mm
or 1800 to 2000 mm and work under pressures up to 800 Pa. Examples of axial
fans are:
FIG.4.1.4 DC FAN
• Table fan: Basic elements of a typical table fan include the fan blade, base,
armature and lead wires, motor, blade guard, motor housing,oscillator gearbox,
and oscillator shaft. The oscillator is a mechanism that moves the fan from side
to side. The axle comes out on both ends of the motor, one end of the axle is
attached to the blade and the other is attached to the oscillator gearbox. The motor
case joins to the gearbox to contain the rotor and stator. The oscillator shaft
combines to the weighted base and the gearbox. A motor housing covers the
oscillator mechanism. The blade guard joins to the motor case for safety.
• Ceiling fan: A fan suspended from the ceiling of a room is a ceiling fan.
Ceiling fans can be found in both residential and industrial/commercial settings.
21
• In automobiles, a mechanical fan provides engine cooling and prevents the
engine from overheating by blowing or sucking air through acoolant-filled
radiator. It can be driven with a belt and pulley off the engine's crankshaft or an
electric fan switched on or off by a thermostatic switch.
4.1.5.WATER MOTOR
Specification:
Input Voltage: DC 3V-5V
Flow Rate: 1.2-1.6 L/min
Operation Temperature: 80 Deg.C
Operating Current: 0.1-0.2A
Suction Distance: 0.8 meter (Max)
Outside diameter of water outlet: 7.5mm
Inside diameter of water outlet: 5.0 mm
Diameter of water Inlet : 5.0 mm
Wire Length: 200 mm
22
Size: 45 x 30 x 25 mm
Weight: 30g
4.1.6 LED
23
their high switching rates are useful in advanced communications technology.
raditionally, incandescent and halogen bulbs were used. Because of the low
efficiency of light output and a single point of failure (filament burnout) some
traffic authorities are choosing to retrofit traffic signals with led arrays that
consume less power, have increased light output, and last significantly
longer. Moreover, in the event of an individual LED failure, the aspect will still
operate albeit with a reduced light output. The light pattern of an LED array can
be comparable to the pattern of an incandescent or halogen bulb fitted with
a prismatic lens.
FIG.4.1.6 LED
4.1.7 SPI
24
peripheral chips that enables the controllers and peripheral devices to
communicate each other. Even though it is developed primarily for the
communication between host processor and peripherals, a connection of two
processors via SPI is just as well possible.
The SPI bus, which operates at full duplex (means, signals carrying data can go
in both directions simultaneously), is a synchronous type data link setup with a
Master / Slave interface and can support up to 1 megabaud or 10Mbps of speed.
Both single-master and multi-master protocols are possible in SPI. But the multi-
master bus is rarely used and look awkward, and are usually limited to a single
slave.
The SPI Bus is usually used only on the PCB. There are many facts, which
prevent us from using it outside the PCB area. The SPI Bus was designed to
transfer data between various IC chips, at very high speeds. Due to this high-
speed aspect, the bus lines cannot be too long, because their reactance increases
too much, and the Bus becomes unusable. However, its possible to use the SPI
Bus outside the PCB at low speeds, but this is not quite practical.
The peripherals can be a Real Time Clocks, converters like ADC and DAC,
memory modules like EEPROM and FLASH, sensors like temperature sensors
and pressure sensors, or some other devices like signal-mixer, potentiometer,
LCD controller, UART, CAN controller, USB controller and amplifier.
25
2. Master In Slave Out (MISO) - Slaves generate MISO signals and recipient is
the Master.
3. Serial Clock (SCLK or SCK) - SCLK signal is generated by the Master to
synchronize data transfers between the master and the slave.
4. Slave Select (SS) from master to Chip Select (CS) of slave - SS signal is
generated by Master to select individual slave/peripheral devices. The SS/CS
is an active low signal.
There may be other naming conventions such as Serial Data In [SDI] in place of
MOSI and Serial Data Out [SDO] for MISO.
Among these four logic signals, two of them MOSI & MISO can be grouped as
data lines and other two SS & SCLK as control lines.
26
receives and or transmits data via the two data lines. A master, usually the host
micro controller, always provides clock signal to all devices on a bus whether it
is selected or not.
The usage of these each four pins may depend on the devices. For example, SDI
pin may not be present if a device does not require an input (ADC for example),
or SDO pin may not be present if a device does not require an output (LCD
controllers for example). If a microcontroller only needs to talk to 1 SPI
Peripheral or one slave, then the CS pin on that slave may be grounded. With
multiple slave devices, an independent SS signal is needed from the master for
each slave device.
The communication is initiated by the master all the time. The master first
configures the clock, using a frequency, which is less than or equal to the
maximum frequency that the slave device supports. The master then select the
desired slave for communication by pulling the chip select (SS) line of that
particular slave-peripheral to "low" state. If a waiting period is required (such as
for analog-to-digital conversion) then the master must wait for at least that period
of time before starting to issue clock cycles.
27
The slaves on the bus that has not been activated by the master using its slave
select signal will disregard the input clock and MOSI signals from the master,
and must not drive MISO. That means the master selects only one slave at a time.
A full duplex data transmission can occur during each clock cycle. That means
the master sends a bit on the MOSI line; the slave reads it from that same line and
the slave sends a bit on the MISO line; the master reads it from that same line.
Data transfer is organized by using Shift register with some given word size such
as 8- bits (remember, its not limited to 8-bits), in both master and slave. They are
28
connected in a ring. While master shifts register value out through MOSI line, the
slave shifts data in to its shift register.
Data are usually shifted out with the MSB first, while shifting a new LSB into the
same register. After that register has been shifted out, the master and slave have
exchanged their register values. Then each device takes that value and does the
necessary operation with it (for example, writing it to memory). If there are more
data to be exchanged, the shift registers are loaded with new data and the process
is repeated. When there are no more data to be transmitted, the master stops its
clock. Normally, it then rejects the slave.
There is a "multiple byte stream mode" available with SPI bus interface. In this
mode the master can shift bytes continuously. In this case, the slave select (SS) is
kept low until all stream process gets finished.
SPI devices sometimes use another signal line to send an interrupt signal to a host
CPU. Some of the examples for these type of signals are pen-down interrupts
from touch-screen sensors, thermal limit alerts from temperature sensors, alarms
issued by real time clock chips, and headset jack insertions from the sound codec
in a cell phone.
Another pair of parameters called clock polarity (CPOL) and clock phase (CPHA)
determine the edges of the clock signal on which the data are driven and sampled.
That means, in addition to setting the clock frequency, the master must also
configure the clock polarity (CPOL) and phase (CPHA) with respect to the data.
Since the clock serves as synchronization of the data communication, there are
four possible modes that can be used in an SPI protocol, based on this CPOL and
CPHA.
29
The micro-controllers allow the polarity and the phase of the clock to be adjusted.
A positive polarity results in latching data at the rising edge of the clock. However
data is put on the data line already at the falling edge in order to stabilize. Most
peripherals, which can only be slaves, work with this configuration. If it should
become necessary to use the other polarity, transitions are reversed.
In cascaded slave configuration, all the clock lines (SCLK) are connected
together. And also all the chip select (CS) pins are connected together. The data
30
flows out the microcontroller, through each peripheral in turn, and back to the
microcontroller. The data output of the preceding slave-device is tied to the data
input of the next, thus forming a wider shift register. So the cascaded slave-
devices are evidently looked at as one larger device and receive therefore the
same chip select signal. This means, only a single SS line is required from the
master, rather than a separate SS line for each slave.
But we have to remember that the daisy-chain will not work with devices which
support or require multiple bytes operation.
This is the typical SPI-bus configuration with one SPI-master and multiple
slaves/peripherals. In this independent or parallel slave configuration,
The queued serial peripheral interface (QSPI) is another type of SPI controller,
not another bus type. Or in other words it is just an extension to the SPI-bus.
The difference is that it uses a data queue with programmable queue pointers that
allow some data transfers without CPU intervention. It also has a wrap-around
mode that allows continuous transfers to and from the queue with no CPU
intervention. As a result, the peripherals or the slaves appear to the CPU as
memory-mapped parallel devices. This feature is useful in applications such as
control of an Analog to Digital converter.
31
The QSPI has got some more programmable features like chip selects and transfer
length/delay.
ADVANTAGES OF SPI
DISADVANTAGES OF SPI
32
4.2 SOFTWARE REQUIREMENTS
WRITING SKETCHES
Programs written using Arduino Software (IDE) are called sketches. These
sketches are written in the text editor and are saved with the file extension .ino.
The editor has features for cutting/pasting and for searching/replacing text. The
message area gives feedback while saving and exporting and also displays errors.
The console displays text output by the Arduino Software (IDE), including
complete error messages and other information. The bottom right hand corner of
the window displays the configured board and serial port. The toolbar buttons
allow you to verify and upload programs, create, open, and save sketches, and
open the serial monitor.
Verify
Checks your code for errors compiling it.
Upload
Compiles your code and uploads it to the configured board.
See uploading below for details.
Note: If you are using an external programmer with your board, you can
hold down the "shift" key on your computer when using this icon. Thetext
will change to "Upload using Programmer"
33
New
Creates a new sketch.
Open
Presents a menu of all the sketches in your sketchbook. Clicking onewill
open it within the current window overwriting its content.
Note: due to a bug in Java, this menu doesn't scroll; if you need to opena
sketch late in the list, use the File | Sketchbookmenu instead.
Save
Saves your sketch.
Serial Monitor
Opens the serial monitor.
FILE
New
Creates a new instance of the editor, with the bare minimum structure of a sketch
already in place.
Open
Allows to load a sketch file browsing through the computer drives and folders.
Open
Recent
34
Provides a short list of the most recent sketches, ready to be opened.
Sketchbook
Shows the current sketches within the sketchbook folder structure; clicking on
any name opens the corresponding sketch in a new editor instance.
Examples
Any example provided by the Arduino Software (IDE) or library shows up in this
menu item. All the examples are structured in a tree that allows easy access by
topic or library.
Close
Closes the instance of the Arduino Software from which it is clicked.
Save
Saves the sketch with the current name. If the file hasn't been named before, a
name will be provided in a "Save as.." window.
Save as...
Allows saving the current sketch with a different name.
Page Setup
It shows the Page Setup window for printing.
Print
Sends the current sketch to the printer according to the settings defined in Page
Setup.
Preferences
Opens the Preferences window where some settings of the IDE may be
customized, as the language of the IDE interface.
Quit
Closes all IDE windows. The same sketches open when Quit was chosen will be
automatically reopened the next time you start the IDE.
EDIT
Undo/Redo
35
Goes back of one or more steps you did while editing; when you go back, you
may go forward with Redo.
Cut
Removes the selected text from the editor and places it into the clipboard.
Copy
Duplicates the selected text in the editor and places it into the clipboard.
Copy for Forum
Copies the code of your sketch to the clipboard in a form suitable for posting to
the forum, complete with syntax coloring.
Copy as HTML
Copies the code of your sketch to the clipboard as HTML, suitable for
embedding in web pages.
Paste
Puts the contents of the clipboard at the cursor position, in the editor.
Select All
Selects and highlights the whole content of the editor.
Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.
Increase/Decrease Indent
Adds or subtracts a space at the beginning of each selected line, moving the text
one space on the right or eliminating a space at the beginning.
Find
Opens the Find and Replace window where you can specify text to search inside
the current sketch according to several options.
Find Next
Highlights the next occurrence - if any - of the string specified as the searchitem
in the Find window, relative to the cursor position.
Find Previous
Highlights the previous occurrence - if any - of the string specified as the search
36
item in the Find window relative to the cursor position.
SKETCH
Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for code
and variables in the console area.
Upload
Compiles and loads the binary file onto the configured board through the
configured Port.
Upload Using Programmer
This will overwrite the bootloader on the board; you will need to use Tools > Burn
Bootloader to restore it and be able to Upload to USB serial port again. However,
it allows you to use the full capacity of the Flash memory for your sketch. Please
note that this command will NOT burn the fuses. To do so
a Tools -> Burn Bootloader command must be executed.
Export Compiled Binary
Saves a .hex file that may be kept as archive or sent to the board using other tools.
Show Sketch Folder
Include Library
Adds a library to your sketch by inserting #include statements at the start of your
code. For more details, seelibraries below. Additionally, from this menu item you
can access the Library Manager and import new libraries from .zip files.
Add File...
Adds a source file to the sketch (it will be copied from its current location). The
new file appears in a new tab in the sketch window. Files can be removed from
the sketch using the tab menu accessible clicking on the small triangle icon below
37
the serial monitor one on the right side o the toolbar.
TOOLS
Auto Format
This formats your code nicely: i.e. indents it so that opening and closing curly
braces line up, and that the statements inside curly braces are indented more.
Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in the
same directory as the sketch.
Fix Encoding & Reload
Fixes possible discrepancies between the editor char map encoding and other
operating systems char maps.
Serial Monitor
Opens the serial monitor window and initiates the exchange of data with any
connected board on the currently selected Port. This usually resets the board, if
the board supports Reset over serial port opening.
Board
Select the board that you're using. See below for descriptions of the various
boards.
Port
This menu contains all the serial devices (real or virtual) on your machine. It
should automatically refresh every time you open the top-level tools menu.
Programmer
For selecting a harware programmer when programming a board or chip and not
using the onboard USB-serial connection. Normally you won't need this, but if
you're burning a bootloader to a new microcontroller, you will use this.
Burn Bootloader
38
The items in this menu allow you to burn a bootloader onto the microcontroller
on an Arduino board. This is not required for normal use of an Arduino or
Genuino board but is useful if you purchase a new ATmega microcontroller
(which normally come without a bootloader). Ensure that you've selected the
correct board from the Boards menu before burning the bootloader on the target
board. This command also set the right fuses.
HELP
Here you find easy access to a number of documents that come with the Arduino
Software (IDE). You have access to Getting Started, Reference, this guide to the
IDE and other documents locally, without an internet connection.The documents
are a local copy of the online ones and may link back to our online website.
Find in Reference
This is the only interactive function of the Help menu: it directly selects the
relevant page in the local copy of the Reference for the function or command
under the cursor.
SKETCHBOOK
The Arduino Software (IDE) uses the concept of a sketchbook: a standard place
to store your programs (or sketches). The sketches in your sketchbook can be
opened from the File > Sketchbook menu or from the Open button on the toolbar.
The first time you run the Arduino software, it will automatically create a
directory for your sketchbook. You can view or change the location of the
sketchbook location from with the Preferences dialog.
39
Beginning with version 1.0, files are saved with a .ino file extension. Previous
versions use the .pde extension. You may still open .pde named files in version
1.0 and later, the software will automatically rename the extension to .ino.
Allows you to manage sketches with more than one file (each of which appears
in its own tab). These can be normal Arduino code files (no visible extension), C
files (.c extension), C++ files (.cpp), or header files (.h).
Uploading
Before uploading your sketch, you need to select the correct items from the Tools
> Board and Tools > Port menus. Theboards are described below. On the Mac,
the serial port is probably something like /dev/tty.usbmodem241 (for an Uno or
Mega2560 or Leonardo) or /dev/tty.usbserial-1B1 (for a Duemilanove or earlier
USB board), or/dev/tty.USA19QW1b1P1.1 (for a serial board connected with a
Keyspan USB-to-Serial adapter). On Windows, it's
probably COM1 or COM2 (for a serial board) or COM4, COM5, COM7, or
higher (for a USB board) - to find out, you look for USB serial device in the ports
section of the Windows Device Manager. On Linux, it should be
/dev/ttyACMx ,/dev/ttyUSBx or similar. Once you've selected the correctserial
port and board, press the upload button in the toolbar or selectthe Upload
item from the File menu. Current Arduino boards will reset automatically and
begin the upload. With older boards (pre-Diecimila) that lack auto-reset, you'll
need to press the reset button on the board just before starting the upload. On most
boards, you'll see the RX and TX LEDs blink as the sketch is uploaded. The
Arduino Software (IDE) will display a message when the upload is complete, or
show an error.
40
When you upload a sketch, you're using the Arduino bootloader, a small program
that has been loaded on to the microcontroller on your board. It allows you to
upload code without using any additional hardware. The bootloader is active for
a few seconds when the board resets; then it starts whichever sketch was most
recently uploaded to the microcontroller. The bootloader will blink the on-board
(pin 13) LED when it starts (i.e. when the board resets).
Libraries
Libraries provide extra functionality for use in sketches, e.g. working with
hardware or manipulating data. To use a library in a sketch, select it from
the Sketch > Import Library menu. This will insert one or more
#include statements at the top of the sketch and compile the library with your
sketch. Because libraries are uploaded to the board with your sketch, they
increase the amount of space it takes up. If a sketch no longer needs a library,
simply delete its #includestatements from the top of your code.
There is a list of libraries in the reference. Some libraries are included with the
Arduino software. Others can be downloaded from a variety of sources or through
the Library Manager. Starting with version 1.0.5 of the IDE, you do can import a
library from a zip file and use it in an open sketch. See these instructions for
installing a third-party library.
To write your own library, see this tutorial.
Third-Party Hardware
Support for third-party hardware can be added to the hardware directory of your
sketchbook directory. Platforms installed there may include board definitions
(which appear in the board menu), core libraries, bootloaders, and programmer
definitions. To install, create the hardware directory, then unzip the third-party
41
platform into its own sub-directory. (Don't use "arduino" as the sub-directory
name or you'll override the built-in Arduino platform.) To uninstall, simply delete
its directory.
Displays serial data being sent from the Arduino or Genuino board (USB or serial
board). To send data to the board, enter text and click on the "send" button or
press enter. Choose the baud rate from the drop-down that matches the rate passed
to Serial.begin in your sketch. Note that on Windows, Mac or Linux, the Arduino
or Genuino board will reset (rerun your sketch execution to the beginning) when
you connect with the serial monitor.
You can also talk to the board from Processing, Flash, MaxMSP, etc (seethe
interfacing page for details).
Preferences
Some preferences can be set in the preferences dialog (found under the
Arduino menu on the Mac, or File on Windows and Linux). The rest can be found
in the preferences file, whose location is shown in the preference dialog.
Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+
different languages. By default, the IDE loads in the language selected by your
operating system. (Note: on Windows and possibly Linux, this is determined by
the locale setting which controls currency and date formats, not by the language
the operating system is displayed in.)
If you would like to change the language manually, start the Arduino Software
(IDE) and open the Preferences window. Next to the Editor Language there is a
dropdown menu of currently supported languages. Select your preferred language
from the menu, and restart the software to use the selected language. If your
operating system language is not supported, the Arduino Software (IDE) will
default to English.
42
You can return the software to its default setting of selecting its language based
on your operating system by selectingSystem Default from the Editor Language
drop-down. This setting will take effect when you restart the Arduino Software
(IDE). Similarly, after changing your operating system's settings, you must restart
the Arduino Software (IDE) to update it to the new default language.
Boards
The board selection has two effects: it sets the parameters (e.g. CPU speed and
baud rate) used when compiling and uploading sketches; and sets and the file and
fuse settings used by the burn bootloader command. Some of the board definitions
differ only in the latter, so even if you've been uploading successfully with a
particular selection you'll want to check it before burning the bootloader. You can
find a comparison table between the various boards here.
Arduino Software (IDE) includes the built in support for the boards in the
following list, all based on the AVR Core. TheBoards Manager included in the
standard installation allows to add support for the growing number of new boards
based on different cores like Arduino Due, Arduino Zero, Edison, Galileo and so
on.
Arduino Yùn
An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital
I/O and 7 PWM.
Arduino/Genuino Uno
An ATmega328 running at 16 MHz with auto-reset, 6 Analog In, 14 Digital I/O
and 6 PWM.
Arduino Diecimila or Duemilanove w/ ATmega168 An ATmega168 running at
16 MHz with auto-reset.
Arduino Nano w/ ATmega328
43
An ATmega328 running at 16 MHz with auto-reset. Has eight analog inputs.
Arduino/Genuino Mega 2560
An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital
I/O and 15 PWM.
Arduino Mega
An ATmega1280 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital
I/O and 15 PWM.
LilyPad Arduino
An ATmega168 or ATmega132 running at 8 MHz with auto-reset, 6 Analog In,
14 Digital I/O and 6 PWM.
Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
An ATmega328 running at 16 MHz with auto-reset. Equivalent to Arduino
Duemilanove or Nano w/ ATmega328; 6 Analog In, 14 Digital I/O and 6 PWM.
Arduino NG or older w/ ATmega168
An ATmega168 running at 16 MHz without auto-reset. Compilation and upload
is equivalent to Arduino Diecimila or Duemilanove w/ ATmega168, but the
bootloader burned has a slower timeout (and blinks the pin 13 LED three times
on reset); 6 Analog In, 14 Digital I/O and 6 PWM.
Arduino Robot Control
An ATmega328 running at 16 MHz with auto-reset.
Arduino Robot Motor
An ATmega328 running at 16 MHz with auto-reset.
Arduino Gemma
An ATtiny85 running at 8 MHz with auto-reset, 1 Analog In, 3 Digital I/O and 2
PWM.
45
• Blynk App - allows to you create amazing interfaces for your projects using
various widgets we provide.
• Blynk Server - responsible for all the communications between the smartphone
and hardware. You can use our Blynk Cloud or run your private Blynk server
locally. It’s open-source, could easily handle thousands of devices and can even
be launched on a Raspberry Pi.
BYLINK ARCHITECTURE
46
CHAPTER 5
RESULT AND DISCUSSION
The final prototype was tested successfully and produced satisfactory results.
Hardware setup and output results are shown in the below figures.
47
CHAPTER 6
CONCLUSION AND FUTURE SCOPE
6.1 CONCLUSION
• The purpose of introducing this system is for cleaning the solar panels so that the
efficiency of energy generation can be improved. Initially, this work is done by
humans but now they are mostly replaced by these automatic robots. This
becomes an effective method for cleaning the panels because there is no fear of
heights for robots.
• The Designed system successfully detects the presence of soiling or dust on the
solar panel and cleans it with the help of a drone. The drone can move along a
PV module to clean it.
• The project's purpose is to develop a solar panel cleaning drone to combat the
negative effects of soiling on commercial photovoltaic cells. We aimed to
develop a technology that would improve the efficiency of a dirty panel.
• The cleaning process such as water spraying and the vacuum cleaning process
can be controlled using a Mobile application Blynk.
48
REFERENCES:
[1] Manju B, Abdul Bari, and Pavan C M, “Automatic solar panel cleaning
system,” International Journal of Advances in Scientific Research and
Engineering, vol. 4, no. 7, July 2018.
[3] Nirav Savani, Zalak Korat, and Harsh Kikani, “Design and analysis of
integrated solar panel cleaning system”, International Research Journal of
Engineering and Technology, vol. 6, no.4, Apr. 2019.
[4] Ras Al Khaimah, United Arab Emirates, and Yacouba Moumouni, “Portable
robot for cleaning photovoltaic system,” in Proc. IEEE Appl. Power. Conf., 2017,
pp.335-342.
[7] Amit Kumar Mondal and Kamal Bansal, “A brief history and future aspects
in automatic cleaning systems for solar voltaic panels,” Advanced Robotics, vol.
29, no. 8, pp.515-524, 2016.
49