You are on page 1of 23

PROJECT REPORT

RADAR SYSTEM
USING ARDUINO
UNO

UNDER GUIDANCE OF :- SUBMITTED BY-


ASST. PROF. SUBHO UPADHYAY 1. TARANG SINGH (2002164)
DEPARTMENT OF RENEWABLE ENERGY 2. KIRTI YADAV (2002137)
DAYALBAGH EDUCATIONAL INSTITUTE
TABLE OF CONTENTS

➢ Introduction to Radar System


➢ Components and their description
➢ Block Diagram
➢ Circuit Diagram
➢ Working Principle
➢ Project Codes
➢ Our Setup of Radar System
➢ Output
➢ Applications
➢ References

PAGE 1
INTRODUCTION TO RADAR SYSTEM

radar, electromagnetic sensor used for detecting, locating, tracking, and


recognizing objects of various kinds at considerable distances. It operates by
transmitting electromagnetic energy toward objects, commonly referred to as
targets, and observing the echoes returned from them. The targets may be aircraft,
ships, spacecraft, automotive vehicles, and astronomical bodies, or even birds,
insects, and rain. Besides determining the presence, location, and velocity of such
objects, radar can sometimes obtain their size and shape as well. What distinguishes
radar from optical and infrared sensing devices is its ability to detect faraway objects
under adverse weather conditions and to determine their range, or distance, with
precision.

Radar is an “active” sensing device in that it has its own source of illumination (a
transmitter) for locating targets. It typically operates in the microwave region of
the electromagnetic spectrum—measured in hertz (cycles per second), at
frequencies extending from about 400 megahertz (MHz) to 40 gigahertz (GHz). It
has, however, been used at lower frequencies for long-range applications
(frequencies as low as several megahertz, which is the HF [high-frequency], or
shortwave, band) and at optical and infrared frequencies (those of laser radar, or
lidar). The circuit components and other hardware of radar systems vary with
the frequency used, and systems range in size from those small enough to fit in the
palm of the hand to those so enormous that they would fill several football fields.

PAGE 2
COMPONENTS

Hardware
• Arduino UNO
• HC-SR04 Ultrasonic Sensor
• Tower Pro SG90 Servo Motor
• Jumper Wires
• USB Cable (for Arduino)

Software
• Arduino IDE
• Processing Application

PAGE 3
ARDUINO UNO

Arduino UNO is a low-cost, flexible, and easy-to-use programmable open-source


microcontroller board that can be integrated into a variety of electronic projects. This
board can be interfaced with other Arduino boards, Arduino shields, Raspberry Pi
boards and can control relays, LEDs, servos, and motors as an output. Arduino Uno
is a microcontroller board based on the ATmega328P (datasheet). It has 14 digital
input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16
MHz quartz crystal, a USB connection, a power jack, an ICSP header and a reset
button. It contains everything needed to support the microcontroller; simply connect
it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to
get started. "Uno" means one in Italian and was chosen to mark the release of Arduino
Software (IDE) 1.0. The Uno board and version 1.0 of Arduino Software (IDE) were the
reference versions of Arduino, now evolved to newer releases. The Uno board is the
first in a series of USB Arduino boards, and the reference model for the Arduino
platform; for an extensive list of current, past or outdated boards see the Arduino
index of boards.

ARDUINO UNO

Link: https://docs.arduino.cc/hardware/uno-rev3

PAGE 4
ULTRASONIC SENSOR

An ultrasonic sensor is an instrument that measures the distance to an object


using ultrasonic sound waves. An ultrasonic sensor uses a transducer to send
and receive ultrasonic pulses that relay back information about an object’s
proximity. High-frequency sound waves reflect from boundaries to produce
distinct echo patterns. Ultrasonic sensors work by sending out a sound wave at
a frequency above the range of human hearing. The transducer of the sensor
acts as a microphone to receive and send the ultrasonic sound. Our ultrasonic
sensors, like many others, use a single transducer to send a pulse and to receive
the echo. The sensor determines the distance to a target by measuring time
lapses between the sending and receiving of the ultrasonic pulse. The working
principle of this module is simple. It sends an ultrasonic pulse out at 40kHz
which travels through the air and if there is an obstacle or object, it will bounce
back to the sensor. By calculating the travel time and the speed of sound, the
distance can be calculated. Ultrasonic sensors are a great solution for the
detection of clear objects. For liquid level measurement, applications that use
infrared sensors, for instance, struggle with this particular use case because of
target translucence. For presence detection, ultrasonic sensors detect objects
regardless of the colour, surface, or material (unless the material is very soft like
wool, as it would absorb sound.). To detect transparent and other items where
optical technologies may fail, ultrasonic sensors are a reliable choice.

