What do you know about Zero Ohm's consulting services?

Ultrasonic Saftey System With Arduino

Posted by Momen 05/10/2017 0 Comment(s)

Welcome to Zeroohm Arduino Training series. In this series of Arduino Training, Zeroohm will focus its efforts on helping the community learn more about Arduino fundamentals and basics starting with basic control of LED's, motors, sensors and utilizing of wirless communication. We hope that you find this useful, Please, leave a comment for any questions or comments or reviews!

We provide all our trainings for groups from schools, universities, public sector and private sector in Abu Dhabi, Dubai, Sharjah, Fujirah, RAK or anywhere in UAE. Please,click here to contact us directly for any training inquires.

 

This tutorial is a simulation of the basic concept of the "Advanced Protection Systems. This tutorial will give you the basic idea of several different ideas for building protection systems for homes, shops, cars, and more.

Now, I will explain how to implement a "mini security system" by using HC-SRO4 ultrasonic sensor module and the famous Arduino UNO board. Let’s start by knowing what components we need:

Hardware Components: 

This image for the hardware components:

components-list

Hardware Design: 

Now let’s have a look at the hardware overview of the entire circuit shown in the image. Connect them as shown:

arduino-ultrasonic-sensor-circuit 

NOTE: before starting the experiment, we must clarify some theoretical information about the sensor Ultrasonic Ranging Module HC - SR04.

Ultrasonic Ranging Module HC - SR04 is the main part of this experiment and this 

  • Works by ultrasound.
  • Max Range 4m (400cm), but the ranging accuracy can reach to 3mm. 
  • Min Range 2 cm.
  • Measuring Angle 15 degree.
  • Working Voltage DC 5 V.
  • Working Current 15mA.
  • Working Frequency 40Hz.
  •  5V Supply.
  • Trigger Pulse Input.
  • Echo Pulse Output.
  • 0V Ground.

 

  • Step1-connect the circuit below:

arduino-ultrasonic-sensor-ciruit-diagram

Note:

It is more recommended to use a resistor in connecting the shorter leg of the buzzer to the GND on the breadboard. This greatly reduces the volume of the buzzer and prevent it from dying too quickly.

  • Step 2: Arduino code

Now that after finished the setup, it’s time to code the Arduino. All you have to do, is to open your Arduino IDE software on your computer and then copy this code and past at your Arduino IDE software. Now save it with "mini security system" name or any other name (no problem at this point), then upload the code. Feel free to change the distances at which the ultrasonic sensor detects an object from and the volume of the buzzer!

Some notes about the code before starting coding:

At the beginning of the code we define the variables, constants and libraries that we will use during the program.

The context (#define) is similar to (const) in Arduino C language. This context does not consume any amount of random access memory (SRAM), which saves space in the Arduino.

Example:

#define constantName value

Note: 

-The # is necessary.

-There is no semicolon after the #define statement.

-also there is no an equal sign after the #define statement.

 

At void setup():

We define the pins as inputs or outputs with pinMode function. We use Serial.begin (9600) to make Arduino connect with the computer via a USB port and to let the Arduino receive and send data from/into the computer.

At void loop():

  • Here we define a specific new variables ( duration, distance) to use at loop function only.
  • We use (long) to define this variables to get accuracy results.
  • In this case we need a very short time, so we used the microsecond delay time.
  • To control at echo input/out pluses we use (pulseIn) syntax.
  • distance = (duration/5) / 29.1; 

The 5 in the equation represent the frequency of ongoing and returning pulses. 

  • (29.1) some sort of calibration factor is relate to actual distance.
  • Then we use if the statement write the conditions.
  • Finally, we define the distance by cm unit and set the threshold on which the buzzer will ring or not.

 

#define trigPin 7

#define echoPin 6

#define GreenLED 10

#define YellowLED 12

#define BlueLED 13

#define Piezo_buzzer 3

int sound = 450;

 

void setup() {

  Serial.begin (9600);

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(GreenLED, OUTPUT);

  pinMode(YellowLED, OUTPUT);

  pinMode(BlueLED, OUTPUT);

  pinMode(Piezo_buzzer, OUTPUT);

 

}

 

void loop() 

{

  long duration, distance;

  digitalWrite(trigPin, LOW); 

  delayMicroseconds(4);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(15);

  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  distance = (duration/5) / 29.1;

 

 

 

  if (distance < 40) {

      digitalWrite(GreenLED, HIGH);

}

  else {

      digitalWrite(GreenLED, LOW);

  }

  

  if (distance < 25) {

    digitalWrite(YellowLED, HIGH);

}

  else {

    digitalWrite(YellowLED,LOW);

  }

 

 

  if (distance < 10) {

    digitalWrite(BlueLED, HIGH);

    sound = 850;

}

  else {

    digitalWrite(BlueLED,LOW);

  }

 

  if (distance > 5 || distance <= 0){

    Serial.println("Out of range");

    noTone(Piezo_buzzer);

  }

  else {

    Serial.print(distance);

    Serial.println(" cm");

    tone(Piezo_buzzer, sound);

  }

  delay(250);

}

 

Once you've done that, and you've plugged in your Arduino to your computer, run the code and you're finished. If you've followed all the directions properly, the closer your hand or any object gets to the HC-SRO4 ultrasonic sensor, the LEDs should progressively light up until and you're so close that the buzzer will go off.

Finally:

We hope that you have enjoyed at this beautiful experiment and we have been successful in the explanation.

Leave a Comment