Files
arduino-libs/arduino-cli/libraries/QDPHCSR04Esp32/QDPHCSR04Esp32.cpp
2024-07-20 22:09:06 +08:00

40 lines
1.2 KiB
C++

#include "Arduino.h"
#include "QDPHCSR04Esp32.h"
#include "QDPEsp32Port.h"
UltraSonicDistanceSensor::UltraSonicDistanceSensor(uint8_t PIN1, uint8_t PIN2) {
this->triggerPin = PIN1;
this->echoPin = PIN2;
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
}
double UltraSonicDistanceSensor::measureDistanceCm() {
double distanceCm = measureDistance()/ 2.0 * 0.0343;
if (distanceCm == 0 || distanceCm > 888) {
return 888 ;
} else {
return distanceCm;
}
}
double UltraSonicDistanceSensor::measureDistanceinch() {
double distanceCm = measureDistance()/ 2.0 * 0.0343/2.54;
if (distanceCm == 0 || distanceCm > 188) {
return 188 ;
} else {
return distanceCm;
}
}
long UltraSonicDistanceSensor::measureDistance() {
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Hold trigger for 10 microseconds, which is signal for sensor to measure distance.
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
// Measure the length of echo signal, which is equal to the time needed for sound to go there and back.
unsigned long durationMicroSec = pulseIn(echoPin, HIGH);
return durationMicroSec;
}