#include 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; } };