Hey everyone!
Today I will be teaching you about making an Arduino Radar. My Arduino Radar system is designed to detect objects within 40cm from the ultrasonic sensor. If an object is detected, the display will show the distance between the object and my ultrasonic sensor. Read on further to learn how I made my Arduino Radar system.
Supplies
- Arduino Nano
- USB Type A to mini B cable (for Arduino Nano)
- Solderless Breadboard - Mini
- Micro servo motor SG-90
- Ultrasonic sensor (HC-SR04)
- Cardboard bracket
- Male-to-Male Jumper wires (x9) - 10cm
- 4-pin Female-to-Female Jumper wire (x1) - 70cm
- Double sided tape
Setup
Your setup must look somewhat similar to that shown in the images above. Please watch my YouTube video posted in the last section of this post to learn more about the setup.
Connections
Micro Servo Motor (SG-90)
- Red (+) - 5V
- Brown (-) - Ground (GND)
- Orange (S) - D9
Ultrasonic sensor (HC-SR04)
- GND - Ground
- Trig pin - D3
- Echo pin - D4
- Vcc - 5V
Coding
For this project, you will need to include the 'Servo' library by Michael Margolis in your sketch. If you are new to this library, and need reference to the functions, please feel free to follow the hyperlink in this section.
Create global variables for both trigger pin and echo pin using const int. Create a global variable to store the duration using the data type 'long', and another to store the distance measured using the data type 'int'. Create a servo object to control your servo motor.
Within void setup( ), use pinMode( ) to configure the trig pin and echo pin as OUTPUT and INPUT respectively. For this project, you will be using serial data transmission so set the data rate as 9600 bauds. Define the pin in which the servo motor is attached to, using the Servo.attach( ) function.
Within void loop( ), use for( ) function to rotate the servo motor from 15 to 165 degrees. Within for( ) function, use Servo.write( ) function, to set the position of the servo motor to the value. Set a delay period of 30 seconds, and use Serial.print( ) function to print the current degree and use a comma for indexing. Print your distance and a period for indexing.
You must repeat the previous lines using the for( ) function, so that the servo motor can move back to where it started - from 165 to 15 degrees.
How to measure distance:
Set the Trig pin on HIGH for 10 microseconds, after setting it LOW for 2 microseconds. Use pulseIn( ) function to read the echo pin while it is in HIGH state. The value returned by the pulseIn( ) function , in microseconds, must be stored in the duration variable. The value stored in the duration variable must be multiplied by the standard speed of sound in air and divided by 2.
*Note: To get the Processing codes, please feel free to comment below or send me an email at arduinoprojectsbyr@gmail.com.
Final Look
If anyone has any questions, or suggestions, about this project, please feel free to comment below or send me an email at arduinoprojectsbyr@gmail.com.
Comments
Post a Comment