HC-SR04

Position - HC-SR04/RCW-0001 NORMAL

../_images/P013_HC-SR04_1.jpg

Introduction

The HC-SR04 is a ultrasonic distance sensor. It’s able to indicate distances between 2 cm up to about 300 cm at a resolution of about 0.3 cm.

Specifications:
  • Ultrasonic distance sensor
  • Measure angle: 30°
  • Ranging distance: 2cm - 300cm (some have reporting it work good up to 400 cm)

Wiring

The HC-SR04 must be run on 5V. Running it with 3.3V will show very weak results or nothing at all.

ESP               HC-SR04
GPIO (X)   <-->   Trigger
GPIO (X)   <-->   Echo (voltage divider!)

Power
5.0V       <-->   VCC
GND        <-->   GND

Warning

Do not connect 5V directly to the ESP! Read more about Level converter.

Setup

../_images/P013_Setup_HC-SR04_1.png

Task settings

  • Device: Name of plugin
  • Name: Name of the task (example name HCSR04)
  • Enable: Should the task be enabled or not

Sensor

  • GPIO –> Trigger: Set the GPIO to trigger the signal.
  • GPIO –> Echo, 5V: Set the GPIO to receive the echo signal, voltage divider is needed.
  • Mode: Value is the most used setting, it will output the distance in centimeters. If you want the plugin to report a 1 or a 0 you use the State setting. State will open up a new field called “Threshold” which will allow you to enter a value. If the unit detects a value below the given threshold the task will be set to 1, if the detected value is above the given threshold the task will be 0. You should set the interval to zero in the case of using the state setting, just to make sure the action is triggered as soon as possible.
  • Max distance: Set the max value the task will show. If the actual value is above the max distance the max distance will be displayed. Set to 0 will disable the max distance setting. Max according to the specifications is 300 cm.
  • Unit: You can show the output value as imperial without the need to do it using the formula function.
  • Filter: The signal might be a bit shaky for some applications, try to use the Median filtering setting in that case.

Data acquisition

  • Send to controller 1..3: Check which controller (if any) you want to publish to. All or no controller can be used.
  • Interval: How often should the task publish its value (1..5 seconds is normal for the value setting, 0 for the state setting).

Rules examples

on HCSR04#distance do
 if [HCSR04#distance]<50 and [HCSR04#distance]>45
   GPIO,14,1 //light up LED to show that you're at the correct position
 else
   GPIO,14,0
 endif
endon

Where to buy

Store Link
AliExpress Link 1 ($)
Banggood Link 2 ($)
eBay Link 3 ($)

$ = affiliate links which will give us some money to keep this project running, thank you for using those.