Library for controlling ultrasonic ranging module HCSR04 Ported by hiawoood from arduino library orgininally created by ITead studio.

Committer:
eunmango
Date:
Sun Jun 16 04:37:08 2019 +0000
Revision:
1:b3401c36a10b
Parent:
0:0bda99bb39a4
dd

Who changed what in which revision?

UserRevisionLine numberNew 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 }