V1

Dependencies:   simple-mbed-client

Committer:
johnlynam2014
Date:
Tue Mar 07 12:57:42 2017 +0000
Revision:
1:bb3336b7e953
Mbed_1st_Commit_V1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
johnlynam2014 1:bb3336b7e953 1 #include "hcsr04.h"
johnlynam2014 1:bb3336b7e953 2 #include "mbed.h"
johnlynam2014 1:bb3336b7e953 3 /*
johnlynam2014 1:bb3336b7e953 4 *HCSR04.cpp
johnlynam2014 1:bb3336b7e953 5 */
johnlynam2014 1:bb3336b7e953 6 HCSR04::HCSR04(PinName t, PinName e) : trig(t), echo(e) {}
johnlynam2014 1:bb3336b7e953 7 long HCSR04::echo_duration() {
johnlynam2014 1:bb3336b7e953 8
johnlynam2014 1:bb3336b7e953 9 timer.reset(); //reset timer
johnlynam2014 1:bb3336b7e953 10 trig=0; // trigger low
johnlynam2014 1:bb3336b7e953 11 wait_us(2); // wait
johnlynam2014 1:bb3336b7e953 12 trig=1; // trigger high
johnlynam2014 1:bb3336b7e953 13 wait_us(10);
johnlynam2014 1:bb3336b7e953 14 trig=0; // trigger low
johnlynam2014 1:bb3336b7e953 15 while(!echo); // start pulseIN
johnlynam2014 1:bb3336b7e953 16 timer.start();
johnlynam2014 1:bb3336b7e953 17 while(echo);
johnlynam2014 1:bb3336b7e953 18 timer.stop();
johnlynam2014 1:bb3336b7e953 19 return timer.read_us();
johnlynam2014 1:bb3336b7e953 20
johnlynam2014 1:bb3336b7e953 21 }
johnlynam2014 1:bb3336b7e953 22
johnlynam2014 1:bb3336b7e953 23 //return distance in cm
johnlynam2014 1:bb3336b7e953 24 long HCSR04::distance(){
johnlynam2014 1:bb3336b7e953 25 duration = echo_duration();
johnlynam2014 1:bb3336b7e953 26 distance_cm = (duration/2)/29.1;
johnlynam2014 1:bb3336b7e953 27 return distance_cm;
johnlynam2014 1:bb3336b7e953 28
johnlynam2014 1:bb3336b7e953 29 }
johnlynam2014 1:bb3336b7e953 30