Create a class to interact with the ultrasonic distance sensor

This commit is contained in:
rafa 2025-05-13 12:41:55 +01:00
parent de159357fd
commit 2522567be0

45
code/DistSensor.cpp Normal file
View File

@ -0,0 +1,45 @@
#include <Arduino.h>
class DistSensor {
private:
int trigPin;
int echoPin;
const int ULTRASONIC_CM_FACTOR = 58;
void make_measurement(){
digitalWrite(this->trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(this->trigPin, LOW);
}
public:
int duration;
float default_distance;
DistSensor(int trigPin, int echoPin, float default_distance){
this->trigPin = trigPin;
this->echoPin = echoPin;
this->default_distance = default_distance;
}
void configure_pins(){
pinMode(this->trigPin, OUTPUT);
pinMode(this->echoPin, INPUT);
}
int get_duration(){
this->make_measurement();
this->duration = pulseIn(this->echoPin, HIGH);
return this->duration;
}
int get_distance(){
return get_duration() / this->ULTRASONIC_CM_FACTOR;
}
bool is_in_range(){
return this->get_distance() < this->default_distance;
}
};