Test

Committer:
fermedicius
Date:
Mon Jan 11 10:59:03 2021 +0000
Revision:
0:2a1510763167
Test

Who changed what in which revision?

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