You are on page 1of 18

Ultrasonic sensor

Objectives:
1. Identify the parts and uses of the Arduino
ultrasonic sensor and other Arduino components.
2. Present different electronic projects and
automated systems that uses Arduino ultrasonic
sensor, DC motor, LED and buzzer
Breadboard connections
Arduino Lead/Pin Cable Connection
component
Ultrasonic VCC 5V
sensor Trig Digital pin 9
Echo Digital pin 10
GND Negative power rail (5V)
LED Cathode 220 ohm resistor connected
to negative power rail

Anode Digital pin 6


Breadboard connections
Arduino Lead/Pin Cable Connection
component
Buzzer Positive pin Digital pin 2
Negative pin 220 ohm resistor connected to
negative power rail
Motor Positive pin Power rail (9V)
Negative pin In series with negative pin of diode
and drain of transistor
Transistor Gate Digital pin 3
Drain In series with negative pin of diode
and negative pin of DC motor
Source Negative power rail
Breadboard connections
Arduino Lead/Pin Cable Connection
component
Diode Positive Positive power rail
Negative In series with drain of transistor and
negative pin of DC motor
9V Battery Negative Negative power rail
  Positive Positive power rail
Cable connection
The HC-SR04 Ultrasonic Module has 4
pins:
Ground – negative pin
VCC – 5V power
Trig – output, when set to HIGH the sensor will turn ON
Echo – input, when set to HIGH the sensor will collect
the distance the sound travelled
Cable connection
The HC-SR04 Ultrasonic Module has 4 pins:
Ground – connect to GND
VCC – connect to 5V
Trig – connect to any digital I/O pin
Echo - connect to any digital I/O pin
Example:
The Sensor VCC connect to the Arduino Board +5V
The Sensor GND connect to the Arduino Board GND
The Sensor Trig connect to the Arduino Board Digital I/O 9
The Sensor Echo connect to the Arduino Board Digital I/O 10
Controlling Ultrasonic sensor in programming
• pinMode – set the pin number either as OUTPUT/INPUT in void
setup()
Syntax: pinMode (pin#, OUTPUT/INPUT);
Example:
pinMode (trigPin, OUTPUT);
• digitalWrite – written in the void loop() part, this command set the
value of pin either HIGH/LOW
Syntax: digitalWrite (pin#, HIGH/LOW);
Example:
digitalWrite (trigPin, HIGH);
delay (1000);
Controlling Ultrasonic sensor in programming
• const –set the pin numbers as constant before void
setup()
Syntax: const data_type pinName=pin#;
Example:
const int trigPin=12;
• serial.begin – open serial communication
Syntax: serial.begin (HEX);
Example:
serial.begin(9600);
Controlling Ultrasonic sensor in programming
• serial.print – Prints data to the serial port as human-readable ASCII text
Syntax: serial.print(val)
Example:
serial.print (“Hello World”); //this will show Hello World
• serial.println – Prints data with carriage return and line feed
Syntax: serial.println(val)
Example:
serial.println (“Hello”);
serial.println(“World”);
*display- Hello
World
Program code:
const int trigPin = 9;
const int echoPin = 10;
const int motorPin = 3;
const int ledPin = 6;
const int buzzer = 2;
 
long duration;
int distance;
int safetyDistance;
 
Program code:
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motorPin, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
Program code:
void loop()
{

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Program code:
duration = pulseIn(echoPin, HIGH);
 
distance= duration*.034/2;

safetyDistance = distance;
Program code:
if (safetyDistance <= 20){
digitalWrite(motorPin, HIGH);
digitalWrite(ledPin, HIGH);
digitalWrite(buzzer, HIGH);
delay(1000);

}
else {
digitalWrite(motorPin, LOW);
digitalWrite(ledPin, LOW);
digitalWrite(buzzer, LOW);
delay(1000);

}
Program code:
Serial.print("Distance: ");
Serial.println(distance);
}

Distance:21
Distance:4
Distance:20

You might also like