ss
Dependencies: WS2812 PixelArray Adafruit_GFX
hcsr04.cpp
- Committer:
- eunsong
- Date:
- 2019-06-15
- Revision:
- 3:700a0cf6beea
- Parent:
- 0:27e31cadeb36
File content as of revision 3:700a0cf6beea:
#include "hcsr04.h"
#include "mbed.h"
/*
*HCSR04.cpp
*/
HCSR04::HCSR04(PinName t, PinName e, RawSerial pc,int flag, int limit) : trig(t), echo(e), _pc(pc), flag(flag), _limit(limit) {}
void HCSR04::Trig()
{
timer.reset(); //reset timer
trig=0; // trigger low
wait_us(2); // wait
trig=1; // trigger high
wait_us(10);
trig=0; // trigger low
}
/*
void HCSR04::setMode(bool mode)
{
_repeat = mode;
}
void HCSR04::clearStatus()
{
_done = 0;
}
int HCSR04::getStatus()
{
return _done;
}*/
long HCSR04::echo_duration() {
Trig();
while(!echo); // start pulseIN
timer.start();
while(echo);
timer.stop();
return timer.read_us();
}
//return distance in cm
void HCSR04::distance(){
// _done++;
duration = echo_duration();
distance_cm = int((duration/2)/29.1) ;
_pc.printf("distance: %d\r\n", distance_cm);
if(distance_cm <= _limit){
flag = 1;
_pc.printf("\t\tFlag on distance: %d\r\n", distance_cm);
}
}
long HCSR04::returndistance()
{
return distance_cm;
}