Programma rilevamento ostacoli

Dependents:   Motor2FULL_copy

Fork of HCSR04 by Prabhu Desai

Committer:
Ghilardi
Date:
Thu Mar 16 13:50:35 2017 +0000
Revision:
8:276d618e4e14
Parent:
7:71da0dbf4400
programma rilevamento ostacoli

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ghilardi 8:276d618e4e14 1
prabhuvd 0:fb0929f37ebe 2
prabhuvd 0:fb0929f37ebe 3 #ifndef MBED_HCSR04_H
prabhuvd 0:fb0929f37ebe 4 #define MBED_HCSR04_H
prabhuvd 0:fb0929f37ebe 5
prabhuvd 0:fb0929f37ebe 6 #include "mbed.h"
prabhuvd 0:fb0929f37ebe 7
prabhuvd 7:71da0dbf4400 8 /** HCSR04 Class(es)
prabhuvd 0:fb0929f37ebe 9 */
prabhuvd 0:fb0929f37ebe 10
prabhuvd 6:4be4fcd0c171 11 class HCSR04
prabhuvd 0:fb0929f37ebe 12 {
prabhuvd 0:fb0929f37ebe 13 public:
prabhuvd 6:4be4fcd0c171 14 /** Create a HCSR04 object connected to the specified pin
prabhuvd 0:fb0929f37ebe 15 * @param pin i/o pin to connect to
prabhuvd 0:fb0929f37ebe 16 */
prabhuvd 6:4be4fcd0c171 17 HCSR04(PinName TrigPin,PinName EchoPin);
prabhuvd 6:4be4fcd0c171 18 ~HCSR04();
prabhuvd 0:fb0929f37ebe 19
prabhuvd 0:fb0929f37ebe 20 /** Return the distance from obstacle in cm
prabhuvd 0:fb0929f37ebe 21 * @param distance in cms and returns -1, in case of failure
prabhuvd 0:fb0929f37ebe 22 */
prabhuvd 2:0acb6ade091c 23 unsigned int get_dist_cm(void);
prabhuvd 4:33938a97d904 24 /** Return the pulse duration equal to sonic waves travelling to obstacle and back to receiver.
prabhuvd 7:71da0dbf4400 25 * @param pulse duration in microseconds.
prabhuvd 7:71da0dbf4400 26 */
prabhuvd 2:0acb6ade091c 27 unsigned int get_pulse_us(void);
prabhuvd 4:33938a97d904 28 /** Generates the trigger pulse of 10us on the trigger PIN.
prabhuvd 7:71da0dbf4400 29 */
prabhuvd 3:e6795cb9439c 30 void start(void );
prabhuvd 0:fb0929f37ebe 31 void isr_rise(void);
prabhuvd 0:fb0929f37ebe 32 void isr_fall(void);
prabhuvd 0:fb0929f37ebe 33 void fall (void (*fptr)(void));
prabhuvd 0:fb0929f37ebe 34 void rise (void (*fptr)(void));
prabhuvd 4:33938a97d904 35
prabhuvd 0:fb0929f37ebe 36
prabhuvd 0:fb0929f37ebe 37
prabhuvd 0:fb0929f37ebe 38 private:
prabhuvd 0:fb0929f37ebe 39
prabhuvd 0:fb0929f37ebe 40 Timer pulsetime;
prabhuvd 0:fb0929f37ebe 41 DigitalOut trigger;
prabhuvd 0:fb0929f37ebe 42 InterruptIn echo;
prabhuvd 0:fb0929f37ebe 43 unsigned int pulsedur;
prabhuvd 4:33938a97d904 44 unsigned int distance;
prabhuvd 0:fb0929f37ebe 45 };
prabhuvd 0:fb0929f37ebe 46
prabhuvd 0:fb0929f37ebe 47 #endif