| Crates.io | hc-sr04 |
| lib.rs | hc-sr04 |
| version | 0.1.2 |
| created_at | 2022-09-23 21:31:14.365142+00 |
| updated_at | 2024-05-02 16:54:31.472287+00 |
| description | Raspberry Pi Rust driver for the HC-SR04 ultrasonic distance sensor. |
| homepage | |
| repository | https://github.com/marcoradocchia/hc-sr04 |
| max_upload_size | |
| id | 672696 |
| size | 51,764 |
This crate provides a driver for the HC-SR04/HC-SR04P ultrasonic distance sensor on Raspberry Pi, using rppal to access Raspberry Pi's GPIO.
Usage examples can be found in the examples folder.
use hc_sr04::{HcSr04, Unit};
// Initialize driver.
let mut ultrasonic = HcSr04::new(
24, // TRIGGER -> Gpio pin 24
23, // ECHO -> Gpio pin 23
Some(23_f32) // Ambient temperature (if `None` defaults to 20.0C)
).unwrap();
// Perform distance measurement, specifying measuring unit of return value.
match ultrasonic.measure_distance(Unit::Meters).unwrap() {
Some(dist) => println!("Distance: {.2}m", dist),
None => println!("Object out of range"),
}
Distance measurement can be calibrated at runtime using the HcSr04::calibrate
method that this library exposes, passing the current ambient temperature as
f32.
use hc_sr04::{HcSr04, Unit};
// Initialize driver.
let mut ultrasonic = HcSr04::new(24, 23, None).unwrap();
// Calibrate measurement with ambient temperature.
ultrasonic.calibrate(23_f32);
// Perform distance measurement.
match ultrasonic.measure_distance(Unit::Centimeters).unwrap() {
Some(dist) => println!("Distance: {.1}cm", dist),
None => println!("Object out of range"),
}