Your Problem Our Solution

Tag: Ultrasonic based arduino Project

How to Interface Ultrasonic Sensor (HCSR04) with Arduino Easy Steps

This article “Interfacing of Ultrasonic Sensor with Arduino” is updated in 2020.

Today, In this tutorial we will learn about the Ultrasonic Sensor Arduino Code and How you can Interface Ultrasonic Sensor (HCSR04) with Arduino. A few days ago, I have posted a complete tutorial on What is Arduino and How you can learn Arduino, and later I have posted different projects on Arduino For Example Line Following Robot, Arduino Based Calculator, Arduino Based Radar System. Those posts were very good and I got the good response, so I thought today let’s interface Ultrasonic Sensor to the Arduino.

So, today I am gonna show you the complete guide on How to Interface Ultrasonic Sensor (HCSR04) with Arduino in a few easy steps.

How to Interface Ultrasonic Sensor with Arduino:

What is Ultrasonic Sensor

An Ultrasonic Sensor is an Electronic device which is used to measure a distance of an object using Sound Waves. Its working principle is very simple; it sends out a sound wave at very high-frequency range (Ultrasonic range of > 40KHz) and waits for it to bounce back from the object. As shown in the figure below. Then, the time duration between transmission of the sound wave and receiving of the sound wave is used to calculate the distance.

The formula for the Distance is = (Speed of sound wave * Time delay) / 2

Here you can see we have divided the distance formula by 2 this is because the sound waves travel from the transmitter and back to the receiver which doubles the actual distance.

Ultrasonic Sensor

working of Ultrasonic Sensor

Ultrasonic Sensor HCSR04 is Consist of:

Ultrasonic Sensor HCSR04 is a simple electronic sensor which basically is used for measuring the distance between the sensor itself and any obstacle in front of it. The sensor has a sender and a receiver on it.
[adsforwp id=”3715″]
This sensor consists of four pins, which are:

  • Vcc (+5V): Ultrasonic Sensor requires +5V to work perfectly.
  • Trig (Trigger): This is the important pin because we have to provide trigger Pin after which this ultrasonic sensor emits ultrasonic sound waves.
  • Echo: This is also very important pin, it is used When Ultrasonic waves emitted from the transmitter, hit some object then they get bounced back and then those waves are received by the receiver and at that moment this echo Pin goes HIGH.
  • GND: The GND is used to complete the circuit, we need to provide ground to HC-SR04 Ultrasonic Sensor.

Interfacing of Ultrasonic Sensor With Arduino:

Now As we have Covered and understood the working of the Ultrasonic sensor, so we have some knowledge about what we need to do in order to get the values from the Ultrasonic sensor. Let’s now have a look at Interfacing of Ultrasonic Sensor with Arduino.

  1. First of all, we need to generate an electronic signal of 10Us (microsecond) and then send it over to trigger pin of Ultrasonic Sensor.
  2. After sending the trigger pin we then need to read the echo pin and wait for it to get HIGH.

For Example: if the object is 6 cm away from the sensor, and the speed of the sound is 0.034 cm/µs the sound wave will need to travel about 176 microseconds. But what you will get from the Echo pin will be double that number because the sound wave needs to travel forward and bounce backward.

So in order to get the distance in cm, we need to multiply the received travel time value from the echo pin by 0.034 and divide it by 2. This is illustrated in the figure below.

  1. Once the ECHO pin goes HIGH then we need to count the time for how long it remained HIGH.
  2. On the basis of this time, we are going to calculate the distance of the object from the ultrasonic sensor.

[adsforwp id=”3713″]

interface ultrasonic sensor

Mathematical Calculation of Ultrasonic Sensor using Arduino

Components required for the Connection of Ultrasonic Sensor with Arduino:

  • Ultrasonic Sensor HCSR04
  • Arduino UNO Board
  • Breadboard and Jump Wires
Components required for Interfacing of Ultrasonic Sensor with Arduino

Components required for Interfacing of Ultrasonic Sensor with Arduino

Circuit Diagram of Connection of Ultrasonic Sensor with Arduino:

The connection is very easy, do not get confused and if you feel any query feel free to comment below. I will make sure to explain it as soon as possible.

Circuit Diagram of Interfacing Ultrasonic Sensor with Arduino

Circuit Diagram of Interfacing Ultrasonic Sensor with Arduino

Ultrasonic Sensor Arduino Code:

/*


* Ultrasonic Sensor HC-SR04 and Arduino Tutorial

*

* Crated by Sohail Anwar,

* www.studentsheart.com

*

*/

// defines pins numbers

const int trigPin = 12;

const int echoPin = 11;

// defines variables

long duration;

int distance;

void setup() {

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

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

Serial.begin(9600); // Starts the serial communication

}

void loop() {

// Clears the trigPin

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

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

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

// Reads the echoPin, returns the sound wave travel time in microseconds

duration = pulseIn(echoPin, HIGH);

// Calculating the distance

distance= duration*0.034/2;

// Prints the distance on the Serial Monitor

Serial.print("Distance: ");

Serial.println(distance);

*/ visit:www.Studentsheart.com/

}

Note: If you want to display the results from the HCSR04 Ultrasonic Sensor on an LCD you can use the following source code:

Also Read: How to Interface IR Sensor with Arduino Step by Step GUIDE

Circuit Diagram for Interfacing Ultrasonic Sensor with LCD:

Circuit Diagram for Interfacing Ultrasonic Sensor with LCD:

Circuit Diagram for Interfacing Ultrasonic Sensor with LCD

[adsforwp id=”3725″]

Ultrasonic Sensor Arduino Code with LCD:

