ESP32: Pocket Size Distance Measuring and Logger
Intro: ESP32: Pocket Size Distance Measuring and Logger
This is a sonic (sound-based), pocket-size measuring tool, accurate up to 3mm. It is useful for applications where you want to log the distances or find distances that are inaccessible, therefore measuring tapes, rulers, and callipers are out of the question!
Since the ESP32 is such a tiny micro controller powered by a micro usb port, you can grab a small power bank, plug it in, and start measuring distances normally inaccessible with conventional means of measuring i.e. rulers.
STEP 1: Materials and Tools
- ESP32
- Ultrasonic Sensor (HC-SR04)
- Breadboard
- Breadboard wires
STEP 2: Connecting the Ultrasonic Sensor
- Connect the VCC pin to 3.3V on the ESP32
- Connect the GND pin to ground on the ESP32
- Connect the Trig pin to D2 on the ESP32
- Connect the Echo pin to D5 on the ESP32
STEP 3: Coding and Uploading
Plug in your ESP32 to the computer and upload the following code to the ESP32 board. Make sure you have selected the correct board and port both will be labeled with ESP32.
// defines pins numbers
const int trigPin = 2; const int echoPin = 5;
// defines variables long duration; int distance;
void setup() { pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output pinMode(echoPin, INPUT); // Sets the echoPin as an Input Serial.begin(9600); // Starts the serial communication }
void loop() { // Clears the trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH);
// Calculating the distance distance= duration*0.034/2;
// Prints the distance on the Serial Monitor Serial.print("Distance: "); Serial.println(distance); }
STEP 4: Aim and Test!
Aim it at a distant object, like the wall or ceiling and measure! Try blocking it with your hand and watch the values change accurately and precisely.
14 Comments
sudoukpong 2 years ago
snkgsanskarnaman 3 years ago
techbatman29 2 years ago
Thanks snkgsanskarnaman.
Kristian5 5 years ago
Thank you for this guide and the code.
zach.vogl.35 3 years ago
jhdehart1 3 years ago
octrout 3 years ago
DIYGuy33 4 years ago
notronrj 5 years ago
Nice write up though!
Kristian5 5 years ago
Worked fine with my arduinio uno and 5 volts and of course different code.
ArduinoElectronics 6 years ago
Hey TechMartian, Its an amazing project but I would recommend exterior designing by 3D Printing. It would be better if you even add a lcd display or oled small display. Keeping an external power supply would be even better.
But still your project is amazing. Keep it up!!!
TechMartian 6 years ago
I thought about this too! Unfortunately I don't own a 3D printer so I couldn't make it. Maybe if our team wins the makerspace contest I can make an Instructables on it!
Thanks,
Tech Martian
watchmeflyy 6 years ago
Handy gadget! If I may offer a suggestion: it'd be nice to have some sort of indicator or laser attachment to clearly identify what object's distance is being measured. Might make the "pocket-sized" criteria a bit more difficult, but just a thought. :)
TechMartian 6 years ago
Yes that's coming up but since it's gonna be big anyway gonna make it on my Arduino 101. Stay Tuned!