Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

A

PROJECT REPORT

ON

MULTIPURPOSE DRONE
Submitted To
VAAGDEVI COLLEGE OF ENGINEERING, WARANGAL
In fulfilling the requirements for
MAJOR PROJECT
in
B.TECH VII SEMESTER – MECHANICAL
ENGINEERING by

NAGA ANIL 21645A0329


ERUKULLA SHIVA KUMAR 20641A0311
BANDLA PRADEEP 21645A0302
GAINI DAYANAND 20641A0308
BHUKYA VIJAY 21645A0305
Under the guidance of

MR.Y.UMASHANKAR

DEPARTMENT OF MECHANICAL ENGINEERING


VAAGDEVI COLLEGE OF ENGINEERING
(UGC AUTONOMOUS)
Approved by AICTE & Permanent Affiliation to JNTUH
P.O. Bollikunta, Warangal Urban- 506005 (T.S.)

(2023-2024)

1
VAAGDEVI COLLEGE OF ENGINEERING
(UGC AUTONOMOUS)

Approved by AICTE & Permanent Affiliation to JNTUH


P.O. Bollikunta, Warangal Urban- 506005 (T.S.)
DEPARTMENT OF MECHANICAL ENGINEERING

CERTIFICATE

This is to certify that the report entitled ‘MULTIPURPOSE DRONE’ is being submitted by
NAGA ANIL 21645A0329

ERUKULLA SHIVA KUMAR 21645A0311

BANDLA PRADEEP 21645A0302

GAINI DAYANAND 20641A0308

BHUKYA VIJAY 21645A0305

in fulfilling the requirements for MAJOR PROJECT in VIII Semester of Bachelor of Technology in
Mechanical Engineering, Academic year 2023-2024,Vaagdevi College Of Engineering, Warangal.

Guide External Examiner HOD


Mr. Y. UMASHANKAR Dr . P. SRINIVASULU
Assistant Professor Professor

2
DECLERATION

We, hereby declare that this report titled “‘MULTIPURPOSE DRONE’’’


submitted to Department of Mechanical Engineering, Vaagdevi College of Engineering,
Warangal is a record of original work done by us, under the guidance of Mr .Y .Umashankar
(Asst .Professor). The information and the data given in this report is authentic to the best of our
knowledge. This project report is not submitted to any other university or institution for the
requirements of MAJOR PROJECT , any time before.

NAGA ANIL 21645A0329

ERUKULLA SHIVA KUMAR 21645A0311

BANDLA PRADEEP 21645A0302

GAINI DAYANAND 20641A0308

BHUKYA VIJAY 21645A0305

3
ACKNOWLEGEMENTS

The satisfaction that accompanies the successful completion of this project would be incomplete without
the mention of the people who made it possible, without whose constant guidance encouragement would
have made efforts go in vain.

We consider ourselves privileged to express gratitude and respect towards all those who guided
us through the completion of this project.

We would like to express our sincere thanks to and deep sense of gratitude to our Principal Dr .
K. PRAKASH for his encouragement and moral support throughout the period of project based
learning.

We also express our whole hearted thanks to our head of the department Dr .P . Sinivasulu , Project
Based Learning Co-ordinator Mr. B.NAGARAJU(Asst .Professor) and our guide Mr . Y .Umashankar
(Asst .Professor) for providing us all the facilities and for supporting us throughout the project period.
We are also thankful to the staff of Department of Mechanical Engineering for giving technical Support
in Project.

We are thankful to Lab Incharge’s and Lab Assistants of Department of Mechanical Engineering for
their Support.

We are also thankful to the Non- Teaching Staff and our friends whose help enabled us to complete
this project successfully.

NAGA ANIL 21645A0329

ERUKULLA SHIVA KUMAR 21645A0311

BANDLA PRADEEP 21645A0302

GAINI DAYANAND 20641A0308

BHUKYA VIJAY 21645A0305

4
LIST OF CONTENMT

CHAPTER NUMBETRS CONTENTS PAGE NUMBER

1 INTRODUCTION 8

2 HARDWARE REQUIREMENTS 9-27

2.1 RC FPV

2.2 Dht11

2.3 HUMIDITY

2.4 BRUSHLESS DC MOTORS

2.5 PROPELLER

2.6 BATTERY

3 28-33
Arduino Software (IDE)

4 WORKING PRINCIPLE OF 34-39


DRONE

5 APPLICATION AND 40-43


ADVANTAGES

6 CONCLUSION 44-45

7 FUTURE SCOPE 46-47

5
LIST OF FIGURES
FIGURE NUMBER FIGURE NAME PAGE NUMBER
2.1 DRONE TOP VIEW 9
2.2 ARDUINO BOARD 13
2.3 Esp32 19
2.4 DHT11 Sensor 20

2.5 HUMIDITY SENSOR 22

2.6 BRUSHLESS MOTOR 24


2.7 MOTOR 25
2.8 DRONE 25

4.1 TEMPERATURE AND 33


HUMIDITY SENSOR
4.2 HUMIDITY READINGS 34
4.3 TEMPERATUTRE 34

