Library for controlling ultrasonic ranging module HCSR04 Ported by hiawoood from arduino library orgininally created by ITead studio.
Dependents: Ultrasonic test ZMOTO42 catchCats ... more
HCSR04.cpp
- Committer:
- aralshukaili
- Date:
- 2011-10-18
- Revision:
- 0:0bda99bb39a4
File content as of revision 0:0bda99bb39a4:
#include "HCSR04.h" #include "mbed.h" HCSR04::HCSR04(PinName t, PinName e) : trig(t), echo(e) {} // Trigger Echo // _______ _____________,,,,,,,,, // ____| 10us |_________| 150us-25ms, or 38ms if no obstacle // //return echo duration in us (refer to digram above) long HCSR04::echo_duration() { timer.reset(); trig = 0; wait_us(2); trig = 1; wait_us(10); trig = 0; while(echo == 0); timer.start(); while(echo == 1); timer.stop(); return timer.read_us(); } //return distance to nearest obstacle or returns -1 //if no obstacle within range //set sys to cm or inch accordingly long HCSR04::distance(int sys){ duration = echo_duration(); if(duration > 30000) return -1; distacne_cm = duration /29 / 2 ; distance_inc = duration / 74 / 2; if (sys) return distacne_cm; else return distance_inc; }