Library for controlling ultrasonic ranging module HCSR04 Ported by hiawoood from arduino library orgininally created by ITead studio.
HCSR04.h@0:0bda99bb39a4, 2011-10-18 (annotated)
- Committer:
- aralshukaili
- Date:
- Tue Oct 18 14:32:12 2011 +0000
- Revision:
- 0:0bda99bb39a4
- Child:
- 1:b30b99a74f6e
1.0
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(); |
aralshukaili | 0:0bda99bb39a4 | 30 | long distance(int sys); |
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 |