From 8f28f575eb43ad4334d20e77efa2cd3501526b0a Mon Sep 17 00:00:00 2001 From: Noa Fabbricotti Date: Fri, 27 Mar 2026 13:48:13 +0100 Subject: [PATCH] Added ultrasonic sensor file, functions return values from individual sensor: ultrasonic_[ORIENTATION] --- src/ultrasonic.rs | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/ultrasonic.rs diff --git a/src/ultrasonic.rs b/src/ultrasonic.rs new file mode 100644 index 0000000..33fdeee --- /dev/null +++ b/src/ultrasonic.rs @@ -0,0 +1,53 @@ +use hc_sr04::{HcSr04, Unit}; + +let mut ultrasonic_front = HcSr04::new( + 7, // TRIGGER + 1, // ECHO + Some(23_f32) +).unwrap(); + +let mut ultrasonic_left = HcSr04::new( + 0, + 4, + Some(23_f32) +).unwrap(); + +let mut ultrasonic_right = HcSr04::new( + 2, + 5, + Some(23_f32) +).unwrap(); + +let mut ultrasonic_rear = HcSr04::new( + 3, + 6, + Some(23_f32) +).unwrap(); + +fn get_front_dist() -> Option { + match ultrasonic_front.measure_distance(Unit::Meters).unwrap() { + Some(dist) => Some(dist), + None => None, + } +} + +fn get_left_dist() -> Option { + match ultrasonic_left.measure_distance(Unit::Meters).unwrap() { + Some(dist) => Some(dist), + None => None, + } +} + +fn get_right_dist() -> Option { + match ultrasonic_right.measure_distance(Unit::Meters).unwrap() { + Some(dist) => Some(dist), + None => None, + } +} + +fn get_rear_dist() -> Option { + match ultrasonic_rear.measure_distance(Unit::Meters).unwrap() { + Some(dist) => Some(dist), + None => None, + } +}