ULTRASONIC SENSOR

LINK: https://www.maxbotix.com/articles/how-ultrasonic-sensors-work.htm

PAGE 5
SERVO MOTOR

A servo motor is a type of motor that can rotate with great precision. Normally this
type of motor consists of a control circuit that provides feedback on the current
position of the motor shaft, this feedback allows the servo motors to rotate with
great precision. If you want to rotate an object at some specific angles or distance,
then you use a servo motor. It is just made up of a simple motor which runs through
a servo mechanism. If motor is powered by a DC power supply then it is called DC
servo motor, and if it is AC-powered motor then it is called AC servo motor. A servo
motor usually comes with a gear arrangement that allows us to get a very high
torque servo motor in small and lightweight packages. Due to these features, they
are being used in many applications like toy car, RC helicopters and planes,
Robotics, etc. Servo motors are rated in kg/cm (kilogram per centimeter). A servo
consists of a Motor (DC or AC), a potentiometer, gear assembly, and a controlling
circuit. First of all, we use gear assembly to reduce RPM and to increase torque of
the motor. Say at initial position of servo motor shaft, the position of the
potentiometer knob is such that there is no electrical signal generated at the output
port of the potentiometer. Now an electrical signal is given to another input terminal
of the error detector amplifier. Now the difference between these two signals, one
comes from the potentiometer and another comes from other sources, will be
processed in a feedback mechanism and output will be provided in terms of error
signal. This error signal acts as the input for motor and motor starts rotating. Now
motor shaft is connected with the potentiometer and as the motor rotates so the
potentiometer and it will generate a signal. So as the potentiometer’s angular
position changes, its output feedback signal changes. After sometime the position
of potentiometer reaches at a position that the output of potentiometer is same as
external signal provided. At this condition, there will be no output signal from the
amplifier to the motor input as there is no difference between external applied signal
and the signal generated at potentiometer, and in this situation motor stops
rotating.

SERVO MOTOR

LINK: https://circuitdigest.com/article/servo-motor-working-and-basics

PAGE 6
JUMPER WIRES

A wire is a single, usually cylindrical, flexible strand or rod of metal. Wires are

used to bear mechanical loads or electricity and telecommunications signals.

A jump wire is an electrical wire or group of them in a cable with a connector

or pin at each end. Wires are used to connect components to each other on

the breadboard or other prototypes, internally or with other equipment or

components, without soldering. Wire connectors could be male or female. A

male connector is commonly referred to as a plug and has a solid pin for a

center conductor. A female connector is commonly referred to as a jack and

has a center conductor with a hole in it to accept the male pin.

JUMPER WIRES

LINK: https://cityos-air.readme.io/docs/6-jumper-cable-wires

PAGE 7
BLOCK DIAGRAM

PAGE 8
CIRCUIT DIAGRAM

PAGE 9
WORKING PRINCIPLE

The basic objective of our design is to ascertain the distance position and speed of the
obstacle set at some distance from the sensor. Ultrasonic sensor sends the ultrasonic
wave in various ways by rotating with help of servo motors. This wave goes in air and
gets reflected back subsequent to striking some object. This wave is again detected
by the sensor and its qualities is analyzed and output is shown in screen indicating
parameters, for example, distance and position of object. Arduino IDE is utilized to
compose code and transfer coding in Arduino and causes us to detect position or
angle of servo motor and it is communicated through the serial port alongside the
covered distance of the nearest object in its way. Output of all of this working is
shown in the software called processing, it will display the input/output and the range
of the object. Implementations of the sensors are done in such a way that ultra-sonic
sensor is attached on top of the servo motor because it have to detect the object and
its distance. Arduino (micro-controller) will control the ultra-sonic sensor and servo
motor and also powered will be given to both of them through micro-controller.
When any obstacle/object is detected by the ultrasonic sensor the data is immediately
processed by the controller and is fed to the IDE which shows it on the display screen.
Here the process ends with an estimated distance of the object from the system with
the angle at which it is placed.

RADAR SYSTEM USING ARDUINO UNO AND ULTRASONIC SENSOR

PAGE 10
PROJECT CODE
ARDUINO CODE

// Includes the Servo library

#include <Servo.h>.

