Radar System Using Arduino UNOand Ultrasonic Sensor
Radar System Using Arduino UNOand Ultrasonic Sensor
Submitted by
Contents
Introduction to Radar System
Radar is a long-range object detection system that uses radio waves to determine
parameters such as range, speed, and position of an object. This project employs sonar
technology using an ultrasonic sensor to detect objects within a specific range,
simulating radar functionality. Radar systems typically use microwaves to determine
the range, altitude, direction, or speed of objects. These waves bounce off objects in
their path, allowing the radar to detect and measure objects within its range.
Principle of Operation
Radar systems operate by transmitting a signal that reflects off an object and returns
to the radar receiver. The time delay between transmission and reception, along with
the angle of the returned signal, allows the system to calculate the object's distance
and position. Doppler radar systems also measure the frequency shift of the returned
signal to determine the object's speed.
• Arduino UNO : A microcontroller used to process data and control the system.
➢ Specifications: ATmega328P microcontroller, 14 digital I/O pins, 6 analog input
pins, 32 KB flash memory.
➢ Role: Acts as the brain of the radar system, processing input from the sensor
and controlling the servo motor.
• HC-SR04 Ultrasonic Sensor : Measures the distance to objects using ultrasonic waves.
➢ Specifications: Operating voltage 5V, measuring angle 15 degrees, ranging
distance 2 cm to 400 cm.
➢ Role: Sends out ultrasonic waves and receives the reflected waves to measure
distance.
• Servo Motor : Rotates the ultrasonic sensor to scan the area.
➢ Specifications: Operating voltage 4.8V-6V, torque 2.5kg/cm, rotation angle 0°
to 180°.
➢ Role: Moves the ultrasonic sensor to different angles for scanning.
• Jumper Cables + USB Cable (for Arduino) : Used for connections and power.
➢ Role: Facilitates the connection of components and power supply.
SOFTWARE
• Arduino IDE : Platform for writing and uploading code to the Arduino.
➢ Features : Code editor, serial monitor, integrated libraries for various sensors
and actuators.
➢ Role : Develops and uploads the control code to the Arduino UNO.
• Processing Application : Software for visualizing the radar data.
➢ Features : Graphics library, serial communication capabilities, interactive
display.
➢ Role : Receives data from the Arduino and displays it in a visual format.
Circuit Diagram
Working Principle
The system's objective is to determine the distance, position, and speed of obstacles. The
ultrasonic sensor sends out waves and detects the reflected waves from objects. The
Arduino processes these signals and determines the distance and angle of the object. This
data is displayed on a screen using the Processing application.
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
myServo.write(0);
}
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
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
distance= duration*0.034/2;
return distance;
}
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"
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
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("Indian Lifehacker ", 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);
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();
}
Applications
Radar is an electromagnetic system for the detection and location of target objects
such as aircraft, ships, spacecraft, vehicles, people, and the natural environment. It
uses electromagnetic radio waves to determine the angle, range, or velocity of
objects. The modern radar system is more advanced, and the uses of radar are highly
diverse, including:
➢ Air Traffic Control: Ensuring the safe and efficient movement of aircraft.
➢ Defence Systems: Detecting and tracking potential threats.
➢ Weather Monitoring: Tracking weather patterns and predicting storms.
➢ Automotive Safety: Providing features like adaptive cruise control and
collision avoidance.
Future Enhancements
➢ Enhanced Range and Accuracy: Upgrading the ultrasonic sensor to one with a
higher range and accuracy.
➢ Multiple Sensors Integration: Using multiple sensors to cover a larger area and
provide more detailed data.
➢ Advanced Data Processing: Implementing machine learning algorithms to
predict the behaviour of detected objects.
➢ Real-Time Data Transmission: Integrating wireless communication modules to
transmit data to remote systems in real-time.
Conclusions
This project demonstrates the basic principles of radar technology using costeffective
components and open-source software. By integrating an ultrasonic sensor with
Arduino UNO and displaying the data using Processing, we have created a functional
radar system capable of detecting and measuring the distance and position of
objects. This project serves as an educational tool for understanding radar
technology and its applications.
References
➢ Electronics Hub: Arduino Radar Project
➢ Students Heart: Arduino-Based Radar Project
➢ How to Mechatronics: Arduino Radar Project
➢ Mohamad Mahdi Abdulkareem, Qusay Adil Mohammed, Muhammad
Mahmood Shakir - “A Short Range Radar System “Rangefinder”
➢ Srijan Dubey, Supragya Tiwari, Simit Roy - “Implementation of Radar Using
Ultrasonic Sensor” Indian J.Sci.Res. 2017