EasyManuals Logo

Freenove ESP32 User Manual

Default Icon
159 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #112 background imageLoading...
Page #112 background image
Need support? support@freenove.com
110
Chapter 10 Ultrasonic Ranging
www.freenove.com
UltrasonicRanging.cpp
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
#include "UltrasonicRanging.h"
constexpr int MAX_DISTANCE = 300; // Maximum sensor distance is rated at 400-500cm.
constexpr float timeOut = MAX_DISTANCE * 60; // timeOut= 2*MAX_DISTANCE /100 /340 *1000000 =
MAX_DISTANCE*58.8
constexpr int soundVelocity = 340; // define sound speed=340m/s
void setupSonar() {
pinMode(PIN_TRIG, OUTPUT); // set trigPin to output mode
pinMode(PIN_ECHO, INPUT); // set echoPin to input mode
}
float getSonar() {
unsigned long pingTime, t0, t1;
float distance;
// make PIN_TRIG output high level lasting for 10μs to triger HC_SR04
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
// Wait HC-SR04 returning to the high level and measure out this waitting time
t0 = micros();
pingTime = pulseIn(PIN_ECHO, HIGH, timeOut); // unit: us
t1 = micros() - t0;
// calculate the distance according to the time
if (t1 < timeOut) {
distance = (float)pingTime * soundVelocity / 2 / 10000;
} else {
distance = MAX_DISTANCE;
}
return distance; // return the distance value
}
Ultrasonic module initialization function.
7
8
9
10
void setupSonar() {
pinMode(PIN_TRIG, OUTPUT); // set trigPin to output mode
pinMode(PIN_ECHO, INPUT); // set echoPin to input mode
}

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Freenove ESP32 and is the answer not in the manual?

Freenove ESP32 Specifications

General IconGeneral
BrandFreenove
ModelESP32
CategoryComputer Hardware
LanguageEnglish

Related product manuals