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

Dependents:   ultra TDPS-COM1 HCSR04

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers HCSR04.cpp Source File

HCSR04.cpp

00001 #include "HCSR04.h"
00002 #include "mbed.h"
00003  
00004  
00005 HCSR04::HCSR04(PinName t, PinName e) : trig(t), echo(e) {
00006     trig.period(0.06);
00007     trig.pulsewidth_us(20);
00008     echo.rise(this,&HCSR04::HighTrigger);
00009     echo.fall(this,&HCSR04::LowTrigger);
00010 }
00011  
00012 unsigned int HCSR04::read_us() {
00013     return us;
00014 }
00015  
00016 float HCSR04::read_cm() {
00017     return (float)us/58;
00018 }
00019 
00020 void HCSR04::HighTrigger() {
00021     timer.start();
00022 }
00023 
00024 void HCSR04::LowTrigger() {
00025     timer.stop();
00026     us = timer.read_us();
00027     timer.reset();
00028 }