Class library for a HC-SR04 Distance Sensor based on PwmOut (Trig) and InterruptIn (Echo).

Dependents:   ultra TDPS-COM1 HCSR04

HCSR04.cpp

Committer:
grantphillips
Date:
2016-02-08
Revision:
1:8286d0de19ce
Parent:
0:5541303b14e7

File content as of revision 1:8286d0de19ce:

#include "HCSR04.h"
#include "mbed.h"
 
 
HCSR04::HCSR04(PinName t, PinName e) : trig(t), echo(e) {
    trig.period(0.06);
    trig.pulsewidth_us(20);
    echo.rise(this,&HCSR04::HighTrigger);
    echo.fall(this,&HCSR04::LowTrigger);
}
 
unsigned int HCSR04::read_us() {
    return us;
}
 
float HCSR04::read_cm() {
    return (float)us/58;
}

void HCSR04::HighTrigger() {
    timer.start();
}

void HCSR04::LowTrigger() {
    timer.stop();
    us = timer.read_us();
    timer.reset();
}