6
ABSTRACT
Unmanned Aerial Vehicles (UAVs) have revolutionized various sectors, particularly in surveillance and
environmental monitoring. This abstract presents a novel integration of Arduino-based systems and the
DHT11 sensor with a First Person View (FPV) drone for real-time surveillance and atmospheric condition
checking. The proposed system aims to enhance traditional drone functionalities by incorporating
capabilities to monitor both environmental parameters and provide live feedback to the operator.The
project's core components include an FPV drone equipped with a camera for real-time video transmission,
an Arduino microcontroller for data processing and control, and a DHT11 sensor for measuring
atmospheric conditions such as temperature and humidity. The Arduino serves as the central processing
unit, collecting data from the DHT11 sensor and transmitting it wirelessly to a ground station for analysis
and visualization.The integration of the DHT11 sensor enables the FPV drone to gather crucial atmospheric
data during surveillance missions. This data can be utilized for various applications, including weather
monitoring, pollution detection, and environmental research. Furthermore, by leveraging the Arduino
platform, the system provides flexibility for customization and expansion, allowing additional sensors or
functionalities to be incorporated as needed.The proposed system offers several advantages over
conventional surveillance drones, including enhanced situational awareness through real-time atmospheric
condition monitoring and improved decision-making capabilities for operators. Additionally, the
integration of Arduino-based solutions provides a cost-effective and accessible means to develop advanced
UAV applications for a wide range of industries.

7
Chapter 1

INTRODUCTION

In an era marked by technological advancements, the fusion of remote-


controlled (RC) first-person-view (FPV) drones with Arduino and sensors like
the DHT11 has revolutionized surveillance and environmental monitoring. This
integration offers a powerful solution for both security and atmospheric
condition assessment, catering to a range of applications from home monitoring
to industrial surveillance.The RC FPV drone serves as the primary platform,
providing mobility and versatility in navigating diverse terrains and
environments. Equipped with a camera and video transmission system, it offers
real-time visual feedback, enabling users to remotely view areas of interest with
unparalleled convenience and efficiency.Integrating Arduino, a versatile
microcontroller platform, enhances the drone's capabilities by enabling the
integration of various sensors and control mechanisms. The DHT11 sensor,
renowned for its accuracy and reliability, becomes a crucial component in this
setup, facilitating the monitoring of environmental parameters such as
temperature and humidity.Surveillance capabilities are significantly enhanced
with this setup, allowing users to conduct aerial patrols, monitor sensitive areas,
and gather valuable intelligence remotely. Additionally, the ability to stream live
video feeds empowers users with actionable insights in real-time, enabling
prompt decision-making and response to dynamic situations.Moreover, the
inclusion of the DHT11 sensor expands the drone's utility beyond security
applications, enabling atmospheric condition checking.

8
Chapter 2
HARDWARE REQUIREMENTS
2.1 RC FPV

Fig 2.1 DRONE TOP VIEW

An RC FPV (Remote-Controlled First-Person-View) drone offers an immersive flying experience,


allowing operators to control the aircraft remotely while seeing a live video feed from its onboard camera.
This technology combines the thrill of piloting with real-time visual feedback, enhancing control precision
and situational awareness. Typically built on lightweight frames with brushless motors and propellers,
these drones utilize sophisticated flight controllers to maintain stability and respond to pilot commands.
Pilots control the drone using a handheld remote controller, while the FPV system provides a direct view
from the drone's perspective through FPV goggles or a monitor. This setup enables a wide range of
applications, from recreational flying to professional cinematography, aerial photography, and even search
and rescue missions. With advancements in technology, RC FPV drones continue to push the boundaries
of aerial exploration and innovation, offering enthusiasts and professionals alike a thrilling and immersive
way to navigate the skies.

9
Components:

Lightweight frame for agility and durability

Brushless motors and propellers for lift and thrust

Flight controller for stability and control

Handheld remote controller for pilot commands

Battery for power supply

Flight Control:

Advanced flight controller regulates stability and interprets commands

Adjusts motor speeds for precise control

Pilots command altitude, speed, and direction via remote controller

Executes various aerial maneuvers based on pilot input

First-Person-View (FPV) System:

High-definition camera mounted on drone captures real-time video footage

Video transmitter wirelessly transmits footage to ground station

FPV goggles or monitor receive and display live video feed

Offers cockpit-like perspective for immersive flying experience

Features and Enhancements:

Adjustable camera angles for flexible viewing

Digital image stabilization for smooth footage

Telemetry data overlays provide flight information

Customizable settings for personalized flying experience

Applications:

Recreation: Enjoy exhilarating aerial adventures

Cinematography: Capture stunning aerial footage for films and videos

Search and Rescue: Aid in locating and rescuing individuals in remote or inaccessible areas
10
Aerial Inspection: Conduct inspections of infrastructure, buildings, and facilities

Environmental Monitoring: Monitor environmental conditions and collect data for research purposes.

The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P
microcontroller and developed by Arduino.cc. The board is equipped with sets of digital and analog
input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The
board has 14 Digital pins, 6 Analog pins, and programmable with the Arduino IDE (Integrated
Development Environment) via a type B USB cable. It can be powered by the USB cable or by an external
9-volt battery, though it accepts voltages between 7 and 20 volts. It is also similar to the Arduino Nano and
Leonardo. You can tell your board what to do by sending a set of instructions to the microcontroller on the
board. To do so you use the Arduino programming language (based on Wiring), and the Arduino Software
(IDE), based on Processing.

ARDUINO:

setup( ): A function present in every Arduino sketch. Run once before the loop( ) function. Often used to
set pinmode to input or output. The setup( ) function looks like:

