Radar Object Detection Report Final
Radar Object Detection Report Final
By (Group 8)
Guided by
Prof. Chitan Desai
C.G.P.I.T.
Department of Information & Communication Technology
Bardoli, Surat.
April, 2024
CERTIFICATE
Date:
Place:
CGPIT/BTech/ICT/Mini Project
ACKNOWLEDGMENT
We would like to extend our sincere appreciation and gratitude to all the
individuals and organizations who have contributed to the successful
completion of this group university project.
First and foremost, we would like to express our heartfelt thanks to our
Head of Department Dr. Mayank R. Kapadia and our Guide Mr.
Chintan Desai for their unwavering support, valuable guidance, and
insightful feedback throughout the duration of this project. Their
expertise and encouragement have been pivotal in shaping the direction
of our work and have inspired us to deliver our best.
Date:-
CGPIT/BTech/ICT/Mini Project
ABSTRACT
CGPIT/BTech/ICT/Mini Project
Table of Contents
CERTIFICATE
ACKNOWLEDGMENT
ABSTRACT
List of Figures
1 Introduction
1.1 Arduino Uno
1.2 Ultrasonic Sensor
1.3 Servo motor
2 System design & Connection
3 Brief History of Radar
4 Implementation
4.1 System Implementation
4.2 Arduino Code
4.3 Processing Code
5 Results
6 Advantages
7 Conclusion
CGPIT/BTech/ICT/Mini Project
List of Figures
CGPIT/BTech/ICT/Mini Project
1 Introduction
1.1 Arduino
An Arduino is actually a microcontroller based kit which can be either used directly by
purchasing from the vendor or can be made at home using the components, owing to its
open source hardware feature. It is basically used in communications and in controlling or
operating many devices.
1. Arduino is an open-source electronics platform based on easy-to-use hardware and
software. Arduino boards are able to read inputs - light on a sensor, a finger on a button
- and turn it into an output - activating a motor, turning on an LED, publishing
something online. 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.
2. Over the years Arduino has been the brain of thousands of projects, from everyday
objects to complex scientific instruments. A worldwide community of makers -
students, programmers, and professionals - has gathered around this open-source
platform.
3. Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast
prototyping, aimed at students without a background in electronics and programming.
As soon as it reached a wider community, the Arduino board started changing to adapt
to new needs and challenges, differentiating its offer from simple 8-bit boards to
products for IoT applications, wearable, 3D printing, and embedded environments.
CGPIT/BTech/ICT/Mini Project
1.2 Ultrasonic Sensor
CGPIT/BTech/ICT/Mini Project
1.3 Servo Motor
A servomotor is a rotary actuator that allows for precise control of angular
position, velocity and acceleration. It consists of a suitable motor coupled to
a sensor for position feedback. It also requires a relatively sophisticated
controller, often a dedicated module designed specifically for use with
servomotors. Servomotors are not a different class of motor, on the basis of
fundamental operating principle, but uses servomechanism to achieve closed
loop control with a generic open loop motor. Servomotors are used in
applications such as robotics, CNC machinery or automated manufacturing.
CGPIT/BTech/ICT/Mini Project
2 System design & Connection
CGPIT/BTech/ICT/Mini Project
3 Brief History of the Radar
While Radar technology using radio waves has a long history, utilizing Arduino Uno
and ultrasonic sensors for object detection is a relatively new concept. Radars using
electromagnetic waves originated in the early 20th century, around World War II.
Arduino itself is a single-board microcontroller platform that gained popularity
around the mid-2000s.
This affordable and user-friendly platform made it easier for hobbyists and educators
to experiment with electronics projects. The Arduino and ultrasonic sensors for
object detection likely emerged sometime in the late 2000s or early 2010s.
Ultrasonic sensors, which operate on sound waves rather than radio waves, are a
lower-cost alternative to traditional radar systems.
They are well-suited for shorter range applications and educational purposes. The
combination of Arduino Uno and ultrasonic sensors provides a low-cost platform
for people to learn about object detection and basic radar principles.
CGPIT/BTech/ICT/Mini Project
4 Implementation
CGPIT/BTech/ICT/Mini Project
4.2 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
CGPIT/BTech/ICT/Mini Project
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(".");
}
}
CGPIT/BTech/ICT/Mini Project
4.3 Processing Code
void setup()
{
size (1200, 700);
smooth();
myPort = new Serial(this,"COM3", 9600); // starts the serial communication
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);
index1 = data.indexOf(","); // find the character ',' and puts it into the variable "index1"
CGPIT/BTech/ICT/Mini Project
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
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()
{
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)));
}
CGPIT/BTech/ICT/Mini Project
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";
}
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("MINI PROJECT ", 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);
CGPIT/BTech/ICT/Mini Project
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();
}
CGPIT/BTech/ICT/Mini Project
5 Results
CGPIT/BTech/ICT/Mini Project
6 Advantages
1. Improvised accuracy: The resistors with low value in milli ohms are used in advanced
cars with sensitive power steering and break circuits. Now a days these advancements
have become the major cause for the severe accidents. Therefore the components used
in such circuits must have accurate and precise value for smooth working of such
circuits. Ultimately this refers to the accurate testing of the resistors used. Improvised
accuracy is thus the second primary aim of the sensor.
2. Reduced hardware complexity: Hardware complexity is one of the reasons for the high
cost of the ultrasonic sensor. The use of arduino Uno is to reduce the motherboard
present in the conventional ohmmeter in arduino based ultrasonic sensor. The arduino
acts as the central board. Since arduino are readily available in market it leads to the
reduction in the complexity of the design. The automated range selection is also the
objective in order to speedup the testing process. This will also reduce the faults in
range selection in manually operated conventional sensor.
7 Conclusion
Our Project aims on the use of Ultrasonic Sensor by connected to the Arduino UNO R3
board and the signal from the sensor further provided to the screen formed on the laptop to
measure the presence of any obstacle in front of the sensor as well as determine the range
and angle at which the obstacle is detected by the sensor.
This system can be used in robotics for object detection and avoidance system or can also
be used for intrusion detection for location sizes.
Range of the system depends upon type of ultra-sonic sensor used. We used HC-SR04
sensor which range from 2 to 40 cm.
CGPIT/BTech/ICT/Mini Project