Introduction: Arduino - Ultrasonic Sensor With LED's and Buzzer
What’s this project about?
Basically we have an Ultrasonic sensor that measures the distance and the LED’s bar graph will light up according to our distance from the sensor and as we get closer the buzzer beeps in a different way. This circuit can work as a parking sensor! It's easy and cheap.
Check my website for more electronic projects and information.
Check this video to watch the circuit working
Thanks!
Parts Required:
1x Arduino
1x 74HC595 8 Bit Shift Register
1x Breadboard
8x LED’s (for example: 3x red, 3x yellow, 2x green)
9x 220 Ohm Resisters
1x Buzzer
1x Ultrasonic Sensor (for exemple: HC-SR04)
Jumper Wires
Step 1: Let's Start
First you should place all the components on the breadboard, check the picture.
Step 2: Wires...
Wire connection: 74HC595 8 Bit Shift Register
Ground (black wire) – Pin 8 and Pin 13
5V (red wire) – Pin 10 and Pin 16
IC Pin 11 (white wire) - Arduino Pin 11
IC Pin 12 (blue wire) – Arduino Pin 12
IC Pin 14 (gree wire)– Arduino Pin 13
1st LED (orange wire) – IC Pin 15
2nd LED (orange wire) to 8th LED – IC Pin 1 to IC Pin 8
Note this connections to the LED’s must be to their positive lead (this means the longer one)
Wire connection: LED’s
Now to the negative lead use one resistor per led and connect them to the ground (black wires)
Step 3: More Wires...
Wire connection: Ultrasonic Sensor: HC-SR04
VCC (red wire) – 5V
Trig (violet wire) – Arduino Pin 9
Echo (yellow wire) – Arduino Pin 10
Ground (black wire) –GND
Wire connection: Buzzer
Shorter lead (black wire) – ground
Longer lead (resistor in series, red wire) – Arduino Pin 4
Step 4: Programing
Now upload this code:
/*
* IRremote Library - Copyright 2009 Ken Shirriff
* created by Rui Santos, http://randomnerdtutorials.wordpress.com
* Ultrasonic sensor with LED's and Buzzer
* 2013
*/
int tonePin = 4; //Tone - Red Jumper
int trigPin = 9; //Trig - violet Jumper
int echoPin = 10; //Echo - yellow Jumper
int clockPin = 11; //IC Pin 11 - white Jumper
int latchPin = 12; //IC Pin 12 - Blue Jumper
int dataPin = 13; //IC Pin 14 - Green Jumper
byte possible_patterns[9] = {
B00000000,
B00000001,
B00000011,
B00000111,
B00001111,
B00011111,
B00111111,
B01111111,
B11111111,
};
int proximity=0;
int duration;
int distance;
void setup() {
//Serial Port
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(tonePin, OUTPUT);
}
void loop() {
digitalWrite(latchPin, LOW);
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
/*if (distance >= 45 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}*/
proximity=map(distance, 0, 45, 8, 0);
//Serial.println(proximity);
if (proximity <= 0){
proximity=0;
}
else if (proximity >= 3 && proximity <= 4){
tone(tonePin, 200000, 200);
}
else if (proximity >= 5 && proximity <= 6){
tone(tonePin,5000, 200);
}
else if (proximity >= 7 && proximity <= 8){
tone(tonePin, 1000, 200);
}
shiftOut(dataPin, clockPin, MSBFIRST, possible_patterns[proximity]);
digitalWrite(latchPin, HIGH);
delay(600);
noTone(tonePin);
}
33 Comments
7 years ago
Super...super fine - thumbs up !
But I have a questions...is it possible to get the device to start Automatic and turn off when the car is parked.
Because I want to put the device on the carport wall - and when I get home it will start and after parkering the car it will - Automatic turn off (approximately after 30 sec.)
Is it possible and how should it be encodet.
7 years ago
Could this project be modified to serve as a detector of high frequency noises? There are so called "teen buzz" sounds that only kids and teens can hear but adults cannot. I just want it to light up an LED or make an audible beep or both when it detects sound in the 14.4k range. Teens use them as secret ringtones and it would be cool to bust them.
7 years ago
Just made my own version, it's a little more simplistic in design.
https://www.instructables.com/id/Distance-Detector/
8 years ago
Hi do you know about signal in dangrees
road bend,project?
8 years ago
all leds are lighting up frm the beginning itself irrespective of the distance ...plz help me
8 years ago
everthing is well...but why my buzzer keep emitting the same sound? anyone can help?:( quite rush of time.... what type of buzzer u all using?
8 years ago on Introduction
i have done this project ,but in schematic some wire in leds and HC-SR04 wrong but out of all this is coll project ,thanks
8 years ago on Introduction
How can I add a mute button?
8 years ago on Introduction
8 years ago on Introduction
HERE YOU GO
9 years ago on Introduction
Hi there,
I would like to ask if these circuit can be applied for detecting water level. Was it only able to detect concrete object? How about object like water? :)
10 years ago on Introduction
hey in your schematic diagram position of echo and trig are reversed and the buzzer is not connected to d ground
Reply 10 years ago on Introduction
it's correct my schematics but the image is a bit large... (the yellow rectangle with Vcc trig echo ground)
so it's seems it's wrong... but it's working perfectly because I've received tons of emails of people that made this project and it worked!
If you have more questions just let me know
Reply 9 years ago on Introduction
Amazing work Rui, I think he is trying to say that on your breadboard when you are connecting the negative side of the buzzer to ground, technically its not because there is a break in the breadboard.
9 years ago on Introduction
what about if without the bit shifter?.. does work or not?
9 years ago on Introduction
Hi. I'm having a problem with B00000000 - B11111111 being declared. The verification process is not accepting this array for some reason. Do you have any ideas as to why?
9 years ago
the buzzer used is a 5v buzzer?or a 9v one?
9 years ago
WHAT is the use of shift register here?
10 years ago
Can you show how to connect multiple hc-sr04
in arduino with same trigger pin by using 74hc595??
10 years ago on Introduction
Could you please add how to make it independent, by using a 9v battery. I'd like to built it and install in my garage.