• sales

    +86-0755-88291180

HC-SR04 User Guide

Arduino connects ultrasonic sensor for distance measurement 

Ultrasonic sensors are suitable for static distance measurement of large flat surfaces. The range of ordinary ultrasonic sensors is about 2cm-450cm, and the resolution is 3mm (the test environment is not so good, and the personal measurement is relatively stable. The distance is about 10cm-2m. If this distance is exceeded, accidental inaccuracies often occur. Of course not Eliminate technical issues.)


The test object is the SRF-04 ultrasonic sensor, which has four pins: 5v power supply pin (Vcc), trigger control terminal (Trig), receiving terminal (Echo), and ground terminal (GND) 



How to use the module: 
Using this module, occupies two IO ports of the single-chip microcomputer, and one IO port is used as the trigger terminal. One IO port is used as the echo PWM signal capture pin. When writing the program, firstly set the level of 8 40K cycles at the TXD pin, and the program is processed into a PWM signal and output from the RXD pin. Once an echo signal is detected, the echo signal is output for our convenience. When we use it, we only need to read the low level time (T). The echo signal is a distance object proportional to the pulse width. The distance can be calculated from the time interval between the transmitted signal and the received echo signal. Formula: uS/58=cm or uS/148=inch. The formula L=340T/2 can also be propagated in the air by sound waves. You can find L (measured distance). If no reverberation signal is detected, the module’s reverberation signal pin will output a level of about 140uS to prevent the transmitted signal from affecting the reverberation signal. 


The working principle of the module: 

IO trigger ranging to at least 10us high signal;

module automatically sends eight 40kHz square wave, automatically detect whether a signal return;

a signal to return to a high IO output, high duration of the ultrasonic time from launch to return.

Test distance = (time high * speed of sound (340M / S)) / 2;


Circuit connection method: 



Arduino program example: 

const int TrigPin = 2
const int EchoPin = 3
float cm; 
void setup() 

Serial.begin(9600); 
pinMode(TrigPin, OUTPUT); 
pinMode(EchoPin, INPUT); 

void loop() 

digitalWrite(TrigPin, LOW); //Send a short time pulse to TrigPin  
delayMicroseconds(2); 
digitalWrite(TrigPin, HIGH); 
delayMicroseconds(10); 
digitalWrite(TrigPin, LOW); 

cm = pulseIn(EchoPin, HIGH) / 58.0//Convert the echo time to cm  
cm = (int(cm * 100.0)) / 100.0//Keep two decimal places  
Serial.print(cm); 
Serial.print("cm"); 
Serial.println(); 
delay(1000); 



TAG: Raspberry Pi 3.7 inch e-Paper link (G) RYBW 416x240 For Arduino / Jetson Nano / STM32 Raspberry Pi 3.5 inch LCD G Display Resistive TouchScreen 60fps ST7796 320x480 Also For Arduino/Pico2/ESP32/RP2040/RP2350 Luckfox Pico MINI Raspberry Pi GNSS Expansion Board Q43 Helical RTK Centimeter-Level Positioning NEO-F9P-15B GPS GLONASS Galileo BDS QZSS NavIC For Jetson ESP32 Arduino ESP32 P4 Development Board WIFI6 4 inch LCD Round Display 4inch TouchScreen 720×720 Dual Microphones JLINK OB ESP32-S3 Development Board 4 inch LCD TouchScreen Display 480x480 RS485 /SHT20 /Relay For Arduino LVGL 86 TVbox EC200U C4-P01 Development Board QuecPython LTE Cat-1 Bluetooth GNSS Positioning Core2021 LoRa LR2021 HF LF SPI LoRaWAN For Sub-GHz and 2.4GHz Raspberry Pi Pico 2 RP2350B 7inch Capacitive TouchScreen 7 inch LCD Display Development Board 800×480 Code Raspberry Pi 5 inch DSI MIPI LCD TouchScreen Display 7inch 720x1280 For Luckfox Lyra RK3506/ESP32-P4/Luckfox Omni3576 Industrial CAN FD ETH RJ45 bidirectional converter CAN2.0A/2.0B LuckFox Pico plus Raspberry Pi 4 Camera ESP32 desktop trinket ESP32-S3 Smart 86 Box Development Board with 4 inch 480x480 Display Touch Screen For AI and DeepSeek Raspberry Pi 4B/5 Industrial UART 2CH RS485 RS232 CAN FD HAT With Case For Installation of guide rails and hanging Raspberry Pi 4.26 inch e-Paper link (G) RYBW 800x480 For Arduino / Jetson / STM32 /ESP32 GPU Monitor Display