Arduino Sensor Demonstrations
(Redirected from Arduino Sensor Demonstration: HC-SR04 Untrasonic Distance Sensor)
Jump to navigation
Jump to search
HC-SR04 Ultrasonic Distance Sensor
Introduction
The HC-SR04 Ultrasonic Sensor measures distance by emitting 40kHz tone which travels through the air and bounces back from any object or obstacle it encounters. If the reflected tone is received by the module, the distance to the reflecting object can be calculated from the travel time.
Working Voltage | DC 5 V |
Working Current | 15mA |
Working Frequency | 40Hz |
Max Range | 4m |
Min Range | 2cm |
MeasuringAngle | 15 degree |
Trigger Input Signal | 10uS TTL pulse |
Echo Output Signal | Input TTL lever signal and the range in proportion |
Dimension | 45*20*15mm |
Datasheet
https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf
Example Code
// ---------------------------------------------------------------- // // Arduino Ultrasoninc Sensor HC-SR04 // Re-writed by Arbi Abdul Jabbaar // Using Arduino IDE 1.8.7 // Using HC-SR04 Module // Tested on 17 September 2019 // ---------------------------------------------------------------- // #define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04 #define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04 // defines variables long duration; // variable for the duration of sound wave travel int distance; // variable for the distance measurement void setup() { pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed Serial.println("Ultrasonic Sensor HC-SR04 Test"); // print some text in Serial Monitor Serial.println("with Arduino UNO R3"); } void loop() { // Clears the trigPin condition digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin HIGH (ACTIVE) for 10 microseconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back) // Displays the distance on the Serial Monitor Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); }