c
Dependencies: Servo ServoArm mbed
Fork of PES_PIXY_Official by
Headers/Ultraschall.h@0:15a8480061e8, 2017-05-22 (annotated)
- Committer:
- beacon
- Date:
- Mon May 22 11:24:46 2017 +0000
- Revision:
- 0:15a8480061e8
o
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
beacon | 0:15a8480061e8 | 1 | #ifndef ULTRASCHALL_H |
beacon | 0:15a8480061e8 | 2 | #define ULTRASCHALL_H |
beacon | 0:15a8480061e8 | 3 | |
beacon | 0:15a8480061e8 | 4 | #include "mbed.h" |
beacon | 0:15a8480061e8 | 5 | |
beacon | 0:15a8480061e8 | 6 | /** Ultraschall Class(es) |
beacon | 0:15a8480061e8 | 7 | */ |
beacon | 0:15a8480061e8 | 8 | |
beacon | 0:15a8480061e8 | 9 | class Ultraschall |
beacon | 0:15a8480061e8 | 10 | { |
beacon | 0:15a8480061e8 | 11 | public: |
beacon | 0:15a8480061e8 | 12 | /** Create a Ultraschall object connected to the specified pin |
beacon | 0:15a8480061e8 | 13 | * @param pin i/o pin to connect to |
beacon | 0:15a8480061e8 | 14 | */ |
beacon | 0:15a8480061e8 | 15 | Ultraschall(); |
beacon | 0:15a8480061e8 | 16 | Ultraschall(PinName TrigPin,PinName EchoPin); |
beacon | 0:15a8480061e8 | 17 | ~Ultraschall(); |
beacon | 0:15a8480061e8 | 18 | |
beacon | 0:15a8480061e8 | 19 | /** Return the distance from obstacle in cm |
beacon | 0:15a8480061e8 | 20 | * @param distance in cms and returns -1, in case of failure |
beacon | 0:15a8480061e8 | 21 | */ |
beacon | 0:15a8480061e8 | 22 | unsigned int get_dist_cm(void); |
beacon | 0:15a8480061e8 | 23 | /** Return the pulse duration equal to sonic waves travelling to obstacle and back to receiver. |
beacon | 0:15a8480061e8 | 24 | * @param pulse duration in microseconds. |
beacon | 0:15a8480061e8 | 25 | */ |
beacon | 0:15a8480061e8 | 26 | unsigned int get_pulse_us(void); |
beacon | 0:15a8480061e8 | 27 | /** Generates the trigger pulse of 10us on the trigger PIN. |
beacon | 0:15a8480061e8 | 28 | */ |
beacon | 0:15a8480061e8 | 29 | void start(void); |
beacon | 0:15a8480061e8 | 30 | void isr_rise(void); |
beacon | 0:15a8480061e8 | 31 | void isr_fall(void); |
beacon | 0:15a8480061e8 | 32 | void fall (void (*fptr)(void)); |
beacon | 0:15a8480061e8 | 33 | void rise (void (*fptr)(void)); |
beacon | 0:15a8480061e8 | 34 | |
beacon | 0:15a8480061e8 | 35 | |
beacon | 0:15a8480061e8 | 36 | |
beacon | 0:15a8480061e8 | 37 | private: |
beacon | 0:15a8480061e8 | 38 | |
beacon | 0:15a8480061e8 | 39 | Timer pulsetime; |
beacon | 0:15a8480061e8 | 40 | DigitalOut trigger; |
beacon | 0:15a8480061e8 | 41 | InterruptIn echo; |
beacon | 0:15a8480061e8 | 42 | unsigned int pulsedur; |
beacon | 0:15a8480061e8 | 43 | unsigned int distance; |
beacon | 0:15a8480061e8 | 44 | }; |
beacon | 0:15a8480061e8 | 45 | |
beacon | 0:15a8480061e8 | 46 | #endif |
beacon | 0:15a8480061e8 | 47 |