Академический Документы
Профессиональный Документы
Культура Документы
Ultrasonic Sensor, a Buzzer, and some LED's. The ultimate goal of this tutorial is to use the
buzzer and LED's to display how far the object is from the ultrasonic sensor.
Object 1
Object 2
Object 3
Step 2: Setup
The photo above shows the setup of the project. The jumper wires should be connected as
follows:
Connect a jumper wire from the 5 volt pin on the Arduino to the bottom channel of the
breadboard
Connect another jumper wire from a ground pin on the arduino to the upper channel of the
breadboard
Buzzer -> pin 3
First things first, let's connect the 5 volt and ground pin to the breadboard. Again, the wire
attached to the 5 volt pin should be connected to the bottom channel of the breadboard,
while the wire attached to the ground pin should be connected to the upper channel of the
breadboard.
Now it's time to attach the HC-SRO4 ultrasonic sensor. It is easiest to place the ultrasonic
sensor as far right to the breadboard as possible. Referring back to the setup picture, you
should connect the ground pin on the ultrasonic sensor to the ground channel on the
breadboard. Next connect the Echo pin on the sensor to pin 6 on the Arduino. Now connect
the Trig pin on the sensor to pin 7 on the Arduino, and lastly connect the VCC pin on the
sensor to the 5 volt channel on the breadboard. If you did that all correctly, your assembly
should look like the picture above.
Next is connecting the LED's to the breadboard and Arduino. Once again referring back to
the setup picture, attaching the LEDs is pretty basic, just with a lot of repetition. The way to
connect them is to connect the anode, or the longer leg, or the one on the right, to a pin on
the Arduino with a jumper wire, and to connect the cathode, or the shorter leg, or the one
on the left, to the ground channel on the breadboard using a 330 ohm resistor. Then just
repeat that step for all six of the LEDs, with the red LED all the way on the right being
connected to pin 8 on the Arduino, the anode of the red LED to the left of that one being
connected to pin 9 on the Arduino, and so on. The last LED, that being the green LED all the
way on the left, should have it's anode, or right leg, connected to pin 13 on the Arduino.
Once you have done that, your setup should look something like this.
*DISCLAIMER*
Resistors are not absolutely necessary for the build, however the are highly recommended
to be used. The only reason I am not using them is because I don't have enough resistors.
The last part of the physical setup for this build is attaching the buzzer to the breadboard
and the Arduino. This part is probably the easiest part of the setup. All you have to do is
attach the longer leg of the buzzer to pin 3 of the Arduino and attach the shorter leg of the
buzzer to the ground channel of the breadboard.
*DISCLAIMER*
It is HIGHLY recommended to use a resistor in connecting the shorter leg of the buzzer to
the ground channel of the breadboard. This greatly reduces the volume of the buzzer. You
don't have to use a resistor, but if you don't, the buzzer will be very loud and quite frankly
annoying.
Now that you have finished the physical setup of the build, now its time for the code. I
assume that you already have the Arduino program on your computer, so now all you have
to do is copy and paste the code from below.
#define
#define
#define
#define
#define
#define
#define
#define
#define
trigPin 7
echoPin 6
led 13
led2 12
led3 11
led4 10
led5 9
led6 8
buzzer 3
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance <= 30) {
digitalWrite(led, HIGH);
sound = 250;
}
else {
digitalWrite(led,LOW);
}
if (distance < 25) {
digitalWrite(led2, HIGH);
sound = 260;
}
else {
digitalWrite(led2, LOW);
}
if (distance < 20) {
digitalWrite(led3, HIGH);
sound = 270;
}
else {
digitalWrite(led3, LOW);
}
if (distance < 15) {
digitalWrite(led4, HIGH);
sound = 280;
}
else {
digitalWrite(led4,LOW);
}
if (distance < 10) {
digitalWrite(led5, HIGH);
sound = 290;
}
else {
digitalWrite(led5,LOW);
}
if (distance < 5) {
digitalWrite(led6, HIGH);
sound = 300;
}
else {
digitalWrite(led6,LOW);
}
if (distance > 30 || distance <= 0){
Serial.println("Out of range");
noTone(buzzer);
}
else {
Serial.print(distance);
Serial.println(" cm");
tone(buzzer, sound);
}
delay(500);
}