Class library for a HC-SR04 Distance Sensor based on PwmOut (Trig) and InterruptIn (Echo).
Dependents: ultra TDPS-COM1 HCSR04
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 }
Generated on Tue Jul 12 2022 17:06:40 by 1.7.2