-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDistanceSensor.h
47 lines (37 loc) · 1.04 KB
/
DistanceSensor.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef DistanceSensor_h
#define DistanceSensor_h
#include "Arduino.h"
class DistanceSensor {
private:
int pin_trig;
int pin_echo;
int distance_cm = 0;
public:
// Constructor
DistanceSensor (int pin_trig, int pin_echo) {
// Set up the pins
this->pin_trig = pin_trig;
this->pin_echo = pin_echo;
pinMode(pin_trig, OUTPUT);
pinMode(pin_echo, INPUT);
}
// Read pulse and calculate the distance
int getDistance(){
// Clears the trig pin
digitalWrite(pin_trig, LOW);
delayMicroseconds(2);
// Pulse trig pin per 10us
digitalWrite(pin_trig, HIGH);
delayMicroseconds(10);
digitalWrite(pin_trig, LOW);
// Read pulse in echo pin
unsigned long duration = pulseIn(pin_echo, HIGH);
// Calculating the distance
// Sound speed = 34300 cm/s
// 1s = 1000000us
distance_cm = ((duration * 34300.0) / 1000000.0) / 2;
// Return distance value in cm
return distance_cm;
}
};
#endif