UltraSonicXCR is a simple and effective library designed for easy use of the HC-SR04 ultrasonic distance sensor with Arduino.
- Compatible with HC-SR04 sensor
- Measures distance in centimeters
- Takes 5 samples and returns the average
- Returns
0for invalid or out-of-range readings (filtering) - Reliable measurement between 2–320 cm
| HC-SR04 Pin | Arduino Digital Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | D9 |
| ECHO | D10 |
TRIG and ECHO pins must be connected to digital pins. Analog pins are not compatible with the
pulseIn()function.
#include "UltraSonicXCR.h"
UltraSonicXCR sensor(9, 10); // TRIG -> D9, ECHO -> D10
void setup() {
Serial.begin(9600);
}
void loop() {
float distance = sensor.measureDistance();
if (distance == 0) {
Serial.println("Invalid reading or out of range.");
} else {
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
}
delay(200);
}UltraSonicXCR(int trigPin, int echoPin);trigPin: Digital pin connected to TRIGechoPin: Digital pin connected to ECHO
float measureDistance();- Returns distance in centimeters
- Returns
0if the measurement is invalid or out of range
- The
pulseIn()function measures echo duration in microseconds. - Distance formula:
distance = duration * 0.0343 / 2 - Applies a
30mstimeout. If no echo is received, returns0. - Waits 50ms between each sample.
MIT License — This library is open-source and free to use and modify.
[Can ünüvar or X-croot]