first commit

This commit is contained in:
lumijiez
2025-04-28 18:30:29 +03:00
commit a4b88564a4
45 changed files with 2188 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
#ifndef DISTANCE_SENSOR_CONTROLLER_H
#define DISTANCE_SENSOR_CONTROLLER_H
#include <Arduino.h>
#define DEFAULT_MIN_READ_INTERVAL_DIST 100
#define DEFAULT_SAMPLES 3
#define MAX_DISTANCE 400
class DistanceSensorController {
private:
uint8_t _trigPin;
uint8_t _echoPin;
unsigned long _lastReadTime;
unsigned long _minReadInterval;
long _lastDistanceCm;
bool _lastReadSuccess;
uint8_t _numSamples;
unsigned long _timeout;
long microsecondsToCentimeters(long microseconds);
long takeMeasurement();
public:
DistanceSensorController(uint8_t trigPin, uint8_t echoPin);
void begin();
bool read();
long getDistanceCm();
long getDistanceInch();
bool isLastReadSuccessful() const;
void setMinReadInterval(unsigned long interval);
void setNumSamples(uint8_t samples);
void setTimeout(unsigned long timeout);
};
#endif