Library used to implement HCSR04 Ranging Module.
Dependents: 2Project3_Robot2_Final
Fork of HCSR04 by
HCSR04.h@1:348fdd74f030, 2016-05-02 (annotated)
- Committer:
- Jakschwa
- Date:
- Mon May 02 17:22:54 2016 +0000
- Revision:
- 1:348fdd74f030
- Parent:
- 0:0bda99bb39a4
This library was used to implement the HCSR04 ranging module used to sense distances in our Multi-Robot Security System Project in IUPUI's ECE 59500 Embedded Systems Design course.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aralshukaili | 0:0bda99bb39a4 | 1 | //Library for controlling ultrasonic module HCSR04 |
aralshukaili | 0:0bda99bb39a4 | 2 | //Ported by hiawoood from arduino library orgininally created by ITead studio. |
aralshukaili | 0:0bda99bb39a4 | 3 | //Instantiate object by supplying the proper pin numbers of "trigger" and "echo" |
aralshukaili | 0:0bda99bb39a4 | 4 | //e.g. |
aralshukaili | 0:0bda99bb39a4 | 5 | /* |
aralshukaili | 0:0bda99bb39a4 | 6 | int main() { |
aralshukaili | 0:0bda99bb39a4 | 7 | Ultrasonic sensor(p5, p6); |
aralshukaili | 0:0bda99bb39a4 | 8 | while(1){ |
aralshukaili | 0:0bda99bb39a4 | 9 | long distance = sensor.distance(CM); |
aralshukaili | 0:0bda99bb39a4 | 10 | printf("Distance:%d\n"); |
aralshukaili | 0:0bda99bb39a4 | 11 | wait(0.1); |
aralshukaili | 0:0bda99bb39a4 | 12 | } |
aralshukaili | 0:0bda99bb39a4 | 13 | } |
aralshukaili | 0:0bda99bb39a4 | 14 | */ |
aralshukaili | 0:0bda99bb39a4 | 15 | |
aralshukaili | 0:0bda99bb39a4 | 16 | |
aralshukaili | 0:0bda99bb39a4 | 17 | |
aralshukaili | 0:0bda99bb39a4 | 18 | #ifndef HCSR04_H |
aralshukaili | 0:0bda99bb39a4 | 19 | #define HCSR04_H |
aralshukaili | 0:0bda99bb39a4 | 20 | |
aralshukaili | 0:0bda99bb39a4 | 21 | #include "mbed.h" |
aralshukaili | 0:0bda99bb39a4 | 22 | |
aralshukaili | 0:0bda99bb39a4 | 23 | #define CM 1 |
aralshukaili | 0:0bda99bb39a4 | 24 | #define INC 0 |
aralshukaili | 0:0bda99bb39a4 | 25 | |
aralshukaili | 0:0bda99bb39a4 | 26 | class HCSR04 { |
aralshukaili | 0:0bda99bb39a4 | 27 | public: |
aralshukaili | 0:0bda99bb39a4 | 28 | HCSR04(PinName t, PinName e); |
aralshukaili | 0:0bda99bb39a4 | 29 | long echo_duration(); |
Jakschwa | 1:348fdd74f030 | 30 | long distance(); |
aralshukaili | 0:0bda99bb39a4 | 31 | |
aralshukaili | 0:0bda99bb39a4 | 32 | private: |
aralshukaili | 0:0bda99bb39a4 | 33 | DigitalOut trig; |
aralshukaili | 0:0bda99bb39a4 | 34 | DigitalIn echo; |
aralshukaili | 0:0bda99bb39a4 | 35 | Timer timer; |
aralshukaili | 0:0bda99bb39a4 | 36 | long duration,distacne_cm,distance_inc; |
aralshukaili | 0:0bda99bb39a4 | 37 | }; |
aralshukaili | 0:0bda99bb39a4 | 38 | |
aralshukaili | 0:0bda99bb39a4 | 39 | #endif |