Library for controlling ultrasonic ranging module HCSR04 Ported by hiawoood from arduino library orgininally created by ITead studio.
Dependents: mbed-os-example-FinalReal mbed-os-example-FinalReal
HCSR04.cpp@1:b3401c36a10b, 2019-06-16 (annotated)
- Committer:
- eunmango
- Date:
- Sun Jun 16 04:37:08 2019 +0000
- Revision:
- 1:b3401c36a10b
- Parent:
- 0:0bda99bb39a4
dd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aralshukaili | 0:0bda99bb39a4 | 1 | #include "HCSR04.h" |
aralshukaili | 0:0bda99bb39a4 | 2 | #include "mbed.h" |
aralshukaili | 0:0bda99bb39a4 | 3 | |
eunmango | 1:b3401c36a10b | 4 | Ultrasonic::Ultrasonic(PinName t, PinName e) : trig(t), echo(e) { |
eunmango | 1:b3401c36a10b | 5 | trig=0; |
eunmango | 1:b3401c36a10b | 6 | } |
aralshukaili | 0:0bda99bb39a4 | 7 | |
eunmango | 1:b3401c36a10b | 8 | int Ultrasonic::echo_duration() { |
aralshukaili | 0:0bda99bb39a4 | 9 | timer.reset(); |
aralshukaili | 0:0bda99bb39a4 | 10 | trig = 1; |
aralshukaili | 0:0bda99bb39a4 | 11 | wait_us(10); |
aralshukaili | 0:0bda99bb39a4 | 12 | trig = 0; |
aralshukaili | 0:0bda99bb39a4 | 13 | while(echo == 0); |
aralshukaili | 0:0bda99bb39a4 | 14 | timer.start(); |
aralshukaili | 0:0bda99bb39a4 | 15 | while(echo == 1); |
aralshukaili | 0:0bda99bb39a4 | 16 | timer.stop(); |
aralshukaili | 0:0bda99bb39a4 | 17 | return timer.read_us(); |
aralshukaili | 0:0bda99bb39a4 | 18 | } |
aralshukaili | 0:0bda99bb39a4 | 19 | |
eunmango | 1:b3401c36a10b | 20 | int Ultrasonic::distance(){ |
aralshukaili | 0:0bda99bb39a4 | 21 | duration = echo_duration(); |
eunmango | 1:b3401c36a10b | 22 | _distance= duration /58 / 2 ; |
eunmango | 1:b3401c36a10b | 23 | return _distance; |
eunmango | 1:b3401c36a10b | 24 | } |