/*

* Ultrasonic Sensor HC-SR04 and Arduino Tutorial

*

* Crated by Sohail Anwar,

* www.studentsheart.com

*

*/

// defines pins numbers

#define trigPin 12

#define echoPin 13




#include <LiquidCrystal.h>




// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);




void setup()

{

lcd.begin(16, 2);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

lcd.setCursor(1,0);

lcd.print("Distance=");

}




void loop()

{

long duration, distance;

digitalWrite(trigPin, LOW); // Added this line

delayMicroseconds(2); // Added this line

digitalWrite(trigPin, HIGH);

delayMicroseconds(10); // Added this line

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = (duration/2) / 29.1; // conversion in cm

lcd.setCursor(11,0);

lcd.print(distance); //output on lcd in centimeter

lcd.setCursor(14,0);

lcd.print("cm");

}

Once you’ve uploaded the code, and if you do not know how to upload the code visit my this post Learn Arduino, the board will begin to transmit data to the computer. You will see Tx LED on the Arduino blinking each time it transmits a data it means the data is transmitted from the Ultrasonic Sensor.

Now click on Serial Monitor and see the values of Distance measured by Ultrasonic Sensor HCSR04, you’ll see the distance is displayed. This is all about How to Interface Ultrasonic Sensor (HCSR04) with Arduino Easy Steps.

If you need any further help please feel free to leave a comment below. And do not forget to share this post on your Facebook let your friends know your work.

Arduino Based Radar Project

Arduino Based Radar Project Using Ultrasonic Sensor

Hey, friends in this tutorial we are going to learn and make an Arduino Based Radar Project, Basically, The Radar Project is very useful for finding an object and they are widely used in navigation based systems and also they are used in the security-based system.

Today we will cover that how we can make Arduino ultrasonic sensor project such as Radar System using Arduino. Its very simple, only you need few components and some coding. Don’t worry I have uploaded the circuit diagram and coding for this project below. Arduino based Radar Project is very simple and interesting project. But before starting project let me tell you about RADAR and RADAR Based Project.

What is Radar?


[adsforwp id=”3715″]
RADAR stands for RADIO DETECTION AND RANGING. Radar is equipment which is used to detect objects using Radio Waves. It discovers and studies remote targets by sending a radio pulse within the direction of the target and receives the reflection of the wave.

what is Radar?

Radar

So what this Project Arduino Based Radar Project will perform?

This is very Simple Arduino Based Radar Project” whenever any object will come near to its range it will sense it and then it will produce output on Radar. It will indicate the presence of the object on Radar. Also, you can modify the project according to your need, you can make any type of security based system using this concept. Do whatever you want it just depends on your coding skills.
So Before Starting this Project Let me tell you what we will need to make this Project.

Components Required for Arduino Based Radar Project Using Ultrasonic Sensor:

Software Required:

Note:(Download these IDE’s click on the hypertext and download these IDE’s)

Why are we using these Components?


[adsforwp id=”3715″]
Here we are using Arduino to control codes and perform the required objective. for example, here we are using Arduino to Perform Radar Project operation to do that we need other components like Ultrasonic Sensor which is usually used for measuring distance here it will measure distance and it will give that measured data to the Arduino, and also we are using Servo Motor basically, Servo Motor works on the angle principle it means its rotations is based on angles so it will give us rotation on different angles.
[adsforwp id=”3713″]
Here we are putting the Ultrasonic sensor on the servo motor and it will move on the particular angles and whenever ultrasonic sensor will receive the signal it will send that signal to the Arduino and the Arduino will send that data to the Processing IDE which will show the visual presence of that object on RADAR. I hope it’s quite clear now.

arduino based radar system

arduino based radar system

Connect them Like this

Connections Part for Arduino Based Radar Project Using Ultrasonic Sensor:

arduino based radar system circuit

arduino based radar system

Make sure you have connected all the connections like this. After connecting all the connections like this click below and download the required files for this ARDUINO BASED RADAR Project.

Files are:

[adsforwp id=”3713″]
Now Open your Arduino IDE if you don’t have then click above to download them. After download Arduino IDE open it and copy the code from Arduino Based Radar Project Code and paste it on the IDE. Then simply click on UPLOAD. Now open Processing IDE and paste the Processing code into it and then click on start.

Now place any object in front of Radar and see Processing is showing the detection of that object visually on the radar. if you have any confusion just follow this video then. I hope you have understood all the required things. if yes then I am satisfied otherwise just comment below and tell me what query you have.

Arduino Code for Arduino Based Radar Project Using Ultrasonic Sensor:

// 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 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
distance= duration*0.034/2;
return distance;
}

Processing Code for Arduino Based Radar Project using Ultrasonic Sensor:


[adsforwp id=”3725″]

// Studentsheart.com
//Arduino Based Radar Project in 2018

//Uploaded by: Sohail Anwar

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(" StudentsHeart.com ", 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();
}
Read More: What is the Duty Cycle?

Read More: Download any E-Book for Free from Z-Library

Also, Check:

  1. Latest 500+ Final Year Projects For Electronics Engineering Students
  2. How to Interface IR Sensor with Arduino Step by Step GUIDE
  3. Want to learn What is Arduino? How does it work?
  4. Want to learn and make Arduino Based Calculator.
  5. Want to learn and make Arduino Based Line Following Robot.
  6. Want to learn and make IR Remote tester Project Control LED on Remote.
  7. Want to learn and make Visitor Counter Using LDR and 7 Segment Display.

This is all for today I hope you guys like this project Arduino Based Radar Project using Ultrasonic Sensor if yes then comment below and share this post with your friends. Thanks for Visiting StudentsHeart.com Stay connected. Thanks!

Powered by WordPress & Theme by Anders Norén