Library for controlling ultrasonic ranging module HCSR04 Ported by hiawoood from arduino library orgininally created by ITead studio.
HCSR04.h@1:b30b99a74f6e, 2022-05-08 (annotated)
- Committer:
- sas638
- Date:
- Sun May 08 20:09:39 2022 +0000
- Revision:
- 1:b30b99a74f6e
- Parent:
- 0:0bda99bb39a4
sensor;
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); |
sas638 | 1:b30b99a74f6e | 29 | int echo_duration(); |
sas638 | 1:b30b99a74f6e | 30 | int 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; |
sas638 | 1:b30b99a74f6e | 36 | int duration,distacne_cm,distance_inc; |
aralshukaili | 0:0bda99bb39a4 | 37 | }; |
aralshukaili | 0:0bda99bb39a4 | 38 | |
aralshukaili | 0:0bda99bb39a4 | 39 | #endif |