- About
- Modules
- IOs of Modules
- Calculation of Distance
- Test
- Status Information
- Issues
- Licence
HC-SR04 is an ultrasonic distance sensor. It provides 2cm to 400cm of non-contact measurement functionality with a ranging accuracy that can reach up to 3mm.
HC-SR04 uses 5V logic!
Module hc_sr04
provides an interface for HC-SR04. It generates 10µs trigger signal, Trig
, and counts the length of the echo signal, Echo
. Length of the echo signal counted in number of cycles, multiples of 10ns.
Module refresher250ms
generates a measure signal every 250ms when enabled.
Port | Type | Width | Description |
---|---|---|---|
clk |
I | 1 | System Clock (100 MHz) |
rst |
I | 1 | System Reset |
measure |
I | 1 | Initiate a new measurement |
state |
O | 2 | State of the module, for debug etc |
ready |
O | 1 | Module is not busy |
echo |
I | 1 | Echo pin of HC-SR04 |
trig |
O | 1 | Trigger pin of HC-SR04 |
distanceRAW |
O | 22 | Length of the echo signal, multiples of 10ns |
I: Input O: Output
distanceRAW
should be divided with 100 to calculate time in µs.
distanceRAW
/ 100 = Time (µs)
Distance can be calculated using following formula:
- Distance (cm) = Speed of sound (cm/µs) × Time (µs) / 2
Where Speed of sound (cm/µs) = 0.0346 at 25°C
Temperature of the environment can change the speed of sound. It can be calculated via:
- Speed of sound (cm/µs) = (331.3 + 0.606 * Temp) / 1000
Where Temp is the environment temperature in °C.
Formula above assumes 0% humidity.
Source: Wikipedia
HC-SR04 uses 5V logic!
HC-SR04 require an external 5V supply. TXS0104E voltage level shifter is used to convert echo
and trig
signals between 3.3V and 5V.
testboard.v is used to test interface. echo
and trig
are connected to JA header. Sixteen least significant bits of distanceRAW
is connected to seven segment display, remaining bits are connected to least significant bits of leds. Most significant bit of the leds connected to ready
. Down button can be used to get a single measurement. SW15 can be used to enable refresher250ms
module.
Last Test: 16 January 2021, on Digilent Basys 3.
- Keeping
measure
high breaks the module.
CERN Open Hardware Licence Version 2 - Weakly Reciprocal