初始化提交
This commit is contained in:
40
arduino-cli/libraries/QDPHCSR04/QDPHCSR04.cpp
Normal file
40
arduino-cli/libraries/QDPHCSR04/QDPHCSR04.cpp
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
#include "Arduino.h"
|
||||
#include "QDPHCSR04.h"
|
||||
#include "QDPport.h"
|
||||
UltraSonicDistanceSensor::UltraSonicDistanceSensor(uint8_t PIN) {
|
||||
|
||||
this->triggerPin = QDPport[PIN][1];
|
||||
this->echoPin = QDPport[PIN][0];
|
||||
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;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user