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, + } +}