methodology
methodology
SUPERVISOR : MR DUBE
DATE : 19/05/2024
This project methodology outlines the approach for designing, developing, and deploying an
ultrasonic radar system to enhance security and surveillance capabilities for the City of Anytown. The
system will utilize high-frequency sound waves to detect movement and intrusion within a defined
monitoring area.
HARDWARE COMPONENTS
Arduino Uno R3
This sensor is a 4 pin module, whose pin names are Vcc (5v), Trigger, Echo and Ground respectively.
This sensor is a very popular sensor used in many applications where measuring distance or sensing
objects are required. The module has two eyes like projects in the front which forms the Ultrasonic
transmitter and Receiver.
This servo is 180° rotation servo. It is a Digital Servo Motor which receives and processes PWM signal
faster and better. It equips sophisticated internal circuitry that provides good torque, holding power,
and faster updates in response to external forces. The servo motor has a female connector with
three pins coloured brown, red and yellow individually.
Buzzer
16 X 2 LCD Display
16x2 LCD display is an alphanumeric display. It is based on the HD44780 display controller, and ready
to interface with most microcontrollers. It works on 5V and has a Green Backlight which can be
switched on and off as desired. The contrast of the screen can also be controlled by varying the
voltage at the contrast control pin (Pin 3).
Large Breadboard
A breadboard, also known as a solderless breadboard, is a construction base used for building and
testing electronics circuits. It is a common tool used in electronics prototyping and education.
SOFTWARES
Arduino IDE
The Arduino software, also known as the Arduino Integrated Development Environment (IDE), is the
primary software used to program and interact with Arduino microcontroller boards.
Processing IDE
The Processing IDE (Integrated Development Environment) is a software application used for creating
visual, interactive programs and applications. It is a popular tool for artists, designers, and creative
coders.
TinkerCad
TinkerCAD is a free, browser-based, 3D design and modelling tool that allows users to create and
manipulate 3D designs and models.
3D Design
Schematic Diagram
WORKING
In this study, ultrasonic sensor and servo were both major components. These were connected with
and controlled by an Arduino UNO through jumper wires. The four pins of the sensor are Vcc, Trig,
Echo and GND or ground pin. The interface between the ultrasonic sensor and the Arduino was
implemented as follows:
Sensor Pin_VCC----------------5V
Sensor Pin_GND------------------GND
The ultrasonic sensor was mounted on a servo motor such that the servo motor rotates the
ultrasound sensor. The ultrasonic sensor transmits ultra sound and receives the reflected sound
waves acting as a transceiver.
Once the signal is picked up by the receiver, the buzzer sounds. HC-SR04 ultrasonic sensor was used
in this study as it transmits the sound wave of high frequency near about 40 kHz to 70 kHz. Humans
cannot hear it. Servo motor (SG90) is a rotatory motor which runs with the help of servo
mechanism. Servo motor is used here to detect the angle of the moving object. 0 to 180 degree is
the rotatory range of servo motor, but
depending on the manufacturing it
can go up to 360 degrees. Servo
motor receives the control signal and
tunes the shaft. Servo motor is
used to set up the position and
velocity of the ultrasonic sensor.
Three wires from the servo motor have
to be connected manually. The
servo motor interfaces with the Arduino Uno as follows:
The Arduino UNO consists of USB connector, microcontroller, analogue input pins, power port digital
pins etc. The Arduino UNO power was supplied by the computer. The code that was uploaded onto
the Arduino UNO software ran through the data generate to results.
The LCD was also interfaced with the Arduino board through the jumper wires. It displays the
distance of intrusion and angle of rotation of the servo motor. The connections were as follows:
LCD PIN_VDD------------------ 5V
Flow Diagram
#include <Servo.h>
#include <LiquidCrystal.h>
#define buzzer 7
long duration;
int distance;
Servo myservo;
int pos = 0;
void setup() {
pinMode( 7, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
myservo.attach(6);
lcd.begin(16, 2);
lcd.clear();
void distance123()
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
distance= duration*0.034/2;
void loop() {
distance123();
Serial.print(i);
Serial.print(",");
Serial.print(distance);
Serial.print(".");
myservo.write(i);
if(distance<50)
lcd.clear();
lcd.print("Obstacle Detected");
lcd.setCursor(0,2);
lcd.print("Dist:");
lcd.print(distance);
lcd.print("cm");
lcd.print(",");
lcd.print("at");
lcd.print(i);
lcd.print((char)223);
digitalWrite( 7, HIGH);
delay(500);
else
lcd.clear();
lcd.print("No Obstacle");
lcd.setCursor(0,2);
lcd.print("Dist:");
lcd.print(distance);
lcd.print("cm");
lcd.print(",");
lcd.print("at");
lcd.print(i);
lcd.print((char)223);
digitalWrite( 7, LOW);
delay(500);
delay(10);
distance123();
Serial.print(i);
Serial.print(",");
Serial.print(distance);
Serial.print(".");
if(distance<50)
lcd.clear();
lcd.print("Obstacle Detected");
lcd.setCursor(0,2);
lcd.print("Dist:");
lcd.print(distance);
lcd.print("cm");
lcd.print(",");
lcd.print("at");
lcd.print(i);
lcd.print((char)223);
digitalWrite( 7, HIGH);
delay(500);
else
lcd.clear();
lcd.print("No Obstacle");
lcd.setCursor(0,2);
lcd.print("Dist:");
lcd.print(distance);
lcd.print("cm");
lcd.print(",");
lcd.print("at");
lcd.print(i);
lcd.print((char)223);
digitalWrite( 7, LOW);
delay(500);
delay(10);
myservo.write(i);
After the code was uploaded to Arduino IDE, the motor started rotating and the LCD displayed the
contents of interest. The buzzer sounded when there was an object in front of the ultrasonic sensor.
A visual representation of the objects detection was produced by the processing IDE software when
the processing code was uploaded to the software.
Processing Code
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 index1=0;
int index2=0;
PFont orcFont;
void setup() {
smooth();
myPort = new Serial(this,"COM6", 9600); // starts the serial communication and change the COM
according to arduino port
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);
noStroke();
fill(0,4);
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
iAngle = int(angle);
iDistance = int(distance);
void drawRadar() {
pushMatrix();
noFill();
strokeWeight(2);
stroke(98,245,31);
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);
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();
strokeWeight(9);
if(iDistance<40){
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);
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) {
else {
fill(0,0,0);
noStroke();
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);
if(iDistance<40) {
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();
This project methodology outlines the approach for delivering a state-of-the-art ultrasonic radar
system that will significantly enhance the security and surveillance capabilities of the city of any
town. The proposed system leverages advanced sensor technologies and intelligent signal processing
to provide reliable intrusion detection and monitoring, ultimately improving public safety and
protecting critical infrastructure.