How to make radar system using Arduino in less then 5$

In this tutorial, we will show you a simple and easy technique on how you can easily make a cool Arduino based radar system in less than a few dollars for any instance you can comment below.

Radar system using Arduino

What is Radar system?

The Radar system usually consists of a Transmitter that Transmits electromagnetic signals or waves which are transferred to space with the help of any medium usually antenna.
When those signals or waves strike with any object it gets back or bounced back and reflected in different directions.
So the reflected signal is then received by the radar antenna and these signals are transferred to the receiver.
With the help of these signals which are processed and we can easily detect the geographical statistics of the object.
The distance can be determined with the help time taken by the signal from the radar system to the target and back to its place.

Overview of the project

In this project you only need a few components the list is given below in the table.

The ultrasonic sensor is used for detection and the breadboard is used for wiring all the wires according to the circuit diagram make sure to download the code and upload it to Arduino to use your radar system using Arduino.

Components Required

The following components required for the radar system using Arduino.

Components Online buy
Breadboard
Arduino board
Sonar sensor
Servo motor

Circuit diagram

Here the circuit diagram is shown below make sure to use exactly the same components as used in the circuit below.

Circuit diagram

According to the circuit diagram, you can follow the below steps to make completely without any problems.

Steps to make Radar system using Arduino

At first, you need to arrange the following components as shown in the figure below it should be noted that if you want to buy online then you can follow the above guidelines of amazon online links to buy exactly the same components from the list above.

Components required

Now arranging the components as shown below first we attach the Arduino to the breadboard so that it can be easy for us to wire properly.

Attach Arduino to breadboard

Now we have to glue on the servo motor so that the ultrasonic sensors can be easily attached to it.

Glue on servo motor

Now we attach the ultrasonic sensor to it.

Radar using arduino
Ultrasonic sensor

Now placing the above components on the breadboard and attach it so that it can be fixed.

Radar system using arduino
Attaching Components to breadboard

So that it can look exactly like this below.

View of the Project

Now its the time to wire up properly the wiring can be set according to the circuit diagram or follow up the figure for further guidelines.

 

Servo wiring

Now it’s the time to attach the wires of Ultrasonic sensor to the Arduino.

Ultrasonic sensor wiring

Code for Arduino based radar system

 

[php] // 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
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 ca<span data-mce-type=”bookmark” style=”display: inline-block; width: 0px; overflow: hidden; line-height: 0;” class=”mce_SELRES_start”></span>lculateDistance(){

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;
}

[/php]

Uploading this code to the Arduino Program in Pc as shown below.

Uploading Code

Now download the processing software you can simply google it 😉

This software helps you and display the records on the screen just like a radar system.

Processing 3 Software

Uploading the Code to Processing software

Now uploading the code to the processing software will help you to watch live objects on the screen.

[php] <pre class=”a-b-r-La”>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
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

// 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() {
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”;
}
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();
}
[/php]

Uploading code to the processing software as shown below.

Uploading Code to Processing

Click the play button

NOTE: it should be noted that you choose exactly the same port no to which your Arduino board is connected.

As shown below.

Uploading code

By clicking play button in the processing software you will see a screen like this the red area shows that there are objects which are detected.

Radar System

For any problem feel free to comment below or if you face any problem in buying components for Arduino based radar system Email us or use contact us form.

 

 

FTC: We use income earning auto affiliate links. More.


Latest

Stadia, Google’s foray into cloud gaming, will shut down in January

Google’s latest gaming project has ended in failure. The...

Dyson V12 Detect Slim Review: Why you should Buy

The latest cordless vacuum cleaner from Dyson, doesn't just...

Valve Is Changing Their Steam Sale Schedule: Dates for autumn, winter, and spring

Valve's store confirms when the new Steam Sales are...

Newsletter

Don't miss

Stadia, Google’s foray into cloud gaming, will shut down in January

Google’s latest gaming project has ended in failure. The...

Dyson V12 Detect Slim Review: Why you should Buy

The latest cordless vacuum cleaner from Dyson, doesn't just...

Valve Is Changing Their Steam Sale Schedule: Dates for autumn, winter, and spring

Valve's store confirms when the new Steam Sales are...

Mercedes-Benz’s electric G-Wagen is coming in mid-2024, chairman says

Mercedes-Benz’s electric G-Wagen will arrive in mid-2024, the company’s...
Aizaz khan
Aizaz khanhttps://myelectricsparks.com/aizaz-khan/
Aizaz was the first person to get a byline on his blog on technology from his home in Bannu in 2017. Then, he went on to a career in breaking things professionally at my electric sparks which is where he eventually took over the kit as a hardware editor. Today, as the senior editor of hardware for my electric sparks, he spends time reporting about the most recent developments in the hardware industry and technology. If he's not reporting on hardware or electronics, you'll see him trying to be as remote from the world of technology as possible through camping in the wild.

Stadia, Google’s foray into cloud gaming, will shut down in January

Google’s latest gaming project has ended in failure. The company announced yesterday that its Stadia cloud gaming platform, which lets you stream games like you would...

Dyson V12 Detect Slim Review: Why you should Buy

The latest cordless vacuum cleaner from Dyson, doesn't just clean but also shows you what you’re cleaning The Dyson V12 Detect Slim makes some significant...

Valve Is Changing Their Steam Sale Schedule: Dates for autumn, winter, and spring

Valve's store confirms when the new Steam Sales are coming and advances the dates of all the sales that will take place between now...

LEAVE A REPLY

Please enter your comment!
Please enter your name here