Slightly revised version of the SRF02 library created by Craig A. Evans
Fork of SRF02 by
Diff: SRF02.h
- Revision:
- 0:b729d2ce03bd
- Child:
- 1:8e6587d88773
diff -r 000000000000 -r b729d2ce03bd SRF02.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SRF02.h Sun Mar 08 14:15:29 2015 +0000 @@ -0,0 +1,73 @@ +/** +@file SRF02.h + +@brief Header file containing member functions and variables + +*/ + +#ifndef SRF02_H +#define SRF02_H + +// addresses +#define SRF02_R_ADD 0xE1 +#define SRF02_W_ADD 0xE0 + +// registers +#define CMD_REG 0x00 +#define RANGE_H_REG 0x02 +#define RANGE_L_REG 0x03 + +// commands +#define INCH_CMD 0x50 +#define CM_CMD 0x51 +#define US_CMD 0x52 + +#include "mbed.h" + +/** +@brief Library for interfacing with SRF02 Ultrasonic Sensor in I2C +@see http://www.robot-electronics.co.uk/htm/srf02tech.htm + +@brief Revision 1.0 + +@author Craig A. Evans +@date March 2014 + * + * Example: + * @code + + #include "mbed.h" + #include "SRF02.h" + + int main() { + + while(1) { + + // read sensor distance in cm and print over serial port + int distance = sensor.getDistanceCm(); + serial.printf("Distance = %d cm\n",distance); + // short delay before next measurement + wait(0.5); + + } +} + * @endcode + */ + +class SRF02 +{ +public: + + SRF02(PinName sdaPin, PinName sclPin); + int getDistanceCm(); + +private: + void error(); + + +private: // private variables + I2C* i2c; + BusOut* leds; +}; + +#endif \ No newline at end of file