// Defines Tirg and Echo pins of the Ultrasonic Sensor

const int trigPin = 10;

const int echoPin = 11;

// Variables for the duration and the distance

long duration;

int distance;

Servo myServo; // Creates a servo object for controlling the servo motor

void setup() {

pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output

pinMode(echoPin, INPUT); // Sets the echoPin as an Input

Serial.begin(9600);

myServo.attach(12); // Defines on which pin is the servo motor attached

void loop() {

// rotates the servo motor from 15 to 165 degrees

for(int i=15;i<=165;i++){

myServo.write(i);

delay(30);

distance = calculateDistance();// Calls a function for calculating the distance measured by the
Ultrasonic sensor for each degree

Serial.print(i); // Sends the current degree into the Serial Port

PAGE 11
Serial.print(","); // Sends addition character right next to the previous value needed later in the
Processing IDE for indexing

Serial.print(distance); // Sends the distance value into the Serial Port

Serial.print("."); // Sends addition character right next to the previous value needed later in the
Processing IDE for indexing

// Repeats the previous lines from 165 to 15 degrees

for(int i=165;i>15;i--){

myServo.write(i);

delay(30);

distance = calculateDistance();

Serial.print(i);

Serial.print(",");

Serial.print(distance);

Serial.print(".");

// Function for calculating the distance measured by the Ultrasonic sensor

int calculateDistance(){

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

// Sets the trigPin on HIGH state for 10 micro seconds

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound wave travel time in
microseconds

PAGE 12
distance= duration*0.034/2;

return distance;

PROCESSING CODE

import processing.serial.*; // imports library for serial communication

import java.awt.event.KeyEvent; // imports library for reading the data from the serial port

import java.io.IOException;

Serial myPort; // defines Object Serial

// defubes variables

String angle="";

String distance="";

String data="";

String noObject;

float pixsDistance;

int iAngle, iDistance;

int index1=0;

int index2=0;

PFont orcFont;

void setup() {

size (1200, 700); // ***CHANGE THIS TO YOUR SCREEN RESOLUTION***

smooth();

myPort = new Serial(this,"COM5", 9600); // starts the serial communication

PAGE 13
myPort.bufferUntil('.'); // reads the data from the serial port up to the character '.'. So actually it
reads this: angle,distance.

void draw() {

fill(98,245,31);

// simulating motion blur and slow fade of the moving line

noStroke();

fill(0,4);

rect(0, 0, width, height-height*0.065);

fill(98,245,31); // green color

// calls the functions for drawing the radar

drawRadar();

drawLine();

drawObject();

drawText();

void serialEvent (Serial myPort) { // starts reading data from the Serial Port

// reads the data from the Serial Port up to the character '.' and puts it into the String variable
"data".

data = myPort.readStringUntil('.');

data = data.substring(0,data.length()-1);

index1 = data.indexOf(","); // find the character ',' and puts it into the variable "index1"

angle= data.substring(0, index1); // read the data from position "0" to position of the variable
index1 or thats the value of the angle the Arduino Board sent into the Serial Port

distance= data.substring(index1+1, data.length()); // read the data from position "index1" to the
end of the data pr thats the value of the distance

PAGE 14
// converts the String variables into Integer

iAngle = int(angle);

iDistance = int(distance);

void drawRadar() {

pushMatrix();

translate(width/2,height-height*0.074); // moves the starting coordinats to new location

noFill();

strokeWeight(2);

stroke(98,245,31);

// draws the arc lines

arc(0,0,(width-width*0.0625),(width-width*0.0625),PI,TWO_PI);

arc(0,0,(width-width*0.27),(width-width*0.27),PI,TWO_PI);

arc(0,0,(width-width*0.479),(width-width*0.479),PI,TWO_PI);

arc(0,0,(width-width*0.687),(width-width*0.687),PI,TWO_PI);

// draws the angle lines

line(-width/2,0,width/2,0);

line(0,0,(-width/2)*cos(radians(30)),(-width/2)*sin(radians(30)));

line(0,0,(-width/2)*cos(radians(60)),(-width/2)*sin(radians(60)));

line(0,0,(-width/2)*cos(radians(90)),(-width/2)*sin(radians(90)));

line(0,0,(-width/2)*cos(radians(120)),(-width/2)*sin(radians(120)));

line(0,0,(-width/2)*cos(radians(150)),(-width/2)*sin(radians(150)));

line((-width/2)*cos(radians(30)),0,width/2,0);

popMatrix();

void drawObject() {

PAGE 15
pushMatrix();

translate(width/2,height-height*0.074); // moves the starting coordinats to new location

strokeWeight(9);

stroke(255,10,10); // red color

pixsDistance = iDistance*((height-height*0.1666)*0.025); // covers the distance from the sensor


from cm to pixels

// limiting the range to 40 cms

if(iDistance<40){

// draws the object according to the angle and the distance

line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),(width-
width*0.505)*cos(radians(iAngle)),-(width-width*0.505)*sin(radians(iAngle)));

popMatrix();

void drawLine() {

pushMatrix();

strokeWeight(9);

stroke(30,250,60);

translate(width/2,height-height*0.074); // moves the starting coordinats to new location

line(0,0,(height-height*0.12)*cos(radians(iAngle)),-(height-height*0.12)*sin(radians(iAngle))); //
draws the line according to the angle

popMatrix();

void drawText() { // draws the texts on the screen

pushMatrix();

if(iDistance>40) {

noObject = "Out of Range";

PAGE 16
}

else {

noObject = "In Range";

fill(0,0,0);

noStroke();

rect(0, height-height*0.0648, width, height);

fill(98,245,31);

textSize(25);

text("10cm",width-width*0.3854,height-height*0.0833);

text("20cm",width-width*0.281,height-height*0.0833);

text("30cm",width-width*0.177,height-height*0.0833);

text("40cm",width-width*0.0729,height-height*0.0833);

textSize(40);

text("Hani's Experiments", width-width*0.875, height-height*0.0277);

text("Angle: " + iAngle +" °", width-width*0.48, height-height*0.0277);

text("Distance: ", width-width*0.26, height-height*0.0277);

if(iDistance<40) {

text(" " + iDistance +" cm", width-width*0.225, height-height*0.0277);

textSize(25);

fill(98,245,60);

translate((width-width*0.4994)+width/2*cos(radians(30)),(height-height*0.0907)-
width/2*sin(radians(30)));

rotate(-radians(-60));

text("30°",0,0);

PAGE 17
resetMatrix();

translate((width-width*0.503)+width/2*cos(radians(60)),(height-height*0.0888)-
width/2*sin(radians(60)));

rotate(-radians(-30));

text("60°",0,0);

resetMatrix();

translate((width-width*0.507)+width/2*cos(radians(90)),(height-height*0.0833)-
width/2*sin(radians(90)));

rotate(radians(0));

text("90°",0,0);

resetMatrix();

translate(width-width*0.513+width/2*cos(radians(120)),(height-height*0.07129)-
width/2*sin(radians(120)));

rotate(radians(-30));

text("120°",0,0);

resetMatrix();

translate((width-width*0.5104)+width/2*cos(radians(150)),(height-height*0.0574)-
width/2*sin(radians(150)));

rotate(radians(-60));

text("150°",0,0);

popMatrix();

PAGE 18
OUR SETUP OF RADAR SYSTEM

PAGE 19
OUTPUT

The output obtained from our radar setup is shown below:

PAGE 20
APPLICATIONS
The applications of radar include the following:-
➢ Military Applications: It has 3 major applications in the Military:
• In air defence, it is used for target detection, target recognition, and weapon
control (directing the weapon to the tracked targets).
• In a missile system to guide the weapon.
• Identifying enemy locations on the map.

➢ Air Traffic Control: It has 3 major applications in Air Traffic control:


• To control air traffic near airports. The Air Surveillance RADAR is used to
detect and display the aircraft’s position in the airport terminals.
• To guide the aircraft to land in bad weather using Precision Approach
RADAR.
• To scan the airport surface for aircraft and ground vehicle position.

➢ Remote Sensing: It can be used for observing whether or observing


planetary positions and monitoring sea ice to ensure a smooth route for
ships.

➢ Ground Traffic Control: It can also be used by traffic police to determine


the speed of the vehicle, controlling the movement of vehicles by giving
warnings about the presence of other vehicles or any other obstacles behind
them.

➢ Space: It has 3 major applications


• To guide the space vehicle for a safe landing on the moon
• To observe the planetary systems
• To detect and track satellites
• To monitor the meteors

PAGE 21
REFERENCES

• https://www.electronicshub.org/arduino-radar-project/
• http://www.studentsheart.com/arduino-based-radar-project/
• https://howtomechatronics.com/projects/arduino-radar-project/
• https://www.3ciencias.com/wp-content/uploads/2019/01/Art_1

PAGE 22

You might also like