void setup( ){

//code goes here

loop( ): A function present in every single Arduino sketch. This code happens over and over again. The
loop( ) is where (almost) everything happens. The one exception to this is setup( ) and variable declaration.
ModKit uses another type of loop called “forever( )” which executes over Serial. The loop( ) function
looks like:

void loop( ) {

//code goes here

input: A pin mode that intakes information.

output: A pin mode that sends information.

HIGH: Electrical signal present (5V for Uno). Also ON or True in boolean logic.

LOW: No electrical signal present (0V). Also OFF or False in boolean logic.
11
digitalRead: Get a HIGH or LOW reading from a pin already declared as an input.

digitalWrite: Assign a HIGH or LOW value to a pin already declared as an output.

analogRead: Get a value between or including 0 (LOW) and 1023 (HIGH). This allows you to get
readings from analog sensors or interfaces that have more than two states.

analogWrite: Assign a value between or including 0 (LOW) and 255 (HIGH). This allows you to
set output to a PWM value instead of just HIGH or LOW.

PWM: Stands for Pulse-Width Modulation, a method of emulating an analog signal through a
digital pin. A value between or including 0 and 255. Used with analogWrite.

These boards below use the same micro-controller, just in a different package. The Lilypad is designed for
use with conductive thread instead of wire and the Arduino Mini is simply a smaller package without the
USB, Barrel Jack and Power Outs.

It depends on what you want to do with it really. There are two different purposes outlined above
for the voltage divider, we will go over both.

If you wish to use the voltage divider as a sensor reading device first you need to know the
maximum voltage allowed by the analog inputs you are using to read the signal. On an Arduino this is 5V.
So, already we know the maximum value we need for Vout. The Vin is simply the amount of voltage
already present on the circuit before it reaches the first resistor. You should be able to find the maximum
voltage your sensor outputs by looking on the Datasheet; this is the maximum amount of voltage your
sensor will let through given the voltage in of your circuit. Now we have exactly one variable left, the
value of the second resistor. Solve for R2 and you will have all the components of your voltage divider
figured out! We solve for R1's highest value because a smaller resistor will simply give us a smaller signal
which will be readable by our analog inputs.

Powering an analog Reference is exactly the same as reading a sensor except you have to calculate for the
Voltage Out value you want to use as the analog Reference.

All of the electrical signals that the Arduino works with are either Analog or Digital. It is extremely
important to understand the difference between these two types of signal and how to manipulate the
information these signals represent.

OUTPUT SIGNALS

Output to the Arduino pins is always Digital, however there are two different types of Digital Output;
regular Digital Output and Pulse Width Modulation Output (PWM). Output is only possible with Digital

12
pins # 0 - # 13. The Digital pins are preset as Output pins, so unless the pin was used as an Input in the
same sketch, there is no reason to use the pinMode command to set the pin as an Output. Should a situation
arise where it is necessary to reset a Digital pin to Output from Input use the command:

 pinMode(pinNumber, OUTPUT);

Where pinNumber is the Digital pin number set as Output. To send a Digital Output signal use the
command:

 digitalWrite(pinNumber, value);

Where pinNumber is the Digital pin that is outputting the signal and value is the signal. When outputting
a Digital signal value can be either HIGH (On) or LOW (Off).

 analogWrite(pinNumber, value);

Where pinNumber is a Digital Pin with PWM capabilities and value is a number between 0 (0%) and 255
(100%). For more information on PWM see the PWM worksheets or S.I.K. circuit 12.

Output can be sent to many different devices, but it is up to the user to figure out which kind of Output
signal is needed, hook up the hardware and then type the correct code to properly use these signals.

Fig 2.2 ARDUINO BOARD

13
INPUT SIGNALS

Analog Input enters your Arduino through the Analog In pins # 0 - # 5. These signals originate from analog
sensors and interface devices. These analog sensors and devices use voltage levels to communicate their
information instead of a simple yes (HIGH) or no (LOW). For this reason you cannot use a digital pin as
an input pin for these devices. Analog Input pins are used only for receiving Analog signals. It is only
possible to read the Analog Input pins so there is no command necessary in the setup( ) function to prepare
these pins for input. To read the Analog Input pins use the command:

AnalogRead (pinNumber);

Where pinNumber is the Analog Input pin number. This function will return an Analog Input
reading between 0 and 1023. A reading of zero corresponds to 0 Volts and a reading of 1023 corresponds
to 5 Volts. These voltage values are emitted by the analog sensors and interfaces. If you have an Analog
Input that could exceed Vcc + .5V you may change the voltage that 1023 corresponds to by using the Aref
pin. This pin sets the maximum voltage parameter your Analog Input pins can read. The Aref pin's preset
value is 5V.

Digital Input can enter your Arduino through any of the Digital Pins # 0 - # 13. Digital Input signals are
either HIGH (On, 5V) or LOW (Off, 0V). Because the Digital pins can be used either as input or output
you will need to prepare the Arduino to use these pins as inputs in your

setup( )function. To do this types the command:

 pinMode(pinNumber, INPUT);

inside the curly brackets of the setup( ) function where pinNumber is the Digital pin number you wish to
declare as an input. You can change the pinMode in the loop( )function if you need to switch a pin back
and forth between input and output, but it is usually set in the setup( )function and left untouched in the
loop( )function. To read the Digital pins set as inputs use the command:

 digitalRead(pinNumber);

Where pinNumber is the Digital Input pin number.

Input can come from many different devices, but each device's signal will be either Analog or Digital, it is
up to the user to figure out which kind of input is needed, hook up the hardware and then type the correct
code to properly use these signals.

14
X1:

 DE-9 serial connector

Used to connect computer (or other devices) using RS-232 standard. Needs a serial cable, with at least
4 pins connected: 2, 3, 4 and 5. Works only when JP0 is set to 2-3 position.

DC1:

 2.1 mm. power jack

Used to connect external power source. Centre positive. Voltage Regulator Works with regulated +7 to
+20 volts DC (9v. to 12v. is recommended). It is possible to alternatively connect external power using 9v.
pin or 5v. pin. (see POWER PINOUT)

ICSP:

2x3 pin header Used to program Atmega with bootloader. The number 1 on both sides of the board
indicates cable pin1 position. Used to upload sketches on Atmega ICs without bootloader (available only
in Arduino IDE versions 0011 and 0012).

JP0

3 pins jumper When in position 2-3, this jumper enables serial connection (through X1 connector)
to/from computer/devices. Use this as default position. When in position 1-2, it disables serial
communication, and enables external pull-down resistors on pin0 (RX) and pin1 (TX). Use this only to
prevent noise on RX (that seems incoming data to Atmega), that sometimes makes sketch not starting.
When removing this jumper, serial communication is disabled, and pin0 and pin1 work as a normal
(floating) digital pin. Useful when more digital pins are needed, but only when serial communication is
not necessary. External pull-down/pull-up resistor is required.

JP4

2 pins jumper When in position 1-2, this jumper enables auto reset feature, useful when uploading
a sketch to Arduino, resetting Atmega automatically. It makes unnecessary to press reset button (S1) when
uploading sketches. Be sure that computer COM Port speed is set to 19200bps otherwise auto reset will
not work properly. If removed, disables auto reset feature. Very useful to prevent undesired Atmega reset
when using sketches that needs serial communication. Auto reset works with DTR pulse on serial pin4.

15
Sometimes Arduino senses a DTR pulse when connecting X1 (serial connector) and some softwares sends
a DTR pulse when it starts or when it closes, that makes Atmega reset when not desired.

S1

Tactile button This button resets Atmega, to restart uploaded sketch or to prepare Arduino to receive
a sketch through serial connector (when auto reset is not active).

LEDS

Indicative leds POWER led Turns on when Arduino is powered through DC1, +9v. pin or +5v.
pin. RX led Blinks when receiving data from computer/device through serial connection. TX led Blinks
when sending data to computer/device through serial connection. L led This led is connected to digital
pin13 with a current limiter resistor (that doesn’t affect pin13). Useful to test sketches. It is normal to blink
when bootloading too.

POWER PINOUT

6 pin header

RST pin

Makes Atmega reset when connected to GND. Useful for Shield Boards, or to connect external
reset.

NC pin

This pin is not connected in Arduino S3v3. Arduino Diecimila has a 3.3 volts pin in the same
position.

+9v pin

When Arduino DC1 is powered (with battery or DC adaptor), this pin is used as Vout, with the same
voltage supplied on DC1 (see DC1), minus 0,7 volts. The total supplied current depends on external power
source capacity When Arduino DC1 is not powered, +9v. pin can be used as Vin, connecting it to a external
regulated power source (+7 to +20 volts) and connecting 0v. pin to external power source GND. In this
case,

+5v pin

It can be used as Vout, supplying +5 volts. +5v. pin When Arduino DC1 is powered (with battery
or DC adaptor), +5v. pin supplies +5 volts as a Vout pin. The total supplied current depends on Voltage
Regulator (7805 supplies up to 1A). This applies only to +5v. pin: Atmega in/out pins only supplies max.

16
40mA on each pin. When Arduino DC1 is not powered, this pin can be used as Vin, connecting it to a
regulated +5v. and connecting 0v. pin to power source GND. In this case, +9v. pin is inactive. 0v. pin
(GND) Two 0v. pins between +5v. and +9v. / One

0v. pin

Beside AREF pin. When Arduino DC1 is powered, 0v. pin supplies 0 volts reference (GND) for
+5v. pin and +9v. pin. When DC1 is not powered, and Arduino is powered through +5v. pin or +9v. pin,
0v. pin must be used as GND reference, connecting it to the external power source GND.

GND pin

see 0v. pin (GND).

AREF pin

The AREF can be set to AVcc (default), internal 2.56 volts (Atmega8), internal 1.1 volts
(Atmega168), or external AREF. In case of AVcc or internal AREF, AREF pin can be used to attach na
external capacitor to decouple the signal, for better noise performance. In case of external AREF, AREF
pin is used to attach the external reference voltage. Remember that it is necessary to change de fuses
(wiring.c file), and re-upload sketch, before connecting external voltage to AREF

SOFTWARE TIPS

When bootloading na Atmega8 chip with Arduino 0010, there is a command (-i800) that makes
bootloader delay 10 minutes. So, if you need to use bootloader, use command line instead of IDE, removing
“–i800” command and adding “–F” command, or use Arduino 0007 IDE. To upload sketches Arduino 0010
works fine.

ARDUINO S3v3 NEW FEATURES

Full compatible with Shield Boards (Version 2 is the only Arduino Board not compatible with Shield
Boards because of ICSP header wrong position, and tall components);

 A Vcc LP filter to reduce noise level on ADC;


 auto reset feature;
 auto reset enable/disable jumper, to avoid not desired reseting;
 arduino Diecimila compatible reset pin;

17
Esp32 cam
the ESP32 Camera Module is an extension of the ESP32 microcontroller that includes a
camera sensor. This module allows you to capture images and video with the ESP32,
making it suitable for various applications, including surveillance cameras, IoT projects,
and image processing applications. Here are key features and details about the ESP32
Camera Module:

Camera Sensor:

The ESP32 Camera Module typically includes a camera sensor, such as the OV2640 or
OV7725, capable of capturing images and video.

Resolution:

The resolution of the camera module is determined by the specific camera sensor used.
Common resolutions include 2 megapixels for the OV2640.

Interface:

The camera module interfaces with the ESP32 microcontroller through the Serial Camera
Control Bus (SCCB) or I2C for configuring camera settings.

Communication with ESP32:

The camera module communicates with the ESP32 through the Serial Peripheral Interface
(SPI) for data transfer.

Programming:

Programming the ESP32 Camera Module is typically done using the Arduino IDE with the
ESP32 Arduino core or using the ESP-IDF (Espressif IoT Development Framework) for
more advanced applications.

18
Storage:

Images and video captured by the camera module can be stored on an SD card or sent over
a network for further processing or storage.

WiFi Capabilities:

The ESP32 Camera Module often comes with built-in WiFi capabilities, allowing it to
connect to a network and stream video or send images over the internet.

Powerful Processing:

The ESP32 microcontroller provides powerful processing capabilities, making it suitable


for real-time image processing tasks.

Fig 2.3 Esp32

19
2.2 Dht11:
This sensor is used here to monitor the humidity variation of the environment where the
crops are cultivated. This is a digital sensor and measures the humidity value in percentage format.

Fig 2.4 DHT11 Sensor

DHT11 Sensor

DHT11 humidity and temperature sensor is available as a sensor and as a module. The difference
between this sensor and module is the pull-up resistor and a power-on LED. DHT11 is a relative humidity
sensor. To measure the surrounding air this sensor uses a thermistor and a capacitive humidity s

DHT11 is a low-cost digital sensor for sensing temperature and humidity. This sensor can be easily
interfaced with any micro-controller such as Arduino, Raspberry Pi etc… to measure humidity and
temperature instantaneously.

20
Working

DHT11 sensor consists of a capacitive humidity sensing element and a thermistor for
sensing temperature. The humidity sensing capacitor has two electrodes with a moisture
holding substrate as a dielectric between them. Change in the capacitance value occurs with
the change in humidity levels. The IC measure, process this changed resistance values and
change them into digital form.

For measuring temperature this sensor uses a Negative Temperature coefficient


thermistor, which causes a decrease in its resistance value with increase in temperature. To
get larger resistance value even for the smallest change in temperature, this sensor is usually
made up of semiconductor ceramics or polymers.

The temperature range of DHT11 is from 0 to 50 degree Celsius with a 2-degree


accuracy. Humidity range of this sensor is from 20 to 80% with 5% accuracy. The sampling
rate of this sensor is 1Hz .i.e. it gives one reading for every second. DHT11 is small in size
with operating voltage from 3 to 5 volts. The maximum current used while measuring is
2.5mA.

DHT11 sensor has four pins- VCC, GND, Data Pin and a not connected pin. A pull-
up resistor of 5k to 10k ohms is provided for communication between sensor and micro-
controller.

21
Fig 2.5 HUMIDITY SENSOR

2.3 HUMIDITY (DHT11):

 DHT11 uses only one wire for communication. The voltage levels with certain time value defines
the logic one or logic zero on this pin.
 The communication process is divided in three steps, first is to send request to DHT11 sensor then
sensor will send response pulse and then it starts sending data of total 40 bits to the microcontroller.

Communication process

Start pulse (Request)

 To start communication with DHT11, first we should send the start pulse to the DHT11 sensor.

22
 To provide start pulse, pull down (low) the data pin minimum 18ms and then pull up, as shown in
diag.

Response

 After getting start pulse from, DHT11 sensor sends the response pulse which indicates that DHT11
received start pulse.
 The response pulse is low for 54us and then goes high for 80us.

Applications

This sensor is used in various applications such as measuring humidity and temperature values in
heating, ventilation and air conditioning systems. Weather stations also use these sensors to predict weather
conditions. The humidity sensor is used as a preventive measure in homes where people are affected by
humidity. Offices, cars, museums, greenhouses and industries use this sensor for measuring humidity
values and as a safety measure.

23
2.4 BRUSHLESS DC MOTORS

A brushless DC motor (BLDC), also known as a permanent magnet synchronous electric motor,
operates differently from traditional brushed DC motors. Let’s delve into its construction and working
principles:

1. Construction of BLDC Motor:


o The BLDC motor consists of two main components: the stator (stationary part) and
the rotor (rotating part).
o Unlike brushed DC motors, where brushes physically contact the commutator on the
rotor, BLDC motors employ electronic commutation.
o In a BLDC motor:
 The permanent magnets are attached to the rotor.
 The electromagnets (coils) are positioned on the stator.
 Hall sensors or rotary encoders sense the rotor’s position.
 Transistors or silicon-controlled rectifiers switch the armature coils electronically
at the correct rotor position.
 This arrangement eliminates the need for brushes and commutators, resulting in
more reliable and quieter operation.

Fig 2.6 BRUSHLESS MOTOR

24
2. Working of Brushless DC Motor:
o The stator coils are sequentially energized in a specific pattern with varying electrical
directions.
o This produces a force on the permanent magnets arranged on the rotor.
o The rotor rotates due to the resulting torque.
o The electronic commutation ensures precise control and efficient operation .

Fig 2.7 MOTOR

2.5 PROPELLER

propeller is like a spinning fan that helps things move forward. It has twisted blades that push air or water
backward, creating a force that pushes whatever it's attached to, like a boat or an airplane, in the opposite
direction. So, when a propeller spins, it makes things go forward.

Fig 2.8 DRONE

25
2.6 BATTERY

battery is like a tiny power pack. It stores energy inside it, kind of like a little fuel tank, and releases that
energy when we need it. We use batteries to power all sorts of things, like toys, phones, and even cars.
They're handy because we can take them anywhere, and they give us electricity whenever we need it .

26
Chapter 3

Arduino Software (IDE)

 Writing Sketches

 File
 Edit
 Sketch
 Tools
 Help

 Sketchbook
 Tabs, Multiple Files, and Compilation
 Uploading
 Libraries
 Third-Party Hardware
 Serial Monitor
 Preferences
 Language Support
 Boards

The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a text
editor for writing code, a message area, a text console, a toolbar with buttons for common functions and a
series of menus. It connects to the Arduino and Genuino hardware to upload programs and communicate
with them.

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 righthand 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.

27
NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the extension .pde. It is
possible to open these files with version 1.0, you will be prompted to save the sketch with the .ino extension
on save.

Verify
Checks your code for errors compiling it.

Upload
Compiles your code and uploads it to the configured board.
See uploadingbelow 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. The text will change to "Upload using
Programmer"

New
Creates a new sketch.

28
Open
Presents a menu of all the sketches in your sketchbook.
Clicking one will 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 open a sketch late in the list, use the File | Sketchbookmenu
instead.

Save
Saves your sketch.

Serial Monitor
Opens the serial monitor.

Additional commands are found within the five menus: File, Edit, Sketch, Tools, Help. The menus are
context sensitive, which means only those items relevant to the work currently being carried out are
available.

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
Opens the current sketch folder.

29
 Include Library
Adds a library to your sketch by inserting #include statements at the start of your code. For more details,
see libraries 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 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
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.

30
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.

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.

Tabs, Multiple Files, and Compilation

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. The boards 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 correct serial port and board, press
the upload button in the toolbar or select the Upload item from the Sketch menu. Current Arduino boards
will reset automatically and begin the upload. With older boards (pre-Diecimila) that lack auto-reset, you'll

31
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.

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.

32
Chapter 4

WORKING PRINCIPLE OF DRONE

In a camera drone with temperature and humidity sensors, the fundamental working principle revolves
around the coordination of various components to achieve controlled flight and environmental monitoring.
At the heart of the system lies the flight controller, typically a microcontroller like Arduino, responsible
for managing the drone's movement and stability. It processes inputs from onboard sensors, such as
gyroscopes and accelerometers, to maintain balance and orientation during flight. Meanwhile, the camera
module captures visual data, either as live video feed or recorded footage, under the command of the
microcontroller. Simultaneously, temperature and humidity sensors continuously measure the
environmental conditions surrounding the drone. These sensors relay real-time data back to the
microcontroller, enabling it to monitor and record changes in temperature and humidity levels throughout
the flight. Based on the collected data and programmed instructions, the microcontroller adjusts the drone's
flight parameters, including altitude, speed, and direction. This integrated approach allows the drone to
capture aerial imagery while simultaneously gathering environmental data, making it suitable for
applications such as aerial surveillance, environmental monitoring, and scientific research.

Fig 4.1 TEMPERATURE AND HUMIDITY SENSOR

33
Fig 4.2 HUMIDITY READINGS

Fig 4.3 TEMPERATURE READINGS

34
CODE

#include "esp_camera.h"

#include <WiFi.h>

#include "DHT.h"

DHT dht2(2,DHT11);

WiFiClient client;

const char* TS_SERVER = "api.thingspeak.com";

String TS_API_KEY = "7RQ0BBOVO47K0JOI";

const char* ssid = "POCO M3 Pro 5G";

const char* password = "11111111"

void startCameraServer();

void setupLedFlash(int pin);

void setup() {

Serial.begin(115200);

dht2.begin();

Serial.setDebugOutput(true);

Serial.println();

camera_config_t config;

config.ledc_channel = LEDC_CHANNEL_0;

config.ledc_timer = LEDC_TIMER_0;

config.pin_d0 = Y2_GPIO_NUM;

config.pin_d1 = Y3_GPIO_NUM;

config.pin_d2 = Y4_GPIO_NUM;

config.pin_d3 = Y5_GPIO_NUM;

config.pin_d4 = Y6_GPIO_NUM;

35
config.pin_d5 = Y7_GPIO_NUM;

config.pin_d6 = Y8_GPIO_NUM;

config.pin_d7 = Y9_GPIO_NUM;

config.pin_xclk = XCLK_GPIO_NUM;

config.pin_pclk = PCLK_GPIO_NUM;

config.pin_vsync = VSYNC_GPIO_NUM;

config.pin_href = HREF_GPIO_NUM;

config.pin_sccb_sda = SIOD_GPIO_NUM;

config.pin_sccb_scl = SIOC_GPIO_NUM;

config.pin_pwdn = PWDN_GPIO_NUM;

config.pin_reset = RESET_GPIO_NUM;

config.xclk_freq_hz = 20000000;

config.frame_size = FRAMESIZE_UXGA;

config.pixel_format = PIXFORMAT_JPEG; // for streaming

//config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition

config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;

config.fb_location = CAMERA_FB_IN_PSRAM;

config.jpeg_quality = 12;

config.fb_count = 1;

if(config.pixel_format == PIXFORMAT_JPEG){

if(psramFound()){

config.jpeg_quality = 10;

config.fb_count = 2;

config.grab_mode = CAMERA_GRAB_LATEST;

} else {

// Limit the frame size when PSRAM is not available

config.frame_size = FRAMESIZE_SVGA;

config.fb_location = CAMERA_FB_IN_DRAM;
36
}

} else {

config.frame_size = FRAMESIZE_240X240;

#if CONFIG_IDF_TARGET_ESP32S3

config.fb_count = 2;

#endif

#if defined(CAMERA_MODEL_ESP_EYE)

pinMode(13, INPUT_PULLUP);

pinMode(14, INPUT_PULLUP);

#endif

esp_err_t err = esp_camera_init(&config);

if (err != ESP_OK) {

Serial.printf("Camera init failed with error 0x%x", err);

return;

sensor_t * s = esp_camera_sensor_get();

// initial sensors are flipped vertically and colors are a bit saturated

if (s->id.PID == OV3660_PID) {

s->set_vflip(s, 1); // flip it back

s->set_brightness(s, 1); // up the brightness just a bit

s->set_saturation(s, -2); // lower the saturation

// drop down frame size for higher initial frame rate

if(config.pixel_format == PIXFORMAT_JPEG){

s->set_framesize(s, FRAMESIZE_QVGA);

37
#if defined(CAMERA_MODEL_M5STACK_WIDE) ||
defined(CAMERA_MODEL_M5STACK_ESP32CAM)

s->set_vflip(s, 1);

s->set_hmirror(s, 1);

#endif

#if defined(CAMERA_MODEL_ESP32S3_EYE)

s->set_vflip(s, 1);

#endif

#if defined(LED_GPIO_NUM)

setupLedFlash(LED_GPIO_NUM);

#endif

WiFi.begin(ssid, password);

WiFi.setSleep(false);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

Serial.println("");

Serial.println("WiFi connected");

startCameraServer();

Serial.print("Camera Ready! Use 'http://");

Serial.print(WiFi.localIP());

Serial.println("' to connect");

void loop() {

Serial.println("Temperature in C:");

Serial.println((dht2.readTemperature( )));
38
Serial.println("Humidity in C:");

Serial.println((dht2.readHumidity()));

delay(1000);

float t=dht2.readTemperature( );

float h=dht2.readHumidity();

if (client.connect(TS_SERVER, 80))

String postStr = TS_API_KEY;

postStr += "&field1=";

postStr += String(t);

postStr += "&field2=";

postStr += String(h);

postStr += "\r\n\r\n";

client.print("POST /update HTTP/1.1\n");

client.print("Host: api.thingspeak.com\n");

client.print("Connection: close\n");

client.print("X-THINGSPEAKAPIKEY: " + TS_API_KEY + "\n");

client.print("Content-Type: application/x-www-form-urlencoded\n");

client.print("Content-Length: ");

client.print(postStr.length());

client.print("\n\n");

client.print(postStr);

delay(1000);

}}

39
Chapter 5

APPLICATION AND ADVANTAGES


A camera drone with temperature and humidity sensors can have various practical applications in daily
life:

1. *Environmental Monitoring*: The drone can be used to monitor environmental conditions in outdoor
spaces such as parks, forests, or agricultural fields. By capturing aerial footage and collecting temperature
and humidity data, it can provide insights into weather patterns, microclimates, and environmental changes
over time.

2. *Disaster Assessment and Response*: In the event of natural disasters like wildfires, floods, or
hurricanes, the drone equipped with temperature and humidity sensors can assess the extent of damage
and identify areas at risk. This information can help emergency responders prioritize resources and plan
evacuation or rescue efforts more effectively.

3. *Building Inspection and Maintenance*: Camera drones with temperature and humidity sensors can be
employed to inspect buildings, infrastructure, and industrial facilities for signs of moisture intrusion, leaks,
or structural damage. By detecting anomalies in temperature and humidity levels, they can help identify
potential issues before they escalate into costly repairs.

4. *Precision Agriculture*: Farmers can use drones equipped with temperature and humidity sensors to
monitor crop health and optimize irrigation practices. By assessing moisture levels in the soil and humidity
in the air, the drone can provide insights into crop water requirements, helping farmers make informed
decisions about watering schedules and fertilization.

5. *Urban Planning and Development*: City planners and developers can utilize camera drones with
environmental sensors to gather data for urban planning projects. By analyzing temperature and humidity
patterns across different areas of a city, they can identify heat islands, assess air quality, and inform
decisions about green space allocation and infrastructure development.

6. *Wildlife Conservation*: Researchers and conservationists can deploy drones equipped with
temperature and humidity sensors to study wildlife habitats and monitor biodiversity. By capturing aerial

40
imagery and environmental data, they can assess the impact of climate change, habitat loss, and human
encroachment on ecosystems and implement conservation strategies accordingly.

7. *Outdoor Events and Recreation*: Camera drones with temperature and humidity sensors can enhance
outdoor events and recreational activities by providing real-time weather updates and monitoring
environmental conditions. They can help event organizers make decisions about scheduling, crowd
management, and participant safety, ensuring a positive experience for attendees.

ADVANTAGES
1. Versatile Data Collection: Camera drones equipped with temperature and humidity sensors offer a
versatile platform for collecting environmental data from different locations and altitudes. They can access
remote or hard-to-reach areas, providing comprehensive insights into temperature and humidity variations
across landscapes and urban environments.

2. Efficient Monitoring: Drones enable efficient and cost-effective monitoring of temperature and humidity
over large areas compared to traditional ground-based methods. They can cover expansive territories in a
fraction of the time, allowing for more frequent and comprehensive data collection without the need for
extensive manpower or resources.

3. Real-Time Data Acquisition: Camera drones provide real-time data acquisition capabilities, allowing
users to obtain up-to-date information on temperature and humidity conditions in specific areas. This
enables timely decision-making and response to changing environmental conditions, such as weather
patterns or microclimate fluctuations.

4. High Spatial Resolution: Drones equipped with high-resolution cameras and sensors can capture detailed
imagery and environmental data with high spatial resolution. This level of detail enhances the accuracy
and precision of temperature and humidity measurements, enabling more nuanced analysis and
interpretation of environmental patterns and trends.

5. Non-Invasive Monitoring: Camera drones offer non-invasive monitoring of temperature and humidity
without disturbing natural habitats or ecosystems. They can collect data from a distance, minimizing the
impact on wildlife and sensitive environments while still providing valuable insights into environmental
conditions.

6. Adaptability to Various Applications: Camera drones with temperature and humidity sensors are highly
adaptable to a wide range of applications across different industries and sectors.

41
Chapter 6

CONCLUSION

In conclusion, integrating an Arduino, DHT11 sensor, and FPV (First Person


View) technology into a drone for surveillance and atmospheric condition
monitoring presents a promising solution for various applications. By
combining these technologies, you can achieve real-time data collection and
analysis capabilities while remotely monitoring environments from a bird's eye
view.The Arduino serves as the central control unit, managing the sensor data
acquisition and processing, as well as controlling the drone's flight and camera
systems. The DHT11 sensor provides essential atmospheric data such as
temperature and humidity, enabling users to monitor environmental conditions
accurately.The FPV system allows operators to view live video feeds from the
drone's camera, providing valuable situational awareness and enhancing
surveillance capabilities. This real-time video feedback enables swift decision-
making and facilitates efficient monitoring of large areas, making it ideal for
applications such as security surveillance, environmental monitoring, disaster
response, and more.Overall, this integrated system offers a versatile and cost-
effective solution for surveillance and environmental monitoring tasks, with
potential applications across various industries including agriculture,
infrastructure inspection, emergency response, and beyond. With further
refinement and customization, it holds the potential to become an invaluable
tool for enhancing situational awareness and data-driven decision-making in
diverse scenarios.
42
Chapter 7

FUTURE SCOPE
In the future, camera drones equipped with temperature and humidity sensors are poised to revolutionize
environmental monitoring and research efforts. With advancements in sensor technology and drone
capabilities, these drones will be able to gather more detailed and accurate data across various domains.
Integration of advanced sensors such as hyperspectral imaging and thermal imaging will enhance the
drones' ability to capture comprehensive environmental information. Furthermore, the incorporation of
artificial intelligence (AI) and machine learning algorithms will enable drones to autonomously analyze
and interpret data, providing valuable insights for predictive modeling and decision-making. Future
camera drones may extend their monitoring capabilities to include aquatic and atmospheric domains,
contributing to oceanographic research and weather forecasting. Additionally, miniaturization of sensors
will enable drones to monitor temperature and humidity at microscale resolutions, facilitating localized
assessments in urban environments and indoor spaces. Collaborative networks of drones operating as
sensor arrays or swarms will enhance spatial coverage and data redundancy, improving the accuracy and
reliability of environmental monitoring efforts. These advancements will not only advance scientific
understanding but also empower citizen scientists and communities to participate in environmental
monitoring initiatives, fostering public engagement and awareness of environmental issues. Overall, the
future of camera drones with temperature and humidity sensors holds great promise for addressing
complex environmental challenges and promoting sustainable stewardship of our planet's resources.

43
REFERENCES
[1] Darack E. (2012). UAVs: The new frontier for weather research and prediction.
Weatherwise, 65(2): 20-27

[2] Acheampong AA, Fosu C, Amekudzi LK, Kaas E. (2017). Perceptible water
comparisons over Ghana using PPP techniques and reanalysis data. South African Journal
of Geomatics, 6(3):449

[3] Jensen J. (2019). Agricultural Drones: How Drones Are Revolutionizing Agriculture
and How to Break into this Booming Market. https://uavcoach.com/agricultural-drones/

[4] Herrmann JW, Lin ET, Al E. (2001). Affordable space systems manufacturing:
Intelligent synthesis. Paper presented at the CD-ROM ASME Design Engineering
Technical Conferences.

[5] Arakliotis S, Nikolos DG, Lawris KE. (2016). A Rule Based Arduino Programming
System for Young Students. Paper presented at the International Conference on Modern
Circuits and Systems Technologies
[6] Curry JM, Ohnson ER, Tarnes JH. (2015). Effect of dropped plies on the strength of
graphiteepoxy laminates. AIAA Journal, 30(2):449-456 Cereveny R.Hamilton and the
hurricane. Weatherwise. 2016;69(5):42-48

[7] S.Khan, L.Arago and J. Iriarte,”A uavlidar system to map amazonian rainforest and its
landscape transformations,” International Journal of Remote Sensing , vol. 38, no. 8-10,pp.
2313-2330, 2017.

44

You might also like